├── tools ├── android-build.sh ├── OWNERS ├── perf_tests │ └── chromium_revision ├── turbolizer │ ├── OWNERS │ ├── search.png │ ├── search2.png │ ├── types.png │ ├── expand-all.jpg │ ├── layout-icon.png │ ├── left-arrow.png │ ├── right-arrow.png │ ├── upload-icon.png │ ├── hide-selected.png │ └── hide-unselected.png ├── jsfunfuzz │ └── jsfunfuzz.tar.gz.sha1 ├── luci-go │ ├── mac64 │ │ └── isolate.sha1 │ ├── linux64 │ │ └── isolate.sha1 │ └── win64 │ │ └── isolate.exe.sha1 ├── gcmole │ └── gcmole-tools.tar.gz.sha1 ├── cfi │ └── blacklist.txt ├── DEPS ├── blink_tests │ └── TestExpectations ├── mac-tick-processor ├── sanitizers │ └── tsan_suppressions.txt ├── freebsd-tick-processor └── whitespace.txt ├── test ├── fuzzer │ ├── regexp │ │ ├── test00 │ │ ├── test03 │ │ ├── test05 │ │ ├── test13 │ │ ├── test15 │ │ ├── test17 │ │ ├── test20 │ │ ├── test01 │ │ ├── test04 │ │ ├── test06 │ │ ├── test07 │ │ ├── test09 │ │ ├── test11 │ │ ├── test14 │ │ ├── test16 │ │ ├── test18 │ │ ├── test19 │ │ ├── test21 │ │ ├── test22 │ │ ├── test24 │ │ ├── test02 │ │ ├── test08 │ │ ├── test23 │ │ ├── test12 │ │ └── test10 │ ├── json │ │ ├── json │ │ └── not-json │ ├── DEPS │ ├── parser │ │ └── hello-world │ ├── wasm │ │ └── foo.wasm │ ├── wasm_asmjs │ │ └── foo.wasm │ └── fuzzer.status ├── message │ ├── nonstrict-eval.out │ ├── nonstrict-with.out │ ├── nonstrict-arguments.out │ ├── strict-octal-regexp.out │ ├── non-use-strict-hex-escape.out │ ├── non-use-strict-uhex-escape.out │ ├── non-use-strict-octal-escape.out │ ├── strict-octal-indirect-regexp.out │ ├── generators-throw1.out │ ├── generators-throw2.out │ ├── invalid-spread.out │ ├── arrow-bare-rest-param.out │ ├── invalid-spread-2.out │ ├── isvar.out │ ├── arrow-missing.out │ ├── nf-yield-in-generator.out │ ├── nfe-yield-generator.out │ ├── destructuring-modify-const.out │ ├── try-catch-lexical-conflict.out │ ├── try-catch-variable-conflict.out │ ├── formal-parameters-trailing-comma.out │ ├── arrow-param-after-rest.out │ ├── arrow-strict-eval-bare-parameter.out │ ├── let-lexical-name-prohibited.out │ ├── strict-with.out │ ├── nf-yield-strict-in-generator.out │ ├── nf-yield-strict.out │ ├── arrow-param-after-rest-2.out │ ├── arrow-two-rest-params.out │ ├── nfe-yield-strict.out │ ├── strict-octal-number.out │ ├── syntactic-tail-call-in-try.out │ ├── default-parameter-tdz-arrow.out │ ├── let-lexical-name-in-array-prohibited.out │ ├── let-lexical-name-in-object-prohibited.out │ ├── strict-octal-use-strict-after.out │ ├── strict-octal-use-strict-before.out │ ├── arrow-formal-parameters.out │ ├── default-parameter-tdz.out │ ├── new-target-assignment.out │ ├── new-target-for-loop.out │ ├── strict-octal-string.out │ ├── syntactic-tail-call-in-for-in.out │ ├── syntactic-tail-call-in-for-of.out │ ├── syntactic-tail-call-of-identifier.out │ ├── syntactic-tail-call-of-new.out │ ├── instanceof-noncallable.out │ ├── instanceof-nonobject.out │ ├── invalid-spread.js │ ├── new-target-escaped.out │ ├── arrow-formal-parameters.js │ ├── formal-parameters-bad-rest.out │ ├── invalid-spread-2.js │ ├── nfe-yield-generator.js │ ├── syntactic-tail-call-in-binop-lhs.out │ ├── syntactic-tail-call-in-binop-rhs.out │ ├── syntactic-tail-call-in-subclass.out │ ├── syntactic-tail-call-in-try-try-catch-finally.out │ ├── syntactic-tail-call-without-return.out │ ├── unicode-escape-invalid-2.js │ ├── unicode-escape-invalid.js │ ├── yield-in-generator-param.out │ ├── arrow-bare-rest-param.js │ ├── const-decl-no-init.js │ ├── for-loop-invalid-lhs.out │ ├── syntactic-tail-call-in-logical-and.out │ ├── syntactic-tail-call-in-logical-or.out │ ├── unicode-escape-undefined.js │ ├── arrow-param-after-rest.js │ ├── function-sent-escaped.out │ ├── let-lexical-name-prohibited.js │ ├── new-target-assignment.js │ ├── new-target-postfix-op.js │ ├── new-target-prefix-op.js │ ├── nf-yield-strict.js │ ├── nfe-yield-strict.js │ ├── syntactic-tail-call-inside-member-expr.out │ ├── syntactic-tail-call-of-eval.out │ ├── yield-in-arrow-param.out │ ├── yield-in-generator-param.js │ ├── arrow-invalid-rest.out │ ├── arrow-missing.js │ ├── arrow-param-after-rest-2.js │ ├── arrow-two-rest-params.js │ ├── const-decl-no-init2.js │ ├── default-parameter-tdz.js │ ├── for-of-throw-in-body.js │ ├── formal-parameters-strict-body.out │ ├── syntactic-tail-call-in-comma.out │ ├── yield-in-arrow-param.js │ ├── arrow-strict-eval-bare-parameter.js │ ├── default-parameter-tdz-arrow.js │ ├── destructuring-decl-no-init-array.js │ ├── destructuring-decl-no-init-obj.js │ ├── import-eval.js │ ├── let-lexical-name-in-array-prohibited.js │ ├── let-lexical-name-in-object-prohibited.js │ ├── new-target-for-loop.js │ ├── new-target-prefix-op.out │ ├── strict-formal-parameters.out │ ├── syntactic-tail-call-in-extends.out │ ├── syntactic-tail-call-sloppy.out │ ├── arrow-invalid-rest-2.out │ ├── formal-parameters-trailing-comma.js │ ├── new-target-postfix-op.out │ ├── regress │ │ ├── regress-4829-1.js │ │ ├── regress-4829-2.js │ │ ├── regress-3995.js │ │ ├── regress-4266.js │ │ ├── regress-3995.out │ │ ├── regress-4829-1.out │ │ ├── regress-4829-2.out │ │ └── regress-4266.out │ ├── rest-param-class-setter-strict.out │ ├── destructuring-decl-no-init-array2.js │ ├── import-as-eval.js │ ├── import-reserved-word.js │ ├── nf-yield-in-generator.js │ ├── rest-param-object-setter-sloppy.out │ ├── rest-param-object-setter-strict.out │ ├── formal-parameters-bad-rest.js │ ├── formal-parameters-strict-body.js │ ├── arrow-invalid-rest.js │ ├── import-as-reserved-word.js │ ├── strict-formal-parameters.js │ ├── arrow-invalid-rest-2.js │ ├── destructuring-decl-no-init-obj2.js │ ├── for-in-loop-initializers-destructuring.out │ ├── import-redeclaration.js │ ├── super-in-function.js │ ├── export-duplicate.js │ ├── import-as-redeclaration.js │ ├── nf-yield-strict-in-generator.js │ ├── try-catch-variable-conflict.js │ ├── unterminated-arg-list.js │ ├── class-constructor-accessor.js │ ├── class-constructor-generator.js │ ├── export-duplicate-as.js │ ├── export-duplicate-default.js │ ├── for-of-throw-in-body.out │ ├── syntactic-tail-call-in-try-catch-finally.out │ ├── destructuring-modify-const.js │ ├── for-in-loop-initializers-destructuring.js │ ├── generators-throw1.js │ ├── new-target-escaped.js │ ├── try-catch-lexical-conflict.js │ ├── paren_in_arg_string.out │ ├── syntactic-tail-call-sloppy.js │ ├── unterminated-arg-list.out │ ├── export-duplicate.out │ ├── for-of-loop-initializers-sloppy.js │ ├── generators-throw2.js │ ├── syntactic-tail-call-of-eval.js │ ├── super-in-function.out │ ├── export-duplicate-as.out │ ├── for-of-let-loop-initializers.js │ ├── super-constructor.js │ ├── super-constructor.out │ ├── for-in-let-loop-initializers-strict.js │ ├── for-in-loop-initializers-strict.js │ ├── for-of-loop-initializers-strict.js │ ├── import-reserved-word.out │ ├── syntactic-tail-call-of-identifier.js │ ├── const-decl-no-init.out │ ├── function-sent-escaped.js │ ├── unicode-escape-undefined.out │ ├── export-duplicate-default.out │ ├── syntactic-tail-call-in-extends.js │ ├── unicode-escape-invalid-2.out │ ├── unicode-escape-invalid.out │ ├── const-decl-no-init-sloppy.out │ ├── super-constructor-extra-statement.out │ ├── const-decl-no-init2.out │ ├── import-as-reserved-word.out │ ├── rest-param-object-setter-sloppy.js │ ├── super-constructor-extra-statement.js │ ├── import-eval.out │ ├── syntactic-tail-call-of-new.js │ ├── class-constructor-generator.out │ ├── import-redeclaration.out │ ├── class-constructor-accessor.out │ ├── rest-param-object-setter-strict.js │ ├── destructuring-decl-no-init-obj.out │ ├── import-as-eval.out │ ├── destructuring-decl-no-init-array.out │ ├── import-as-redeclaration.out │ ├── message.isolate │ ├── rest-param-class-setter-strict.js │ ├── syntactic-tail-call-in-binop-rhs.js │ └── syntactic-tail-call-without-return.js ├── cctest │ ├── DEPS │ ├── wasm │ │ └── OWNERS │ ├── asmjs │ │ └── OWNERS │ └── cctest_exe.isolate ├── intl │ ├── OWNERS │ ├── regexp-prepare.js │ ├── regress-4870.js │ └── intl.isolate ├── unittests │ ├── DEPS │ ├── wasm │ │ └── OWNERS │ └── compiler │ │ ├── ppc │ │ └── OWNERS │ │ ├── s390 │ │ └── OWNERS │ │ ├── mips │ │ └── OWNERS │ │ └── mips64 │ │ └── OWNERS ├── webkit │ ├── parser-high-byte-character.js │ ├── class-syntax-scoping-expected.txt │ ├── fast │ │ └── js │ │ │ ├── Promise-static-reject-expected.txt │ │ │ ├── Promise-static-resolve-expected.txt │ │ │ ├── Promise-already-rejected-expected.txt │ │ │ ├── Promise-already-resolved-expected.txt │ │ │ ├── Promise-resolve-chain-expected.txt │ │ │ ├── Promise-resolve-expected.txt │ │ │ ├── Promise-then-without-callbacks-expected.txt │ │ │ ├── Promise-init-callback-receiver-expected.txt │ │ │ ├── Promise-onFulfilled-deep-expected.txt │ │ │ ├── Promise-onRejected-deep-expected.txt │ │ │ ├── Promise-simple-expected.txt │ │ │ ├── Promise-exception-expected.txt │ │ │ ├── Promise-resolve-with-then-exception-expected.txt │ │ │ ├── Promise-reject-expected.txt │ │ │ ├── Promise-resolve-with-itself-expected.txt │ │ │ └── Promise-then-callback-receiver-expected.txt │ ├── run-json-stringify.js │ └── webkit.isolate ├── mjsunit │ ├── wasm │ │ ├── OWNERS │ │ ├── embenchen │ │ │ └── README │ │ └── no-wasm-by-default.js │ ├── regress │ │ ├── regress-408036.js │ │ ├── regress-crbug-405491.js │ │ ├── regress-crbug-489597.js-script │ │ ├── regress-crbug-575082.js │ │ ├── regress-crbug-538086.js │ │ ├── regress-smi-scanning.js │ │ ├── regress-v8-4972.js │ │ ├── regress-355485.js │ │ ├── regress-5036.js │ │ ├── regress-crbug-581577.js │ │ ├── regress-crbug-351262.js │ │ ├── regress-crbug-565917.js │ │ ├── get-array-keys-oob.js │ │ ├── regress-crbug-568525.js │ │ ├── regress-crbug-450642.js │ │ ├── regress-404981.js │ │ ├── regress-4654.js │ │ ├── regress-585775.js │ │ ├── regress-crbug-501808.js │ │ ├── regress-crbug-569534.js │ │ ├── regress-crbug-605862.js │ │ ├── regress-4214.js │ │ ├── regress-crbug-410033.js │ │ ├── regress-double-property.js │ │ ├── regress-json-parse-index.js │ │ ├── regress-4908.js │ │ ├── regress-358090.js │ │ ├── regress-444805.js │ │ ├── regress-554865.js │ │ ├── regress-crbug-620253.js │ │ ├── regress-object-assign-deprecated.js │ │ ├── regress-crbug-498811.js │ │ ├── regress-crbug-513472.js │ │ ├── regress-3859.js │ │ ├── regress-4169.js │ │ ├── regress-crbug-465564.js │ │ ├── regress-crbug-487105.js │ │ ├── regress-crbug-493290.js │ │ ├── regress-crbug-504727.js │ │ ├── regress-crbug-561973.js │ │ ├── regress-crbug-582703.js │ │ ├── regress-crbug-613570.js │ │ ├── regress-debug-context-load.js │ │ ├── regress-3294.js │ │ ├── regress-459955.js │ │ ├── regress-552302.js │ │ ├── regress-crbug-478011.js │ │ ├── regress-crbug-510426.js │ │ ├── regress-crbug-595738.js │ │ ├── string-compare-memcmp.js │ │ ├── regress-4450.js │ │ ├── regress-4659.js │ │ ├── regress-5174.js │ │ ├── regress-arguments-slice.js │ │ ├── regress-crbug-484077.js │ │ ├── regress-crbug-492526.js │ │ ├── regress-450895.js │ │ ├── regress-crbug-471702.js │ │ ├── regress-crbug-503698.js │ │ ├── regress-crbug-505778.js │ │ ├── regress-425551.js │ │ ├── regress-crbug-503991.js │ │ ├── regress-crbug-570241.js │ │ ├── regress-crbug-612109.js │ │ ├── regress-freeze-setter.js │ │ ├── regress-347912.js │ │ ├── regress-crbug-504136.js │ │ ├── regress-crbug-522380.js │ │ ├── regress-mask-array-length.js │ │ ├── regress-4945.js │ │ ├── regress-500980.js │ │ ├── regress-crbug-393988.js │ │ ├── regress-crbug-518747.js │ │ ├── regress-507980.js │ │ ├── regress-unsigned-mul-add.js │ │ ├── regress-4279.js │ │ ├── regress-592353.js │ │ ├── regress-crbug-380671.js │ │ ├── regress-recurse-patch-binary-op.js │ │ ├── regress-store-global-proxy.js │ │ ├── regress-347530.js │ │ ├── regress-crbug-513471.js │ │ ├── regress-crbug-571370.js │ │ ├── regress-crbug-572590.js │ │ ├── regress-crbug-600257.js │ │ ├── regress-crbug-609029.js │ │ ├── property-descriptor-to-object.js │ │ ├── regress-416416.js │ │ ├── regress-4376-2.js │ │ ├── regress-4967.js │ │ ├── regress-509961.js │ │ ├── regress-crbug-625590.js │ │ ├── regress-dictionary-to-fast-arguments.js │ │ ├── regress-migrate-callbacks.js │ │ ├── regress-crbug-451016.js │ │ ├── regress-crbug-480819.js │ │ ├── regress-crbug-617527.js │ │ ├── regress-object-assign-deprecated-2.js │ │ ├── regress-347542.js │ │ ├── regress-357054.js │ │ ├── regress-361025.js │ │ ├── regress-472504.js │ │ ├── regress-crbug-380512.js │ │ ├── regress-crbug-455644.js │ │ ├── regress-crbug-542101.js │ │ ├── regress-crbug-599073-3.js │ │ ├── regress-crbug-599073-4.js │ │ ├── regress-444805.js-script │ │ ├── regress-500173.js │ │ ├── regress-5178.js │ │ ├── regress-605488.js │ │ ├── regress-crbug-357137.js │ │ ├── regress-crbug-423687.js │ │ ├── regress-crbug-493779.js │ │ ├── regress-crbug-545364.js │ │ ├── regress-weakening-multiplication.js │ │ ├── regress-5181.js │ │ ├── regress-572589.js │ │ ├── regress-599089-array-push.js │ │ ├── regress-crbug-412210.js │ │ ├── regress-crbug-522496.js │ │ ├── regress-crbug-599073-1.js │ │ ├── regress-crbug-599073-2.js │ │ ├── regress-347904.js │ │ ├── regress-409533.js │ │ ├── regress-435073.js │ │ ├── regress-4376-3.js │ │ ├── regress-5010.js │ │ ├── regress-crbug-387636.js │ │ ├── regress-crbug-504787.js │ │ ├── regress-crbug-595657.js │ │ ├── regress-crbug-604299.js │ │ ├── regress-499790.js │ │ ├── regress-crbug-357052.js │ │ ├── regress-crbug-382513.js │ │ ├── regress-crbug-489597.js │ │ ├── regress-keyed-store-global.js │ │ ├── regress-opt-typeof-null.js │ │ ├── regress-sort-arguments.js │ │ ├── regress-undefined-nan2.js │ │ ├── regress-355486.js │ │ └── regress-583260.js │ ├── es6 │ │ ├── regress │ │ │ ├── regress-517455.js │ │ │ ├── regress-513474.js │ │ │ ├── regress-cr512574.js │ │ │ ├── regress-4298.js │ │ │ ├── regress-arrow-duplicate-params.js │ │ │ ├── regress-3426.js │ │ │ ├── regress-4400.js │ │ │ ├── regress-crbug-346141.js │ │ │ ├── regress-4395-global-eval.js │ │ │ ├── regress-3501.js │ │ │ ├── regress-4056.js │ │ │ ├── regress-3938.js │ │ │ ├── regress-4482.js │ │ │ └── regress-347906.js │ │ └── unicode-regexp-unanchored-advance.js │ ├── harmony │ │ ├── modules.js │ │ ├── regress │ │ │ ├── regress-crbug-621111.js │ │ │ ├── regress-crbug-621496.js │ │ │ ├── regress-624300.js │ │ │ └── regress-typedarray-out-of-bounds.js │ │ └── regexp-change-exec.js │ ├── object-freeze-global.js │ ├── regress-604044.js │ ├── readonly-accessor.js │ ├── lookup-behind-property.js │ ├── compiler │ │ ├── regress-463056.js │ │ ├── regress-416359.js │ │ ├── regress-445907.js │ │ ├── regress-451012.js │ │ ├── regress-572409.js │ │ ├── regress-445732.js │ │ ├── regress-628516.js │ │ ├── regress-445876.js │ │ ├── regress-468162.js │ │ ├── inline-dead-jscreate.js │ │ ├── regress-446647.js │ │ └── regress-447567.js │ ├── regress-4399.js │ ├── deserialize-reference.js │ ├── ignition │ │ └── dead-code-source-position.js │ ├── object-seal-global.js │ ├── regress-crbug-619476.js │ ├── this-dynamic-lookup.js │ ├── neuter-twice.js │ ├── call-intrinsic-type-error.js │ ├── parse-surrogates.js │ ├── unused-context-in-with.js │ ├── tools │ │ └── tickprocessor-test.only-summary │ ├── string-oom-concat.js │ ├── serialize-embedded-error.js │ └── regress-crbug-528379.js ├── test262 │ └── detachArrayBuffer.js └── simdjs │ └── simdjs.isolate ├── gypfiles ├── OWNERS └── README.txt ├── src ├── arm │ └── OWNERS ├── arm64 │ └── OWNERS ├── base │ ├── OWNERS │ └── DEPS ├── x87 │ ├── OWNERS │ └── simulator-x87.cc ├── debug │ ├── arm │ │ └── OWNERS │ ├── arm64 │ │ └── OWNERS │ ├── x87 │ │ └── OWNERS │ ├── OWNERS │ ├── ppc │ │ └── OWNERS │ ├── s390 │ │ └── OWNERS │ ├── mips │ │ └── OWNERS │ └── mips64 │ │ └── OWNERS ├── ic │ ├── x87 │ │ └── OWNERS │ ├── ppc │ │ └── OWNERS │ ├── s390 │ │ └── OWNERS │ ├── OWNERS │ ├── mips │ │ └── OWNERS │ └── mips64 │ │ └── OWNERS ├── libplatform │ ├── OWNERS │ └── DEPS ├── regexp │ ├── arm │ │ └── OWNERS │ ├── x87 │ │ └── OWNERS │ ├── arm64 │ │ └── OWNERS │ ├── OWNERS │ ├── ppc │ │ └── OWNERS │ ├── s390 │ │ └── OWNERS │ ├── mips │ │ └── OWNERS │ └── mips64 │ │ └── OWNERS ├── builtins │ ├── x87 │ │ └── OWNERS │ ├── ppc │ │ └── OWNERS │ ├── s390 │ │ └── OWNERS │ ├── mips │ │ └── OWNERS │ └── mips64 │ │ └── OWNERS ├── crankshaft │ ├── arm │ │ └── OWNERS │ ├── arm64 │ │ └── OWNERS │ ├── x87 │ │ └── OWNERS │ ├── OWNERS │ ├── ppc │ │ └── OWNERS │ ├── s390 │ │ └── OWNERS │ ├── mips │ │ └── OWNERS │ └── mips64 │ │ └── OWNERS ├── full-codegen │ ├── x87 │ │ └── OWNERS │ ├── ppc │ │ └── OWNERS │ ├── s390 │ │ └── OWNERS │ ├── mips │ │ └── OWNERS │ ├── mips64 │ │ └── OWNERS │ └── OWNERS ├── compiler │ ├── x87 │ │ └── OWNERS │ ├── ppc │ │ └── OWNERS │ ├── s390 │ │ └── OWNERS │ ├── OWNERS │ ├── mips │ │ └── OWNERS │ └── mips64 │ │ └── OWNERS ├── third_party │ └── vtune │ │ └── DEPS ├── libsampler │ └── DEPS ├── snapshot │ ├── OWNERS │ └── DEPS ├── interpreter │ └── OWNERS ├── ppc │ └── OWNERS ├── heap │ └── OWNERS ├── s390 │ └── OWNERS ├── wasm │ └── OWNERS ├── parsing │ └── OWNERS ├── ast │ └── OWNERS ├── OWNERS ├── mips │ └── OWNERS ├── mips64 │ └── OWNERS ├── x64 │ └── simulator-x64.cc ├── asmjs │ └── OWNERS ├── js │ └── OWNERS ├── ia32 │ └── simulator-ia32.cc └── d8-windows.cc ├── infra ├── config │ └── OWNERS ├── README.md └── OWNERS ├── include └── OWNERS ├── benchmarks ├── v8-logo.png ├── spinning-balls │ └── index.html └── v8.json ├── third_party └── binutils │ ├── Linux_ia32 │ └── binutils.tar.bz2.sha1 │ └── Linux_x64 │ └── binutils.tar.bz2.sha1 ├── docs └── README.md ├── .clang-format ├── LICENSE.fdlibm └── codereview.settings /tools/android-build.sh: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test00: -------------------------------------------------------------------------------- 1 | a* 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test03: -------------------------------------------------------------------------------- 1 | [^] 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test05: -------------------------------------------------------------------------------- 1 | \c1 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test13: -------------------------------------------------------------------------------- 1 | ^a 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test15: -------------------------------------------------------------------------------- 1 | a\d 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test17: -------------------------------------------------------------------------------- 1 | \0 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test20: -------------------------------------------------------------------------------- 1 | | 2 | -------------------------------------------------------------------------------- /test/message/nonstrict-eval.out: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/message/nonstrict-with.out: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fuzzer/json/json: -------------------------------------------------------------------------------- 1 | {"json": 1} 2 | -------------------------------------------------------------------------------- /test/fuzzer/json/not-json: -------------------------------------------------------------------------------- 1 | not json 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test01: -------------------------------------------------------------------------------- 1 | xyz{93}? 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test04: -------------------------------------------------------------------------------- 1 | [\d] 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test06: -------------------------------------------------------------------------------- 1 | [a\]c] 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test07: -------------------------------------------------------------------------------- 1 | \00011 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test09: -------------------------------------------------------------------------------- 1 | (?=a)?a 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test11: -------------------------------------------------------------------------------- 1 | \x34 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test14: -------------------------------------------------------------------------------- 1 | a{1,1}? 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test16: -------------------------------------------------------------------------------- 1 | a[\q] 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test18: -------------------------------------------------------------------------------- 1 | a{1z} 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test19: -------------------------------------------------------------------------------- 1 | {12z} 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test21: -------------------------------------------------------------------------------- 1 | (?:ab)* 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test22: -------------------------------------------------------------------------------- 1 | (?:a*)? 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test24: -------------------------------------------------------------------------------- 1 | a\Bc 2 | -------------------------------------------------------------------------------- /test/message/nonstrict-arguments.out: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/message/strict-octal-regexp.out: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gypfiles/OWNERS: -------------------------------------------------------------------------------- 1 | machenbach@chromium.org 2 | -------------------------------------------------------------------------------- /src/arm/OWNERS: -------------------------------------------------------------------------------- 1 | rmcilroy@chromium.org 2 | -------------------------------------------------------------------------------- /src/arm64/OWNERS: -------------------------------------------------------------------------------- 1 | rmcilroy@chromium.org 2 | -------------------------------------------------------------------------------- /src/base/OWNERS: -------------------------------------------------------------------------------- 1 | jochen@chromium.org 2 | -------------------------------------------------------------------------------- /src/x87/OWNERS: -------------------------------------------------------------------------------- 1 | weiliang.lin@intel.com 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test02: -------------------------------------------------------------------------------- 1 | (foo|bar|baz) 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test08: -------------------------------------------------------------------------------- 1 | (x)(x)(x)\2* 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test23: -------------------------------------------------------------------------------- 1 | (?:a+){0} 2 | -------------------------------------------------------------------------------- /test/message/non-use-strict-hex-escape.out: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/message/non-use-strict-uhex-escape.out: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/OWNERS: -------------------------------------------------------------------------------- 1 | machenbach@chromium.org 2 | -------------------------------------------------------------------------------- /infra/config/OWNERS: -------------------------------------------------------------------------------- 1 | sergiyb@chromium.org 2 | -------------------------------------------------------------------------------- /src/debug/arm/OWNERS: -------------------------------------------------------------------------------- 1 | rmcilroy@chromium.org 2 | -------------------------------------------------------------------------------- /src/debug/arm64/OWNERS: -------------------------------------------------------------------------------- 1 | rmcilroy@chromium.org 2 | -------------------------------------------------------------------------------- /src/debug/x87/OWNERS: -------------------------------------------------------------------------------- 1 | weiliang.lin@intel.com 2 | -------------------------------------------------------------------------------- /src/ic/x87/OWNERS: -------------------------------------------------------------------------------- 1 | weiliang.lin@intel.com 2 | -------------------------------------------------------------------------------- /src/libplatform/OWNERS: -------------------------------------------------------------------------------- 1 | jochen@chromium.org 2 | -------------------------------------------------------------------------------- /src/regexp/arm/OWNERS: -------------------------------------------------------------------------------- 1 | rmcilroy@chromium.org 2 | -------------------------------------------------------------------------------- /src/regexp/x87/OWNERS: -------------------------------------------------------------------------------- 1 | weiliang.lin@intel.com 2 | -------------------------------------------------------------------------------- /test/message/non-use-strict-octal-escape.out: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/message/strict-octal-indirect-regexp.out: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/perf_tests/chromium_revision: -------------------------------------------------------------------------------- 1 | 210122 2 | -------------------------------------------------------------------------------- /tools/turbolizer/OWNERS: -------------------------------------------------------------------------------- 1 | danno@chromium.org 2 | -------------------------------------------------------------------------------- /src/builtins/x87/OWNERS: -------------------------------------------------------------------------------- 1 | weiliang.lin@intel.com 2 | -------------------------------------------------------------------------------- /src/crankshaft/arm/OWNERS: -------------------------------------------------------------------------------- 1 | rmcilroy@chromium.org 2 | -------------------------------------------------------------------------------- /src/crankshaft/arm64/OWNERS: -------------------------------------------------------------------------------- 1 | rmcilroy@chromium.org 2 | -------------------------------------------------------------------------------- /src/crankshaft/x87/OWNERS: -------------------------------------------------------------------------------- 1 | weiliang.lin@intel.com 2 | -------------------------------------------------------------------------------- /src/regexp/arm64/OWNERS: -------------------------------------------------------------------------------- 1 | rmcilroy@chromium.org 2 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test12: -------------------------------------------------------------------------------- 1 | \u{12345}|\u{23456} 2 | -------------------------------------------------------------------------------- /src/full-codegen/x87/OWNERS: -------------------------------------------------------------------------------- 1 | weiliang.lin@intel.com 2 | -------------------------------------------------------------------------------- /test/cctest/DEPS: -------------------------------------------------------------------------------- 1 | include_rules = [ 2 | "+src", 3 | ] 4 | -------------------------------------------------------------------------------- /test/fuzzer/DEPS: -------------------------------------------------------------------------------- 1 | include_rules = [ 2 | "+src", 3 | ] 4 | -------------------------------------------------------------------------------- /test/fuzzer/regexp/test10: -------------------------------------------------------------------------------- 1 | \1\2(a(?<=\1(b\1\2))\2)\1 2 | -------------------------------------------------------------------------------- /include/OWNERS: -------------------------------------------------------------------------------- 1 | danno@chromium.org 2 | jochen@chromium.org 3 | -------------------------------------------------------------------------------- /test/fuzzer/parser/hello-world: -------------------------------------------------------------------------------- 1 | console.log('hello world'); 2 | -------------------------------------------------------------------------------- /test/intl/OWNERS: -------------------------------------------------------------------------------- 1 | cira@chromium.org 2 | mnita@google.com 3 | -------------------------------------------------------------------------------- /infra/README.md: -------------------------------------------------------------------------------- 1 | This directory contains infra-specific files. 2 | -------------------------------------------------------------------------------- /test/fuzzer/wasm/foo.wasm: -------------------------------------------------------------------------------- 1 | & * main -------------------------------------------------------------------------------- /src/compiler/x87/OWNERS: -------------------------------------------------------------------------------- 1 | weiliang.lin@intel.com 2 | chunyang.dai@intel.com 3 | -------------------------------------------------------------------------------- /test/fuzzer/wasm_asmjs/foo.wasm: -------------------------------------------------------------------------------- 1 | & * main -------------------------------------------------------------------------------- /test/unittests/DEPS: -------------------------------------------------------------------------------- 1 | include_rules = [ 2 | "+src", 3 | "+testing" 4 | ] 5 | -------------------------------------------------------------------------------- /tools/jsfunfuzz/jsfunfuzz.tar.gz.sha1: -------------------------------------------------------------------------------- 1 | d92e66273ea2a0da89456a977edd0224a8e837e9 -------------------------------------------------------------------------------- /tools/luci-go/mac64/isolate.sha1: -------------------------------------------------------------------------------- 1 | 4678a9332ef5a7b90b184763afee1c100981f710 2 | -------------------------------------------------------------------------------- /src/third_party/vtune/DEPS: -------------------------------------------------------------------------------- 1 | include_rules = [ 2 | "+../../../include", 3 | ] 4 | -------------------------------------------------------------------------------- /tools/gcmole/gcmole-tools.tar.gz.sha1: -------------------------------------------------------------------------------- 1 | b10748117f8f53d05dda0a77424b8794e645e330 2 | -------------------------------------------------------------------------------- /tools/luci-go/linux64/isolate.sha1: -------------------------------------------------------------------------------- 1 | cf7c1fac12790056ac393774827a5720c7590bac 2 | -------------------------------------------------------------------------------- /tools/luci-go/win64/isolate.exe.sha1: -------------------------------------------------------------------------------- 1 | 98457ff4fc79d05661fea53d2b3aff70fac90022 2 | -------------------------------------------------------------------------------- /infra/OWNERS: -------------------------------------------------------------------------------- 1 | machenbach@chromium.org 2 | sergiyb@chromium.org 3 | tandrii@chromium.org 4 | -------------------------------------------------------------------------------- /benchmarks/v8-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/benchmarks/v8-logo.png -------------------------------------------------------------------------------- /third_party/binutils/Linux_ia32/binutils.tar.bz2.sha1: -------------------------------------------------------------------------------- 1 | 24f937cfdad77bdcd6ad8cacc542d806f3eb4b0f 2 | -------------------------------------------------------------------------------- /third_party/binutils/Linux_x64/binutils.tar.bz2.sha1: -------------------------------------------------------------------------------- 1 | d9064388bed0e7225b1366d80b59289b1509d7c2 2 | -------------------------------------------------------------------------------- /test/message/generators-throw1.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: 42 2 | function* f() { yield } 3 | ^ 4 | -------------------------------------------------------------------------------- /test/message/generators-throw2.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: 42 2 | function* f() { yield } 3 | ^ 4 | -------------------------------------------------------------------------------- /tools/turbolizer/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/tools/turbolizer/search.png -------------------------------------------------------------------------------- /tools/turbolizer/search2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/tools/turbolizer/search2.png -------------------------------------------------------------------------------- /tools/turbolizer/types.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/tools/turbolizer/types.png -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | The documentation for V8 can be found at the 2 | [V8 Wiki](https://github.com/v8/v8/wiki). 3 | -------------------------------------------------------------------------------- /src/libsampler/DEPS: -------------------------------------------------------------------------------- 1 | include_rules = [ 2 | "+include", 3 | "-src", 4 | "+src/base", 5 | "+src/libsampler", 6 | ] -------------------------------------------------------------------------------- /tools/turbolizer/expand-all.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/tools/turbolizer/expand-all.jpg -------------------------------------------------------------------------------- /tools/turbolizer/layout-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/tools/turbolizer/layout-icon.png -------------------------------------------------------------------------------- /tools/turbolizer/left-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/tools/turbolizer/left-arrow.png -------------------------------------------------------------------------------- /tools/turbolizer/right-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/tools/turbolizer/right-arrow.png -------------------------------------------------------------------------------- /tools/turbolizer/upload-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/tools/turbolizer/upload-icon.png -------------------------------------------------------------------------------- /src/snapshot/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | verwaest@chromium.org 4 | vogelheim@chromium.org 5 | yangguo@chromium.org 6 | -------------------------------------------------------------------------------- /tools/turbolizer/hide-selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/tools/turbolizer/hide-selected.png -------------------------------------------------------------------------------- /tools/turbolizer/hide-unselected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/tools/turbolizer/hide-unselected.png -------------------------------------------------------------------------------- /src/regexp/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | jochen@chromium.org 4 | marja@chromium.org 5 | ulan@chromium.org 6 | yangguo@chromium.org 7 | -------------------------------------------------------------------------------- /src/snapshot/DEPS: -------------------------------------------------------------------------------- 1 | specific_include_rules = { 2 | "mksnapshot\.cc": [ 3 | "+include/libplatform/libplatform.h", 4 | ], 5 | } 6 | -------------------------------------------------------------------------------- /test/webkit/parser-high-byte-character.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/functions/v8-1/master/test/webkit/parser-high-byte-character.js -------------------------------------------------------------------------------- /src/interpreter/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | bmeurer@chromium.org 4 | mstarzinger@chromium.org 5 | oth@chromium.org 6 | rmcilroy@chromium.org 7 | -------------------------------------------------------------------------------- /src/base/DEPS: -------------------------------------------------------------------------------- 1 | include_rules = [ 2 | "-include", 3 | "+include/v8config.h", 4 | "+include/v8stdint.h", 5 | "-src", 6 | "+src/base", 7 | ] 8 | -------------------------------------------------------------------------------- /test/cctest/wasm/OWNERS: -------------------------------------------------------------------------------- 1 | ahaas@chromium.org 2 | bradnelson@chromium.org 3 | mtrofin@chromium.org 4 | rossberg@chromium.org 5 | titzer@chromium.org 6 | -------------------------------------------------------------------------------- /test/message/invalid-spread.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: Unexpected token ... 2 | (x, ...y) 3 | ^^^ 4 | SyntaxError: Unexpected token ... 5 | -------------------------------------------------------------------------------- /test/mjsunit/wasm/OWNERS: -------------------------------------------------------------------------------- 1 | ahaas@chromium.org 2 | bradnelson@chromium.org 3 | mtrofin@chromium.org 4 | rossberg@chromium.org 5 | titzer@chromium.org 6 | -------------------------------------------------------------------------------- /test/unittests/wasm/OWNERS: -------------------------------------------------------------------------------- 1 | ahaas@chromium.org 2 | bradnelson@chromium.org 3 | mtrofin@chromium.org 4 | rossberg@chromium.org 5 | titzer@chromium.org 6 | -------------------------------------------------------------------------------- /src/ppc/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /test/message/arrow-bare-rest-param.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: Unexpected token ... 2 | ...x => 10 3 | ^^^ 4 | SyntaxError: Unexpected token ... 5 | -------------------------------------------------------------------------------- /test/message/invalid-spread-2.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: Unexpected token ... 2 | (x, ...y, z) 3 | ^^^ 4 | SyntaxError: Unexpected token ... 5 | -------------------------------------------------------------------------------- /test/unittests/compiler/ppc/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | -------------------------------------------------------------------------------- /test/unittests/compiler/s390/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | -------------------------------------------------------------------------------- /tools/cfi/blacklist.txt: -------------------------------------------------------------------------------- 1 | # All std:: types 2 | # This should be possible to remove, if/when we build against 3 | # a statically linked libc++. 4 | type:std::* -------------------------------------------------------------------------------- /src/debug/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | bmeurer@chromium.org 4 | mvstanton@chromium.org 5 | ulan@chromium.org 6 | verwaest@chromium.org 7 | yangguo@chromium.org 8 | -------------------------------------------------------------------------------- /src/heap/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | hpayer@chromium.org 4 | jochen@chromium.org 5 | mlippautz@chromium.org 6 | mstarzinger@chromium.org 7 | ulan@chromium.org 8 | -------------------------------------------------------------------------------- /src/ic/ppc/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/ic/s390/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/s390/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/wasm/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | ahaas@chromium.org 4 | bradnelson@chromium.org 5 | mtrofin@chromium.org 6 | rossberg@chromium.org 7 | titzer@chromium.org 8 | -------------------------------------------------------------------------------- /src/builtins/ppc/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/builtins/s390/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/compiler/ppc/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/compiler/s390/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/crankshaft/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | bmeurer@chromium.org 4 | danno@chromium.org 5 | jarin@chromium.org 6 | jkummerow@chromium.org 7 | verwaest@chromium.org 8 | -------------------------------------------------------------------------------- /src/debug/ppc/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/debug/s390/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/ic/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | bmeurer@chromium.org 4 | ishell@chromium.org 5 | jkummerow@chromium.org 6 | mvstanton@chromium.org 7 | verwaest@chromium.org 8 | -------------------------------------------------------------------------------- /src/parsing/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | adamk@chromium.org 4 | littledan@chromium.org 5 | marja@chromium.org 6 | rossberg@chromium.org 7 | vogelheim@chromium.org 8 | -------------------------------------------------------------------------------- /src/regexp/ppc/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/regexp/s390/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/ast/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | adamk@chromium.org 4 | bmeurer@chromium.org 5 | littledan@chromium.org 6 | mstarzinger@chromium.org 7 | rossberg@chromium.org 8 | 9 | -------------------------------------------------------------------------------- /src/crankshaft/ppc/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/crankshaft/s390/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/full-codegen/ppc/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /src/full-codegen/s390/OWNERS: -------------------------------------------------------------------------------- 1 | jyan@ca.ibm.com 2 | dstence@us.ibm.com 3 | joransiu@ca.ibm.com 4 | mbrandy@us.ibm.com 5 | michael_dawson@ca.ibm.com 6 | bjaideep@ca.ibm.com 7 | -------------------------------------------------------------------------------- /test/message/isvar.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:31: SyntaxError: builtin %%IS_VAR: not a variable 2 | %%IS_VAR(x+x); 3 | ^ 4 | SyntaxError: builtin %%IS_VAR: not a variable 5 | -------------------------------------------------------------------------------- /tools/DEPS: -------------------------------------------------------------------------------- 1 | include_rules = [ 2 | "+src", 3 | ] 4 | 5 | # checkdeps.py shouldn't check for includes in these directories: 6 | skip_child_includes = [ 7 | "gcmole", 8 | ] 9 | -------------------------------------------------------------------------------- /test/message/arrow-missing.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: Unexpected token ) 2 | function foo() { return(); } 3 | ^ 4 | SyntaxError: Unexpected token ) 5 | -------------------------------------------------------------------------------- /test/message/nf-yield-in-generator.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:6: SyntaxError: Unexpected identifier 2 | function yield() {} 3 | ^^^^^ 4 | SyntaxError: Unexpected identifier 5 | -------------------------------------------------------------------------------- /test/message/nfe-yield-generator.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: SyntaxError: Unexpected identifier 2 | (function* yield() {}) 3 | ^^^^^ 4 | SyntaxError: Unexpected identifier 5 | -------------------------------------------------------------------------------- /src/OWNERS: -------------------------------------------------------------------------------- 1 | per-file i18n.*=cira@chromium.org 2 | per-file i18n.*=mnita@google.com 3 | per-file typing-asm.*=aseemgarg@chromium.org 4 | per-file typing-asm.*=bradnelson@chromium.org 5 | -------------------------------------------------------------------------------- /src/libplatform/DEPS: -------------------------------------------------------------------------------- 1 | include_rules = [ 2 | "-include", 3 | "+include/libplatform", 4 | "+include/v8-platform.h", 5 | "-src", 6 | "+src/base", 7 | "+src/libplatform", 8 | ] 9 | -------------------------------------------------------------------------------- /test/mjsunit/wasm/embenchen/README: -------------------------------------------------------------------------------- 1 | This directory contains versions of test/mjsunit/asm/embenchen 2 | modified to work with the current state of the asm->wasm 3 | conversion plumbing. 4 | -------------------------------------------------------------------------------- /.clang-format: -------------------------------------------------------------------------------- 1 | # Defines the Google C++ style for automatic reformatting. 2 | # http://clang.llvm.org/docs/ClangFormatStyleOptions.html 3 | BasedOnStyle: Google 4 | MaxEmptyLinesToKeep: 1 5 | -------------------------------------------------------------------------------- /src/compiler/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | bmeurer@chromium.org 4 | epertoso@chromium.org 5 | jarin@chromium.org 6 | mstarzinger@chromium.org 7 | mtrofin@chromium.org 8 | titzer@chromium.org 9 | -------------------------------------------------------------------------------- /src/mips/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/ic/mips/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/ic/mips64/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/mips64/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/builtins/mips/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/compiler/mips/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/debug/mips/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/debug/mips64/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/regexp/mips/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/regexp/mips64/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /test/message/destructuring-modify-const.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:9: TypeError: Assignment to constant variable. 2 | x++; 3 | ^ 4 | TypeError: Assignment to constant variable. 5 | at *%(basename)s:9:2 6 | -------------------------------------------------------------------------------- /test/message/try-catch-lexical-conflict.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:10: SyntaxError: Identifier 'x' has already been declared 2 | let x; 3 | ^ 4 | SyntaxError: Identifier 'x' has already been declared 5 | -------------------------------------------------------------------------------- /test/message/try-catch-variable-conflict.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:9: SyntaxError: Identifier 'x' has already been declared 2 | var x; 3 | ^ 4 | SyntaxError: Identifier 'x' has already been declared 5 | -------------------------------------------------------------------------------- /src/builtins/mips64/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/compiler/mips64/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/crankshaft/mips/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/crankshaft/mips64/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/full-codegen/mips/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /src/full-codegen/mips64/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /test/message/formal-parameters-trailing-comma.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: SyntaxError: Unexpected token ) 2 | function foo(b, a, a,) { return a } 3 | ^ 4 | SyntaxError: Unexpected token ) 5 | -------------------------------------------------------------------------------- /test/message/arrow-param-after-rest.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: Rest parameter must be last formal parameter 2 | (...x, y) => 10 3 | ^ 4 | SyntaxError: Rest parameter must be last formal parameter 5 | -------------------------------------------------------------------------------- /test/message/arrow-strict-eval-bare-parameter.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:6: SyntaxError: Unexpected eval or arguments in strict mode 2 | eval => 42 3 | ^^^^ 4 | SyntaxError: Unexpected eval or arguments in strict mode 5 | -------------------------------------------------------------------------------- /test/message/let-lexical-name-prohibited.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: let is disallowed as a lexically bound name 2 | let let; 3 | ^^^ 4 | SyntaxError: let is disallowed as a lexically bound name 5 | 6 | -------------------------------------------------------------------------------- /test/message/strict-with.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:32: SyntaxError: Strict mode code may not include a with statement 2 | with ({}) {} 3 | ^^^^ 4 | SyntaxError: Strict mode code may not include a with statement 5 | -------------------------------------------------------------------------------- /test/unittests/compiler/mips/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /test/message/nf-yield-strict-in-generator.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: Unexpected strict mode reserved word 2 | function yield() {} 3 | ^^^^^ 4 | SyntaxError: Unexpected strict mode reserved word 5 | -------------------------------------------------------------------------------- /test/message/nf-yield-strict.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: SyntaxError: Unexpected strict mode reserved word 2 | function yield() { "use strict"; } 3 | ^^^^^ 4 | SyntaxError: Unexpected strict mode reserved word 5 | -------------------------------------------------------------------------------- /test/unittests/compiler/mips64/OWNERS: -------------------------------------------------------------------------------- 1 | paul.lind@imgtec.com 2 | gergely.kis@imgtec.com 3 | akos.palfi@imgtec.com 4 | balazs.kilvady@imgtec.com 5 | dusan.milosavljevic@imgtec.com 6 | ivica.bogosavljevic@imgtec.com 7 | -------------------------------------------------------------------------------- /test/fuzzer/fuzzer.status: -------------------------------------------------------------------------------- 1 | # Copyright 2016 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | [ 6 | 7 | ] 8 | -------------------------------------------------------------------------------- /test/message/arrow-param-after-rest-2.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: Rest parameter must be last formal parameter 2 | (w, ...x, y) => 10 3 | ^ 4 | SyntaxError: Rest parameter must be last formal parameter 5 | -------------------------------------------------------------------------------- /test/message/arrow-two-rest-params.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: Rest parameter must be last formal parameter 2 | (w, ...x, ...y) => 10 3 | ^ 4 | SyntaxError: Rest parameter must be last formal parameter 5 | -------------------------------------------------------------------------------- /test/message/nfe-yield-strict.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: SyntaxError: Unexpected strict mode reserved word 2 | (function yield() { "use strict"; }) 3 | ^^^^^ 4 | SyntaxError: Unexpected strict mode reserved word 5 | -------------------------------------------------------------------------------- /test/message/strict-octal-number.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:32: SyntaxError: Octal literals are not allowed in strict mode. 2 | var x = 012; 3 | ^^^ 4 | SyntaxError: Octal literals are not allowed in strict mode. 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-try.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:14: SyntaxError: Tail call expression in try block 2 | return continue f() ; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression in try block 5 | -------------------------------------------------------------------------------- /test/message/default-parameter-tdz-arrow.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: ReferenceError: a is not defined 2 | ((a=-a) => { })(); 3 | ^ 4 | ReferenceError: a is not defined 5 | at *%(basename)s:7:6 6 | at *%(basename)s:7:16 7 | -------------------------------------------------------------------------------- /test/message/let-lexical-name-in-array-prohibited.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: let is disallowed as a lexically bound name 2 | let [let]; 3 | ^^^ 4 | SyntaxError: let is disallowed as a lexically bound name 5 | 6 | -------------------------------------------------------------------------------- /test/message/let-lexical-name-in-object-prohibited.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: let is disallowed as a lexically bound name 2 | let {let}; 3 | ^^^ 4 | SyntaxError: let is disallowed as a lexically bound name 5 | 6 | -------------------------------------------------------------------------------- /test/message/strict-octal-use-strict-after.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:33: SyntaxError: Octal literals are not allowed in strict mode. 2 | "use\040strict"; 3 | ^^ 4 | SyntaxError: Octal literals are not allowed in strict mode. 5 | -------------------------------------------------------------------------------- /test/message/strict-octal-use-strict-before.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:32: SyntaxError: Octal literals are not allowed in strict mode. 2 | "use\040strict"; 3 | ^^ 4 | SyntaxError: Octal literals are not allowed in strict mode. 5 | -------------------------------------------------------------------------------- /tools/blink_tests/TestExpectations: -------------------------------------------------------------------------------- 1 | [ Linux ] virtual/pointerevent/fast/events/mouse-cursor-style-change-iframe.html [ Skip ] 2 | 3 | # Turn off Slimming Paint tests on linux. 4 | [ Linux ] virtual/slimmingpaint/ [ Skip ] 5 | 6 | -------------------------------------------------------------------------------- /test/message/arrow-formal-parameters.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: SyntaxError: Duplicate parameter name not allowed in this context 2 | (b, a, a, d) => a 3 | ^ 4 | SyntaxError: Duplicate parameter name not allowed in this context 5 | -------------------------------------------------------------------------------- /test/message/default-parameter-tdz.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: ReferenceError: a is not defined 2 | (function(a=+a) { })(); 3 | ^ 4 | ReferenceError: a is not defined 5 | at *%(basename)s:7:14 6 | at *%(basename)s:7:21 7 | -------------------------------------------------------------------------------- /test/message/new-target-assignment.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: ReferenceError: Invalid left-hand side in assignment 2 | function f() { new.target = 5 } 3 | ^^^^^^^^^^ 4 | ReferenceError: Invalid left-hand side in assignment 5 | -------------------------------------------------------------------------------- /test/message/new-target-for-loop.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: SyntaxError: Invalid left-hand side in for-loop 2 | function f() { for (new.target in {}); } 3 | ^^^^^^^^^^ 4 | SyntaxError: Invalid left-hand side in for-loop 5 | -------------------------------------------------------------------------------- /test/message/strict-octal-string.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:32: SyntaxError: Octal literals are not allowed in strict mode. 2 | var x = "hello\040world"; 3 | ^^ 4 | SyntaxError: Octal literals are not allowed in strict mode. 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-for-in.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:14: SyntaxError: Tail call expression in for-in/of body 2 | return continue f() ; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression in for-in/of body 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-for-of.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:14: SyntaxError: Tail call expression in for-in/of body 2 | return continue f() ; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression in for-in/of body 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-of-identifier.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:9: SyntaxError: Unexpected expression inside tail call 2 | return continue x ; 3 | ^ 4 | SyntaxError: Unexpected expression inside tail call 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-of-new.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:12: SyntaxError: Unexpected expression inside tail call 2 | return continue new f() ; 3 | ^^^^^^^ 4 | SyntaxError: Unexpected expression inside tail call 5 | -------------------------------------------------------------------------------- /test/message/instanceof-noncallable.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:30: TypeError: Right-hand side of 'instanceof' is not callable 2 | 1 instanceof {}; 3 | ^ 4 | TypeError: Right-hand side of 'instanceof' is not callable 5 | at *%(basename)s:30:3 6 | -------------------------------------------------------------------------------- /test/message/instanceof-nonobject.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:30: TypeError: Right-hand side of 'instanceof' is not an object 2 | 1 instanceof 2; 3 | ^ 4 | TypeError: Right-hand side of 'instanceof' is not an object 5 | at *%(basename)s:30:3 6 | -------------------------------------------------------------------------------- /test/message/invalid-spread.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | (x, ...y) 8 | -------------------------------------------------------------------------------- /test/message/new-target-escaped.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:8: SyntaxError: 'new.target' must not contain escaped characters 2 | return new.t\u0061rget; 3 | ^^^^^^^^^^^^^^^ 4 | SyntaxError: 'new.target' must not contain escaped characters 5 | -------------------------------------------------------------------------------- /tools/mac-tick-processor: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # A wrapper script to call 'linux-tick-processor' with Mac-specific settings. 4 | 5 | tools_path=`cd $(dirname "$0");pwd` 6 | $tools_path/linux-tick-processor --mac --nm=$tools_path/mac-nm $@ 7 | -------------------------------------------------------------------------------- /src/x64/simulator-x64.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2009 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "src/x64/simulator-x64.h" 6 | -------------------------------------------------------------------------------- /test/message/arrow-formal-parameters.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (b, a, a, d) => a 6 | -------------------------------------------------------------------------------- /test/message/formal-parameters-bad-rest.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: Rest parameter must be last formal parameter 2 | function foo(...b, a) { return a } 3 | ^ 4 | SyntaxError: Rest parameter must be last formal parameter 5 | -------------------------------------------------------------------------------- /test/message/invalid-spread-2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | (x, ...y, z) 8 | -------------------------------------------------------------------------------- /test/message/nfe-yield-generator.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (function* yield() {}) 6 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-binop-lhs.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:13: SyntaxError: Tail call expression is not allowed here 2 | return continue f() - a ; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression is not allowed here 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-binop-rhs.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:13: SyntaxError: Tail call expression is not allowed here 2 | return b + continue f() ; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression is not allowed here 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-subclass.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:12: SyntaxError: Tail call expression is not allowed here 2 | return continue f() ; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression is not allowed here 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-try-try-catch-finally.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:17: SyntaxError: Tail call expression in try block 2 | return continue f() ; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression in try block 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-without-return.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:13: SyntaxError: Tail call expression is not allowed here 2 | var x = continue f() ; 3 | ^^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression is not allowed here 5 | -------------------------------------------------------------------------------- /test/message/unicode-escape-invalid-2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | print("\u162P"); 6 | -------------------------------------------------------------------------------- /test/message/unicode-escape-invalid.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | print("\u{FFYZ}"); 6 | -------------------------------------------------------------------------------- /test/message/yield-in-generator-param.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: SyntaxError: Yield expression not allowed in formal parameter 2 | function* g(a = yield) {} 3 | ^^^^^ 4 | SyntaxError: Yield expression not allowed in formal parameter 5 | -------------------------------------------------------------------------------- /src/asmjs/OWNERS: -------------------------------------------------------------------------------- 1 | # Keep in sync with test/cctest/asmjs/OWNERS. 2 | 3 | set noparent 4 | 5 | ahaas@chromium.org 6 | bradnelson@chromium.org 7 | jpp@chromium.org 8 | mtrofin@chromium.org 9 | rossberg@chromium.org 10 | titzer@chromium.org 11 | -------------------------------------------------------------------------------- /test/cctest/asmjs/OWNERS: -------------------------------------------------------------------------------- 1 | # Keep in sync with src/asmjs/OWNERS. 2 | 3 | set noparent 4 | 5 | ahaas@chromium.org 6 | bradnelson@chromium.org 7 | jpp@chromium.org 8 | mtrofin@chromium.org 9 | rossberg@chromium.org 10 | titzer@chromium.org 11 | -------------------------------------------------------------------------------- /test/message/arrow-bare-rest-param.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | ...x => 10 8 | -------------------------------------------------------------------------------- /test/message/const-decl-no-init.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 'use strict'; 6 | const a; 7 | -------------------------------------------------------------------------------- /test/message/for-loop-invalid-lhs.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:9: SyntaxError: Invalid left-hand side in for-loop 2 | function f() { for ("unassignable" in {}); } 3 | ^^^^^^^^^^^^^^ 4 | SyntaxError: Invalid left-hand side in for-loop 5 | 6 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-logical-and.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:13: SyntaxError: Tail call expression is not allowed here 2 | return continue f() && a ; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression is not allowed here 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-logical-or.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:13: SyntaxError: Tail call expression is not allowed here 2 | return continue f() || a ; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression is not allowed here 5 | -------------------------------------------------------------------------------- /test/message/unicode-escape-undefined.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | print("\u{110000}"); 6 | -------------------------------------------------------------------------------- /test/message/arrow-param-after-rest.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | (...x, y) => 10 8 | -------------------------------------------------------------------------------- /test/message/function-sent-escaped.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:8: SyntaxError: 'function.sent' must not contain escaped characters 2 | return function.s\u0065nt; 3 | ^^^^^^^^^^^^^^^^^^ 4 | SyntaxError: 'function.sent' must not contain escaped characters 5 | -------------------------------------------------------------------------------- /test/message/let-lexical-name-prohibited.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | let let; 8 | -------------------------------------------------------------------------------- /test/message/new-target-assignment.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f() { new.target = 5 } 6 | -------------------------------------------------------------------------------- /test/message/new-target-postfix-op.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f() { new.target++ } 6 | -------------------------------------------------------------------------------- /test/message/new-target-prefix-op.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f() { ++new.target } 6 | -------------------------------------------------------------------------------- /test/message/nf-yield-strict.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function yield() { "use strict"; } 6 | -------------------------------------------------------------------------------- /test/message/nfe-yield-strict.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (function yield() { "use strict"; }) 6 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-inside-member-expr.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:13: SyntaxError: Tail call expression is not allowed here 2 | return (continue f(1)) (2) ; 3 | ^^^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression is not allowed here 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-of-eval.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:8: SyntaxError: Tail call of a direct eval is not allowed 2 | return continue eval ("f()") ; 3 | ^^^^^^^^^^^^^ 4 | SyntaxError: Tail call of a direct eval is not allowed 5 | -------------------------------------------------------------------------------- /test/message/yield-in-arrow-param.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: SyntaxError: Yield expression not allowed in formal parameter 2 | function* g() { (a = yield) => {} } 3 | ^^^^^ 4 | SyntaxError: Yield expression not allowed in formal parameter 5 | -------------------------------------------------------------------------------- /test/message/yield-in-generator-param.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function* g(a = yield) {} 6 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-408036.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --expose-natives-as 1 6 | -------------------------------------------------------------------------------- /src/full-codegen/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | bmeurer@chromium.org 4 | ishell@chromium.org 5 | jarin@chromium.org 6 | jkummerow@chromium.org 7 | mstarzinger@chromium.org 8 | mvstanton@chromium.org 9 | verwaest@chromium.org 10 | yangguo@chromium.org 11 | -------------------------------------------------------------------------------- /test/message/arrow-invalid-rest.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: Rest parameter must be an identifier or destructuring pattern 2 | var f = (...x = 10) => x; 3 | ^^^^^^^^^ 4 | SyntaxError: Rest parameter must be an identifier or destructuring pattern 5 | -------------------------------------------------------------------------------- /test/message/arrow-missing.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | function foo() { return(); } 8 | -------------------------------------------------------------------------------- /test/message/arrow-param-after-rest-2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | (w, ...x, y) => 10 8 | -------------------------------------------------------------------------------- /test/message/arrow-two-rest-params.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | (w, ...x, ...y) => 10 8 | -------------------------------------------------------------------------------- /test/message/const-decl-no-init2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 'use strict'; 6 | for (const a; ;) {} 7 | -------------------------------------------------------------------------------- /test/message/default-parameter-tdz.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | (function(a=+a) { })(); 8 | -------------------------------------------------------------------------------- /test/message/for-of-throw-in-body.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | for (var x of [1, 2, 3]) { throw 42 } 6 | -------------------------------------------------------------------------------- /test/message/formal-parameters-strict-body.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: SyntaxError: Unexpected eval or arguments in strict mode 2 | function foo(b, eval) { "use strict"; return b } 3 | ^^^^ 4 | SyntaxError: Unexpected eval or arguments in strict mode 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-comma.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:13: SyntaxError: Tail call expression is not allowed here 2 | return 1, 2, 3, continue f() , 4 ; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression is not allowed here 5 | -------------------------------------------------------------------------------- /test/message/yield-in-arrow-param.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function* g() { (a = yield) => {} } 6 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-405491.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --expose-debug-as 1 6 | -------------------------------------------------------------------------------- /test/message/arrow-strict-eval-bare-parameter.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | "use strict"; 6 | eval => 42 7 | -------------------------------------------------------------------------------- /test/message/default-parameter-tdz-arrow.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | ((a=-a) => { })(); 8 | -------------------------------------------------------------------------------- /test/message/destructuring-decl-no-init-array.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | var [ a, b, c ]; 8 | -------------------------------------------------------------------------------- /test/message/destructuring-decl-no-init-obj.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | var { a, b, c }; 8 | -------------------------------------------------------------------------------- /test/message/import-eval.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // MODULE 6 | 7 | import { eval } from "mod"; 8 | -------------------------------------------------------------------------------- /test/message/let-lexical-name-in-array-prohibited.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | let [let]; 8 | -------------------------------------------------------------------------------- /test/message/let-lexical-name-in-object-prohibited.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | let {let}; 8 | -------------------------------------------------------------------------------- /test/message/new-target-for-loop.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f() { for (new.target in {}); } 6 | -------------------------------------------------------------------------------- /test/message/new-target-prefix-op.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: ReferenceError: Invalid left-hand side expression in prefix operation 2 | function f() { ++new.target } 3 | ^^^^^^^^^^ 4 | ReferenceError: Invalid left-hand side expression in prefix operation 5 | -------------------------------------------------------------------------------- /test/message/strict-formal-parameters.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:6: SyntaxError: Duplicate parameter name not allowed in this context 2 | function foo(b, a, a, d) { return a } 3 | ^ 4 | SyntaxError: Duplicate parameter name not allowed in this context 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-extends.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:9: SyntaxError: Tail call expression is not allowed here 2 | return class A extends continue f() {}; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression is not allowed here 5 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-sloppy.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:8: SyntaxError: Tail call expressions are not allowed in non-strict mode 2 | return continue f() ; 3 | ^^^^^^^^^^^^^ 4 | SyntaxError: Tail call expressions are not allowed in non-strict mode 5 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-489597.js-script: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | throw new Error("boom"); 6 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-575082.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var y = new Date("-1073741824"); 6 | -------------------------------------------------------------------------------- /test/message/arrow-invalid-rest-2.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:7: SyntaxError: Rest parameter must be an identifier or destructuring pattern 2 | var f = (a, ...x = 10) => x; 3 | ^^^^^^^^^ 4 | SyntaxError: Rest parameter must be an identifier or destructuring pattern 5 | -------------------------------------------------------------------------------- /test/message/formal-parameters-trailing-comma.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function foo(b, a, a,) { return a } 6 | -------------------------------------------------------------------------------- /test/message/new-target-postfix-op.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:5: ReferenceError: Invalid left-hand side expression in postfix operation 2 | function f() { new.target++ } 3 | ^^^^^^^^^^ 4 | ReferenceError: Invalid left-hand side expression in postfix operation 5 | -------------------------------------------------------------------------------- /test/message/regress/regress-4829-1.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function tag() {} 6 | 7 | tag(tag`\xyy`); 8 | -------------------------------------------------------------------------------- /test/message/regress/regress-4829-2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function tag() {} 6 | 7 | `${tag`\xyy`}`; 8 | -------------------------------------------------------------------------------- /test/message/rest-param-class-setter-strict.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:11: SyntaxError: Setter function argument must not be a rest parameter 2 | set bad(...args) { _bad = args[0]; } 3 | ^^^^^^^^^ 4 | SyntaxError: Setter function argument must not be a rest parameter 5 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-517455.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f({x = ""}) { eval(x) } 6 | f({}) 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-538086.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | this[1]++; 6 | for (var x in this) {}; 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-smi-scanning.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | x = 2 6 | 3; 7 | assertEquals(2, x); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-v8-4972.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | new class extends new Proxy(class {},{}) {} 6 | -------------------------------------------------------------------------------- /src/js/OWNERS: -------------------------------------------------------------------------------- 1 | set noparent 2 | 3 | adamk@chromium.org 4 | bmeurer@chromium.org 5 | cbruni@chromium.org 6 | ishell@chromium.org 7 | jkummerow@chromium.org 8 | littledan@chromium.org 9 | rossberg@chromium.org 10 | verwaest@chromium.org 11 | yangguo@chromium.org 12 | -------------------------------------------------------------------------------- /test/message/destructuring-decl-no-init-array2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | for (var [ a ]; a; ) {} 8 | -------------------------------------------------------------------------------- /test/message/import-as-eval.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // MODULE 6 | 7 | import { foo as eval } from "mod"; 8 | -------------------------------------------------------------------------------- /test/message/import-reserved-word.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // MODULE 6 | 7 | import { import } from "mod"; 8 | -------------------------------------------------------------------------------- /test/message/nf-yield-in-generator.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function* gen() { 6 | function yield() {} 7 | } 8 | -------------------------------------------------------------------------------- /test/message/rest-param-object-setter-sloppy.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:10: SyntaxError: Setter function argument must not be a rest parameter 2 | set bad(...args) { _bad = args[0]; } 3 | ^^^^^^^^^ 4 | SyntaxError: Setter function argument must not be a rest parameter 5 | -------------------------------------------------------------------------------- /test/message/rest-param-object-setter-strict.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:11: SyntaxError: Setter function argument must not be a rest parameter 2 | set bad(...args) { _bad = args[0]; } 3 | ^^^^^^^^^ 4 | SyntaxError: Setter function argument must not be a rest parameter 5 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-513474.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (function(...a) { function f() { eval() } })(); 6 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-355485.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertEquals("\u039c", "\u00b5".toUpperCase()); 6 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-5036.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertEquals(["1\u212a"], /\d\w/ui.exec("1\u212a")); 6 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-581577.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertEquals("", RegExp.prototype.flags); 6 | -------------------------------------------------------------------------------- /test/message/formal-parameters-bad-rest.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | function foo(...b, a) { return a } 8 | -------------------------------------------------------------------------------- /test/message/formal-parameters-strict-body.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function foo(b, eval) { "use strict"; return b } 6 | -------------------------------------------------------------------------------- /test/message/regress/regress-3995.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (function() { 6 | throw new Error("boom"); 7 | })(); 8 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-cr512574.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f({}) { 6 | for (var v in []); 7 | }; 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-351262.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | for (var x in this) {}; 6 | JSON.stringify(this); 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-565917.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | try { 6 | } catch(e) {; } 7 | new ArrayBuffer(); 8 | -------------------------------------------------------------------------------- /LICENSE.fdlibm: -------------------------------------------------------------------------------- 1 | Copyright (C) 1993-2004 by Sun Microsystems, Inc. All rights reserved. 2 | 3 | Developed at SunSoft, a Sun Microsystems, Inc. business. 4 | Permission to use, copy, modify, and distribute this 5 | software is freely granted, provided that this notice 6 | is preserved. 7 | -------------------------------------------------------------------------------- /test/intl/regexp-prepare.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | /(\w)(\w)(\w)(\w)(\w)(\w)(\w)(\w)(\w)(\w)/.exec(">>>abcdefghij<<<"); 6 | -------------------------------------------------------------------------------- /test/message/arrow-invalid-rest.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | var f = (...x = 10) => x; 8 | f(1, 2, 3, 4, 5); 9 | -------------------------------------------------------------------------------- /test/message/import-as-reserved-word.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // MODULE 6 | 7 | import { foo as import } from "mod"; 8 | -------------------------------------------------------------------------------- /test/message/strict-formal-parameters.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | "use strict"; 6 | function foo(b, a, a, d) { return a } 7 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-4298.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var arr = [1, 2, ...[3]]; 6 | assertEquals([1, 2, 3], arr); 7 | -------------------------------------------------------------------------------- /test/mjsunit/harmony/modules.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // MODULE 6 | 7 | export let a = 42; 8 | assertEquals(42, a); 9 | -------------------------------------------------------------------------------- /test/mjsunit/object-freeze-global.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | Object.freeze(this); 6 | assertTrue(Object.isFrozen(this)); 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/get-array-keys-oob.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | Array.prototype[10000000] = 1; 6 | Array(1000).join(); 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-568525.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var a = /a/; 6 | a[4] = 1.5; 7 | for (var x in a) {} 8 | -------------------------------------------------------------------------------- /test/message/arrow-invalid-rest-2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | var f = (a, ...x = 10) => x; 8 | f(1, 2, 3, 4, 5); 9 | -------------------------------------------------------------------------------- /test/message/destructuring-decl-no-init-obj2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | for (var { a, b, c }; a && b && c; ) {} 8 | -------------------------------------------------------------------------------- /test/message/for-in-loop-initializers-destructuring.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:8: SyntaxError: for-in loop variable declaration may not have an initializer. 2 | for (var [x, y] = {} in {}); 3 | ^^^^^^ 4 | SyntaxError: for-in loop variable declaration may not have an initializer. 5 | -------------------------------------------------------------------------------- /test/message/import-redeclaration.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // MODULE 6 | 7 | let foo = 42; 8 | import { foo } from "mod"; 9 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-arrow-duplicate-params.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertThrows("(x, x, y) => 10;", SyntaxError); 6 | -------------------------------------------------------------------------------- /test/mjsunit/regress-604044.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --min-preparse-length 1 6 | 7 | (function(_ = function() {}){}) 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-450642.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertThrows(function() { with (undefined) {} }, TypeError); 6 | -------------------------------------------------------------------------------- /test/message/super-in-function.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 6 | 'use strict'; 7 | 8 | function f() { 9 | super.x(); 10 | } 11 | -------------------------------------------------------------------------------- /test/mjsunit/readonly-accessor.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var foo = {}; 6 | foo.__proto__ = new String("bar"); 7 | foo.length = 20; 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-404981.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var large_object = new Array(5000001); 6 | large_object.length = 23; 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-4654.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertEquals('hello\u0000foobar', 'hello\u0000foobar'.normalize('NFC')); 6 | -------------------------------------------------------------------------------- /test/test262/detachArrayBuffer.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function $DETACHBUFFER(buffer) { 6 | %ArrayBufferNeuter(buffer); 7 | } 8 | -------------------------------------------------------------------------------- /test/message/export-duplicate.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // MODULE 6 | 7 | var a, b; 8 | export { a }; 9 | export { a, b }; 10 | -------------------------------------------------------------------------------- /test/message/import-as-redeclaration.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // MODULE 6 | 7 | let foo = 42; 8 | import { bar as foo } from "mod"; 9 | -------------------------------------------------------------------------------- /test/message/nf-yield-strict-in-generator.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function* gen() { 6 | "use strict"; 7 | function yield() {} 8 | } 9 | -------------------------------------------------------------------------------- /test/message/try-catch-variable-conflict.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | try { 8 | } catch ({x}) { 9 | var x; 10 | } 11 | -------------------------------------------------------------------------------- /test/mjsunit/lookup-behind-property.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var g = Realm.global(Realm.create()); 6 | assertThrows(()=>g.toString()); 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-585775.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var pattern = /foo/; 6 | assertEquals(undefined, pattern.compile(pattern)); 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-501808.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var r = Realm.create(); 6 | assertEquals(0, "a".localeCompare("a")); 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-569534.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var array = [,0.5]; 6 | array.length = 0; 7 | for (var i in array) {} 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-605862.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | /[]*1/u.exec("\u1234"); 6 | /[^\u0000-\u{10ffff}]*1/u.exec("\u1234"); 7 | -------------------------------------------------------------------------------- /test/webkit/class-syntax-scoping-expected.txt: -------------------------------------------------------------------------------- 1 | Tests for scoping of variables in ES6 class syntax 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | 6 | PASS test() is "PASS" 7 | PASS successfullyParsed is true 8 | 9 | TEST COMPLETE 10 | 11 | -------------------------------------------------------------------------------- /benchmarks/spinning-balls/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /gypfiles/README.txt: -------------------------------------------------------------------------------- 1 | For build instructions, please refer to: 2 | 3 | https://code.google.com/p/v8/wiki/BuildingWithGYP 4 | 5 | TL;DR version on *nix: 6 | $ make dependencies # Only needed once. 7 | $ make ia32.release -j8 8 | $ make ia32.release.check # Optionally: run tests. 9 | 10 | -------------------------------------------------------------------------------- /test/message/unterminated-arg-list.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | $(document).ready(function() { 6 | $("html").load( "https://localhost" ); 7 | } 8 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-3426.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertThrows("(function() { 'use strict'; { let f; var f; } })", SyntaxError); 6 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-4214.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var o = { eval: function() { return this; } } 6 | with (o) assertSame(o, eval()); 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-410033.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax --expose-gc 6 | 7 | %GetScript('v8/gc'); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-double-property.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f(a) { 6 | return {0.1: a}; 7 | } 8 | 9 | f(); 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-json-parse-index.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var o = JSON.parse('{"\\u0030":100}'); 6 | assertEquals(100, o[0]); 7 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-static-reject-expected.txt: -------------------------------------------------------------------------------- 1 | Test Promise.reject 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS result is undefined 6 | PASS result is "hello" 7 | PASS successfullyParsed is true 8 | 9 | TEST COMPLETE 10 | 11 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-static-resolve-expected.txt: -------------------------------------------------------------------------------- 1 | Test Promise.resolve 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS result is undefined 6 | PASS result is "hello" 7 | PASS successfullyParsed is true 8 | 9 | TEST COMPLETE 10 | 11 | -------------------------------------------------------------------------------- /test/message/class-constructor-accessor.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 6 | 'use strict'; 7 | 8 | class C { 9 | get constructor() {} 10 | } 11 | -------------------------------------------------------------------------------- /test/message/class-constructor-generator.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 6 | 'use strict'; 7 | 8 | class C { 9 | *constructor() {} 10 | } 11 | -------------------------------------------------------------------------------- /test/message/export-duplicate-as.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // MODULE 6 | 7 | var a, b; 8 | export { a as c }; 9 | export { a, b as c }; 10 | -------------------------------------------------------------------------------- /test/message/export-duplicate-default.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // MODULE 6 | 7 | export default function f() {}; 8 | export default class C {}; 9 | -------------------------------------------------------------------------------- /test/message/for-of-throw-in-body.out: -------------------------------------------------------------------------------- 1 | # Copyright 2016 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:5: 42 5 | for (var x of [1, 2, 3]) { throw 42 } 6 | ^ 7 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-try-catch-finally.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:16: SyntaxError: Tail call expression in catch block when finally block is also present 2 | return continue f() ; 3 | ^^^^^^^^^^^^ 4 | SyntaxError: Tail call expression in catch block when finally block is also present 5 | -------------------------------------------------------------------------------- /test/mjsunit/compiler/regress-463056.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f() { 6 | return ((0%0)&1) + (1>>>(0%0)); 7 | } 8 | 9 | f(); 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-4908.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // Flags: --always-opt --no-lazy 6 | 7 | (function() { ((s = 17, y = s) => s)() })(); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress-4399.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 6 | if (this.Worker) { 7 | assertThrows(function() { Worker.prototype.constructor("55"); }); 8 | } 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-358090.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var x = Array(100000); 6 | y = Array.apply(Array, x); 7 | y.unshift(4); 8 | y.shift(); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-444805.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | try { 6 | load("test/mjsunit/regress/regress-444805.js-script"); 7 | } catch (e) { 8 | } 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-554865.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (function() { 6 | var x = {}; 7 | ((y = [42]) => assertEquals(42, y[0]))(); 8 | })(); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-620253.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --throws 6 | 7 | load("test/mjsunit/regress/regress-crbug-620253.js"); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-object-assign-deprecated.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var x = {a:1, b:2}; 6 | var y = {a:1, b:2.5}; 7 | Object.assign(x, x); 8 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-already-rejected-expected.txt: -------------------------------------------------------------------------------- 1 | Resolve or reject do not take effect on a rejected Promise. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS result is "foo" 6 | PASS successfullyParsed is true 7 | 8 | TEST COMPLETE 9 | 10 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-already-resolved-expected.txt: -------------------------------------------------------------------------------- 1 | Resolve or reject do not take effect on a resolved Promise. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS result is "foo" 6 | PASS successfullyParsed is true 7 | 8 | TEST COMPLETE 9 | 10 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-resolve-chain-expected.txt: -------------------------------------------------------------------------------- 1 | Test chained Promise resolutions. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS result is "hello" 6 | PASS result is "bye" 7 | PASS successfullyParsed is true 8 | 9 | TEST COMPLETE 10 | 11 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-resolve-expected.txt: -------------------------------------------------------------------------------- 1 | Test Promise resolution. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS thisInOnFulfilled is undefined 6 | PASS result is "hello" 7 | PASS successfullyParsed is true 8 | 9 | TEST COMPLETE 10 | 11 | -------------------------------------------------------------------------------- /test/message/destructuring-modify-const.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // 6 | 'use strict'; 7 | 8 | const { x : x, y : y } = { x : 1, y : 2 }; 9 | x++; 10 | -------------------------------------------------------------------------------- /test/message/for-in-loop-initializers-destructuring.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | function f() { 8 | for (var [x, y] = {} in {}); 9 | } 10 | -------------------------------------------------------------------------------- /test/message/generators-throw1.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // Flags: --ignition-generators 6 | 7 | function* f() { yield } 8 | 9 | f().throw(42); 10 | -------------------------------------------------------------------------------- /test/message/new-target-escaped.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | function f() { 8 | return new.t\u0061rget; 9 | } 10 | var o = new f(); 11 | -------------------------------------------------------------------------------- /test/message/try-catch-lexical-conflict.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | "use strict"; 8 | try { 9 | } catch ({x}) { 10 | let x; 11 | } 12 | -------------------------------------------------------------------------------- /test/mjsunit/deserialize-reference.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --cache=code --serialize-toplevel 6 | 7 | var a = "123"; 8 | assertEquals(a, "123"); 9 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-4400.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --min-preparse-length=0 6 | 7 | function borked(a = [], b = {}, c) {} 8 | borked(); 9 | -------------------------------------------------------------------------------- /test/mjsunit/ignition/dead-code-source-position.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f() { 6 | for (f(x) in []) { f(new f()) } 7 | } 8 | 9 | f(); 10 | -------------------------------------------------------------------------------- /test/mjsunit/object-seal-global.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | Object.seal(this); 6 | assertTrue(Object.isSealed(this)); 7 | assertFalse(Object.isFrozen(this)); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-498811.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // NO HARNESS 6 | 7 | "use strict"; 8 | let l = 0; 9 | eval("eval('this')"); 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-513472.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | "use strict"; 6 | this.__proto__ = Error(); 7 | assertThrows(function() { NaN = 1; }); 8 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-then-without-callbacks-expected.txt: -------------------------------------------------------------------------------- 1 | Promise.prototype.then should work without callbacks. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS result is "hello" 6 | PASS successfullyParsed is true 7 | 8 | TEST COMPLETE 9 | 10 | -------------------------------------------------------------------------------- /tools/sanitizers/tsan_suppressions.txt: -------------------------------------------------------------------------------- 1 | # Suppressions for TSan v2 2 | # https://code.google.com/p/thread-sanitizer/wiki/Suppressions 3 | 4 | # Incorrectly detected lock cycles in test-lockers 5 | # https://code.google.com/p/thread-sanitizer/issues/detail?id=81 6 | deadlock:LockAndUnlockDifferentIsolatesThread::Run 7 | -------------------------------------------------------------------------------- /test/mjsunit/compiler/regress-416359.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | "use strict" 6 | function f() { 7 | for (x in {a:0}); 8 | } 9 | 10 | assertThrows(f); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-3859.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertEquals(1, new Set([NaN, NaN, NaN]).size); 6 | assertEquals(42, new Map([[NaN, 42]]).get(NaN)); 7 | -------------------------------------------------------------------------------- /test/mjsunit/wasm/no-wasm-by-default.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // TODO(titzer): remove this test when WASM ships. 6 | assertThrows(function() { var g = Wasm; }); 7 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-init-callback-receiver-expected.txt: -------------------------------------------------------------------------------- 1 | |this| in Promise constructor should be undefined. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS receiverInStrict is undefined 6 | PASS successfullyParsed is true 7 | 8 | TEST COMPLETE 9 | 10 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-onFulfilled-deep-expected.txt: -------------------------------------------------------------------------------- 1 | Test whether deeply chained then-s work. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS result is undefined 6 | PASS result is 5042 7 | PASS successfullyParsed is true 8 | 9 | TEST COMPLETE 10 | 11 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-onRejected-deep-expected.txt: -------------------------------------------------------------------------------- 1 | Test whether deeply chained then-s work. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS result is undefined 6 | PASS result is 5042 7 | PASS successfullyParsed is true 8 | 9 | TEST COMPLETE 10 | 11 | -------------------------------------------------------------------------------- /src/x87/simulator-x87.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2008 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "src/x87/simulator-x87.h" 6 | 7 | // Since there is no simulator for the ia32 architecture this file is empty. 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-4169.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | with ({}) { 6 | eval("var x = 23"); 7 | assertEquals(23, x); 8 | } 9 | assertEquals(23, x); 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-465564.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax --cache=code 6 | 7 | assertEquals(-1, %StringCompare("a", "b")); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-487105.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | "use strict"; 6 | function assertThrows() { 7 | eval(); 8 | }; 9 | eval("delete this;") 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-493290.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f() { 6 | throw "boom"; 7 | try {} catch (e) {} 8 | } 9 | assertThrows(f); 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-504727.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --no-test 6 | 7 | if (this.Worker) { 8 | var __v_2 = new Worker(''); 9 | } 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-561973.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | Date.parse('Sat, 01 Jan 100 08:00:00 UT-59011430400000'); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-582703.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | %FunctionGetScript({}); 8 | %FunctionGetSourceCode({}); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-613570.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertEquals("[\n\u26031,\n\u26032\n]", 6 | JSON.stringify([1, 2], null, "\u2603")); 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-debug-context-load.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --expose-debug-as debug 6 | 7 | Debug = debug.Debug; 8 | Debug.setListener(null); 9 | -------------------------------------------------------------------------------- /src/ia32/simulator-ia32.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2008 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "src/ia32/simulator-ia32.h" 6 | 7 | // Since there is no simulator for the ia32 architecture this file is empty. 8 | -------------------------------------------------------------------------------- /test/message/regress/regress-4266.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (function() { 6 | try { 7 | [].foo(); 8 | } catch (e) { 9 | throw e; 10 | } 11 | })(); 12 | -------------------------------------------------------------------------------- /test/mjsunit/es6/unicode-regexp-unanchored-advance.js: -------------------------------------------------------------------------------- 1 | // Copyright 2013 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var s = "a".repeat(1E7) + "\u1234"; 6 | assertEquals(["\u1234", "\u1234"], /(\u1234)/u.exec(s)); 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress-crbug-619476.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var x = {}; 6 | // Crashes in debug mode if an erroneous DCHECK in dfb8d333 is not removed. 7 | eval, x[eval]; 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-3294.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var e = new Error('message'); 6 | var keys = Object.keys(e); 7 | e.stack; 8 | assertEquals(keys, Object.keys(e)); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-459955.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f(x) { 6 | var v; 7 | if (x) v = 0; 8 | return v <= 1; 9 | } 10 | assertFalse(f(false)); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-552302.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // Flags: --allow-natives-syntax 6 | 7 | assertThrows('var %OptimizeFunctionOnNextCall()', SyntaxError); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-478011.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var e = {}; 6 | Object.preventExtensions(e); 7 | assertThrows(function() { Error.captureStackTrace(e) }); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-510426.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var s = new String('a'); 6 | s[10000000] = 'bente'; 7 | assertEquals(['0', '10000000'], Object.keys(s)); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-595738.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function foo() { return 1; } 6 | var x = {toJSON: foo.bind()}; 7 | assertEquals("1", JSON.stringify(x)); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/string-compare-memcmp.js: -------------------------------------------------------------------------------- 1 | // Copyright 2012 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | assertEquals(-1, %StringCompare("abc\u0102", "abc\u0201")); 8 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-simple-expected.txt: -------------------------------------------------------------------------------- 1 | Test Promise. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS thisInInit is undefined 6 | PASS thisInOnFulfilled is undefined 7 | PASS result is "hello" 8 | PASS successfullyParsed is true 9 | 10 | TEST COMPLETE 11 | 12 | -------------------------------------------------------------------------------- /tools/freebsd-tick-processor: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # A wrapper script to call 'linux-tick-processor'. 4 | 5 | # Known issues on FreeBSD: 6 | # No ticks from C++ code. 7 | # You must have d8 built and in your path before calling this. 8 | 9 | tools_path=`cd $(dirname "$0");pwd` 10 | $tools_path/linux-tick-processor "$@" 11 | -------------------------------------------------------------------------------- /test/message/paren_in_arg_string.out: -------------------------------------------------------------------------------- 1 | *%(basename)s:29: SyntaxError: Function arg string contains parenthesis 2 | var paren_in_arg_string_bad = new Function(')', 'return;'); 3 | ^ 4 | SyntaxError: Function arg string contains parenthesis 5 | at new Function () 6 | at *%(basename)s:29:31 7 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-sloppy.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --harmony-explicit-tailcalls 6 | 7 | function g() { 8 | return continue f() ; 9 | } 10 | -------------------------------------------------------------------------------- /test/message/unterminated-arg-list.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | *%(basename)s:7: SyntaxError: missing ) after argument list 6 | } 7 | ^ 8 | SyntaxError: missing ) after argument list 9 | -------------------------------------------------------------------------------- /test/mjsunit/compiler/regress-445907.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | v = []; 6 | v.length = (1 << 30); 7 | 8 | function f() { 9 | v++; 10 | } 11 | 12 | assertThrows(f); 13 | -------------------------------------------------------------------------------- /test/mjsunit/compiler/regress-451012.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | "use strict"; 6 | function f() { 7 | for (let v; v; ) { 8 | let x; 9 | } 10 | } 11 | 12 | f(); 13 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-crbug-346141.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var s = Symbol() 6 | var o = {} 7 | o[s] = 2 8 | o[""] = 3 9 | Object.getOwnPropertySymbols(o) 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-4450.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | ({})['foobar\u2653'.slice(0, 6)] = null; 6 | var x; 7 | eval('x = function foobar() { return foobar };'); 8 | x(); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-4659.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var obj = { 6 | get longerName(){ 7 | return 42; 8 | } 9 | }; 10 | assertEquals(42, obj.longerName); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-5174.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // // Use of this source code is governed by a BSD-style license that can be 3 | // // found in the LICENSE file. 4 | 5 | assertEquals([], Object.keys(new Proxy([], {}))); 6 | assertEquals([], Object.keys(new Proxy(/regex/, {}))); 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-arguments-slice.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f() { return arguments; } 6 | var o = f(); 7 | o.length = -100; 8 | Array.prototype.slice.call(o); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-484077.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | assertEquals("", %FunctionGetInferredName((function(){}).bind({}))); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-492526.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | assertThrows(function() { %FormatMessageString(-1, "", "", ""); }); 8 | -------------------------------------------------------------------------------- /test/message/export-duplicate.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:9: SyntaxError: Duplicate export of 'a' 5 | export { a, b }; 6 | ^ 7 | SyntaxError: Duplicate export of 'a' 8 | -------------------------------------------------------------------------------- /test/message/for-of-loop-initializers-sloppy.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | 6 | function test() { 7 | for (var x = void 0 of [1, 2, 3]) { 8 | return x; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-4395-global-eval.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | ((x, y = eval('x')) => assertEquals(42, y))(42); 6 | ((x, {y = eval('x')}) => assertEquals(42, y))(42, {}); 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-450895.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | var v = new Array(); 8 | Object.freeze(v); 9 | v = v.concat(0.5); 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-471702.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | assertThrows(function() { JSON.stringify(%DebugGetLoadedScripts()); }); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-503698.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --invoke-weak-callbacks 6 | 7 | if (this.Worker) { 8 | var __v_6 = new Worker(''); 9 | } 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-505778.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | if (this.Worker) { 6 | var __v_7 = new Worker('onmessage = function() {}'); 7 | __v_7.postMessage(""); 8 | } 9 | -------------------------------------------------------------------------------- /test/message/generators-throw2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // Flags: --ignition-generators 6 | 7 | function* f() { yield } 8 | 9 | let g = f(); 10 | g.next(); 11 | g.throw(42); 12 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-of-eval.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --harmony-explicit-tailcalls 6 | 7 | function g() { 8 | return continue eval ("f()") ; 9 | } 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-425551.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var array = new Int8Array(10); 6 | array[/\u007d\u00fc\u0043/] = 1.499 7 | assertEquals(1.499, array[/\u007d\u00fc\u0043/]); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-503991.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | if (this.Worker) { 6 | __v_3 = ""; 7 | var __v_6 = new Worker(''); 8 | __v_6.postMessage(__v_3); 9 | } 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-570241.js: -------------------------------------------------------------------------------- 1 | // Copyright 2013 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --harmony-regexp-lookbehind 6 | 7 | assertTrue(/(?<=12345123451234512345)/.test("12345123451234512345")); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-612109.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 6 | s = "string for triggering osr in __f_0"; 7 | for (var i = 0; i < 16; i++) s = s + s; 8 | decodeURI(encodeURI(s)); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-freeze-setter.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | Object.defineProperty(this, 'x', {set: function() { }}); 6 | Object.freeze(this); 7 | eval('"use strict"; x = 20;'); 8 | -------------------------------------------------------------------------------- /test/mjsunit/this-dynamic-lookup.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // NO HARNESS 6 | 7 | var globalEval = eval; 8 | globalEval("this; eval('42')"); 9 | globalEval("eval('42'); this"); 10 | -------------------------------------------------------------------------------- /test/message/super-in-function.out: -------------------------------------------------------------------------------- 1 | # Copyright 2014 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:9: SyntaxError: 'super' keyword unexpected here 5 | super.x(); 6 | ^^^^^ 7 | SyntaxError: 'super' keyword unexpected here 8 | -------------------------------------------------------------------------------- /test/mjsunit/compiler/regress-572409.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var o = function() {}; 6 | function f() { 7 | var lit = { __proto__: o }; 8 | o instanceof RegExp; 9 | } 10 | f(); 11 | -------------------------------------------------------------------------------- /test/mjsunit/neuter-twice.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // Flags: --allow-natives-syntax 6 | 7 | var ab = new ArrayBuffer(100); 8 | %ArrayBufferNeuter(ab); 9 | %ArrayBufferNeuter(ab); 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-347912.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | var __v_4 = {}; 8 | __v_2 = {}; 9 | __v_2[1024] = 0; 10 | %DebugPrint(__v_4); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-504136.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | if (this.Worker) { 6 | var __v_10 = new Worker(''); 7 | __v_10.terminate(); 8 | __v_10.getMessage(); 9 | } 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-522380.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var global = this; 6 | global.__defineSetter__('x', function(v) { x = v; }); 7 | assertThrows("global.x = 0", RangeError); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-mask-array-length.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var a = []; 6 | var o = { 7 | __proto__: a 8 | }; 9 | Object.preventExtensions(o); 10 | o.length = 'abc'; 11 | -------------------------------------------------------------------------------- /tools/whitespace.txt: -------------------------------------------------------------------------------- 1 | You can modify this file to create no-op changelists. 2 | 3 | Try to write something funny. And please don't add trailing whitespace. 4 | 5 | A Smi balks into a war and says: 6 | "I'm so deoptimized today!" 7 | The doubles heard this and started to unbox. 8 | The Smi looked at them when a crazy v8-autoroll account showed up..... 9 | -------------------------------------------------------------------------------- /codereview.settings: -------------------------------------------------------------------------------- 1 | CODE_REVIEW_SERVER: https://codereview.chromium.org 2 | CC_LIST: v8-reviews@googlegroups.com 3 | VIEW_VC: https://chromium.googlesource.com/v8/v8/+/ 4 | STATUS: http://v8-status.appspot.com/status 5 | TRY_ON_UPLOAD: False 6 | TRYSERVER_SVN_URL: svn://svn.chromium.org/chrome-try-v8 7 | PROJECT: v8 8 | PENDING_REF_PREFIX: refs/pending/ 9 | -------------------------------------------------------------------------------- /test/message/export-duplicate-as.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:9: SyntaxError: Duplicate export of 'c' 5 | export { a, b as c }; 6 | ^ 7 | SyntaxError: Duplicate export of 'c' 8 | -------------------------------------------------------------------------------- /test/message/for-of-let-loop-initializers.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | 'use strict'; 6 | 7 | function test() { 8 | for (let x = void 0 of [1, 2, 3]) { 9 | return x; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/message/super-constructor.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 6 | 'use strict'; 7 | 8 | class C { 9 | constructor() { 10 | super(this.x); 11 | } 12 | } 13 | 14 | var c = new C(); 15 | -------------------------------------------------------------------------------- /test/message/super-constructor.out: -------------------------------------------------------------------------------- 1 | # Copyright 2014 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:10: SyntaxError: 'super' keyword unexpected here 5 | super(this.x); 6 | ^^^^^ 7 | SyntaxError: 'super' keyword unexpected here 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-4945.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function* g(o) { 6 | yield 'x' in o; 7 | } 8 | 9 | assertTrue(g({x: 1}).next().value); 10 | assertFalse(g({}).next().value); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-500980.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var a = "a"; 6 | assertThrows(function() { while (true) a += a; }, RangeError); 7 | assertThrows(function() { a in a; }, TypeError); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-393988.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var o = {}; 6 | Error.captureStackTrace(o); 7 | Object.defineProperty(o, "stack", { value: 1 }); 8 | assertEquals(1, o.stack); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-518747.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | if (this.Worker) { 6 | Worker.prototype = 12; 7 | var __v_6 = new Worker(''); 8 | __v_6.postMessage([]); 9 | } 10 | -------------------------------------------------------------------------------- /test/message/for-in-let-loop-initializers-strict.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | 'use strict'; 6 | 7 | function test() { 8 | for (let x = void 0 in [1, 2, 3]) { 9 | return x; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/message/for-in-loop-initializers-strict.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | 'use strict'; 6 | 7 | function test() { 8 | for (var x = void 0 in [1, 2, 3]) { 9 | return x; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/message/for-of-loop-initializers-strict.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | 'use strict'; 6 | 7 | function test() { 8 | for (var x = void 0 of [1, 2, 3]) { 9 | return x; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/message/import-reserved-word.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:7: SyntaxError: Unexpected reserved word 5 | import { import } from "mod"; 6 | ^^^^^^ 7 | SyntaxError: Unexpected reserved word 8 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-of-identifier.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --harmony-explicit-tailcalls 6 | "use strict"; 7 | 8 | function g(x) { 9 | return continue x ; 10 | } 11 | -------------------------------------------------------------------------------- /test/mjsunit/harmony/regress/regress-crbug-621111.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (y = 1[1, [...[]]]) => 1; // will core dump, if not fixed 6 | (y = 1[1, [...[]]]) => {}; // will core dump, if not fixed 7 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-507980.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | __v_1 = new Float64Array(1); 6 | __v_8 = { valueOf: function() { __v_13.y = "bar"; return 42; }}; 7 | __v_13 = __v_1; 8 | __v_13[0] = __v_8; 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-unsigned-mul-add.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f(a) { 6 | var x = a >>> 0; 7 | return (x * 1.0 + x * 1.0) << 0; 8 | } 9 | 10 | assertEquals(-2, f(-1)); 11 | -------------------------------------------------------------------------------- /test/message/const-decl-no-init.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:6: SyntaxError: Missing initializer in const declaration 5 | const a; 6 | ^ 7 | SyntaxError: Missing initializer in const declaration 8 | -------------------------------------------------------------------------------- /test/message/function-sent-escaped.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // Flags: --harmony-function-sent 6 | 7 | function* f() { 8 | return function.s\u0065nt; 9 | } 10 | for (var i of f()) print(i); 11 | -------------------------------------------------------------------------------- /test/message/unicode-escape-undefined.out: -------------------------------------------------------------------------------- 1 | # Copyright 2016 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | *%(basename)s:5: SyntaxError: Undefined Unicode code-point 6 | print("\u{110000}"); 7 | ^^^^^^^^^ 8 | SyntaxError: Undefined Unicode code-point -------------------------------------------------------------------------------- /test/mjsunit/compiler/regress-445732.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax --turbo-asm 6 | 7 | "use asm"; 8 | 9 | %NeverOptimizeFunction(f); 10 | function f() { } 11 | f(); 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-4279.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | if (this.Worker && this.quit) { 6 | try { 7 | new Function(new Worker("55")); 8 | } catch(err) {} 9 | 10 | quit(); 11 | } 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-592353.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // Flags: --allow-natives-syntax --no-lazy 6 | 7 | with ({}) {} 8 | f = ({x}) => { }; 9 | %OptimizeFunctionOnNextCall(f); 10 | f({}); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-380671.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --mock-arraybuffer-allocator 6 | 7 | var buffer = new ArrayBuffer(0xc0000000); 8 | assertEquals(0xc0000000, buffer.byteLength); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-recurse-patch-binary-op.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var i = 0 6 | function valueOf() { 7 | while (true) return i++ < 4 ? 1 + this : 2 8 | } 9 | 10 | 1 + ({valueOf}) 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-store-global-proxy.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | delete Object.prototype.__proto__; 6 | 7 | function f() { 8 | this.toString = 1; 9 | } 10 | 11 | f.apply({}); 12 | f(); 13 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-exception-expected.txt: -------------------------------------------------------------------------------- 1 | An exception thrown from an onFulfilled callback should reject the Promise. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS thisInThenCallback is undefined 6 | PASS result is "foobar" 7 | PASS successfullyParsed is true 8 | 9 | TEST COMPLETE 10 | 11 | -------------------------------------------------------------------------------- /test/message/export-duplicate-default.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:8: SyntaxError: Duplicate export of 'default' 5 | export default class C {}; 6 | ^^^^^^^ 7 | SyntaxError: Duplicate export of 'default' 8 | -------------------------------------------------------------------------------- /test/message/regress/regress-3995.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | *%(basename)s:6: Error: boom 6 | throw new Error("boom"); 7 | ^ 8 | Error: boom 9 | at *%(basename)s:6:9 10 | at *%(basename)s:7:3 11 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-extends.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --harmony-explicit-tailcalls 6 | "use strict"; 7 | 8 | function g() { 9 | return class A extends continue f() {}; 10 | } 11 | -------------------------------------------------------------------------------- /test/message/unicode-escape-invalid-2.out: -------------------------------------------------------------------------------- 1 | # Copyright 2016 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | *%(basename)s:5: SyntaxError: Invalid Unicode escape sequence 6 | print("\u162P"); 7 | ^^^^^^ 8 | SyntaxError: Invalid Unicode escape sequence 9 | -------------------------------------------------------------------------------- /test/message/unicode-escape-invalid.out: -------------------------------------------------------------------------------- 1 | # Copyright 2016 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | *%(basename)s:5: SyntaxError: Invalid Unicode escape sequence 6 | print("\u{FFYZ}"); 7 | ^ 8 | SyntaxError: Invalid Unicode escape sequence 9 | -------------------------------------------------------------------------------- /test/mjsunit/call-intrinsic-type-error.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | try { 8 | %Call(1, 0); 9 | } catch (e) { 10 | assertTrue(e instanceof TypeError); 11 | } 12 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-3501.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // See: http://code.google.com/p/v8/issues/detail?id=3501 6 | 7 | "use strict"; 8 | let lift = f => (x, k) => k (f (x)); 9 | lift(isNaN); 10 | -------------------------------------------------------------------------------- /test/mjsunit/harmony/regexp-change-exec.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | class MyError extends Error { } 6 | RegExp.prototype.exec = () => { throw new MyError() }; 7 | assertThrows(() => "foo".match(/bar/), MyError); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-347530.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --expose-gc 6 | a = []; 7 | a[1000] = .1; 8 | a.length = 0; 9 | gc(); 10 | gc(); 11 | a[1000] = .1; 12 | assertEquals(.1, a[1000]); 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-513471.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | var g = (function*(){}); 8 | var f = g(); 9 | %OptimizeFunctionOnNextCall(g); 10 | f.next(); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-571370.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var val = [0.5]; 6 | var arr = [0.5]; 7 | for (var i = -1; i < 1; i++) { 8 | arr[i] = val; 9 | } 10 | assertEquals(val, arr[-1]); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-572590.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --expose-gc --verify-heap 6 | 7 | function g() { } 8 | var f = g.bind(); 9 | f.__defineGetter__('length', g); 10 | gc(); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-600257.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --stack-size=100 6 | 7 | (function rec() { 8 | try { 9 | rec(); 10 | } catch (e) { 11 | /{/; 12 | } 13 | })(); 14 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-609029.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --always-opt --function-context-specialization --gc-interval=14 6 | // Flags: --turbo-filter=match --verify-heap 7 | "xxx".match(); 8 | -------------------------------------------------------------------------------- /test/message/const-decl-no-init-sloppy.out: -------------------------------------------------------------------------------- 1 | # Copyright 2016 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:8: SyntaxError: Missing initializer in const declaration 5 | const a; 6 | ^ 7 | SyntaxError: Missing initializer in const declaration 8 | -------------------------------------------------------------------------------- /test/message/regress/regress-4829-1.out: -------------------------------------------------------------------------------- 1 | # Copyright 2016 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | *%(basename)s:7: SyntaxError: Invalid hexadecimal escape sequence 6 | tag(tag`\xyy`); 7 | ^^^^ 8 | SyntaxError: Invalid hexadecimal escape sequence 9 | -------------------------------------------------------------------------------- /test/message/regress/regress-4829-2.out: -------------------------------------------------------------------------------- 1 | # Copyright 2016 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | *%(basename)s:7: SyntaxError: Invalid hexadecimal escape sequence 6 | `${tag`\xyy`}`; 7 | ^^^^ 8 | SyntaxError: Invalid hexadecimal escape sequence 9 | -------------------------------------------------------------------------------- /test/message/super-constructor-extra-statement.out: -------------------------------------------------------------------------------- 1 | # Copyright 2014 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | *%(basename)s:11: SyntaxError: 'super' keyword unexpected here 6 | super(x); 7 | ^^^^^ 8 | SyntaxError: 'super' keyword unexpected here 9 | -------------------------------------------------------------------------------- /test/mjsunit/parse-surrogates.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Test that the parser throws on unmatched surrogates. 6 | assertThrows("var \uD801\uABCD;", SyntaxError); 7 | assertThrows("'\\u000\uD801\uABCD'", SyntaxError); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/property-descriptor-to-object.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var o = { prop: 1 }; 6 | Object.prototype.value = 0; 7 | var d = Object.getOwnPropertyDescriptor(o, "prop"); 8 | assertEquals(1, d.value); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-416416.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function foo() { 6 | try { 7 | String.prototype.length.x(); 8 | } catch (e) { 9 | } 10 | } 11 | 12 | foo(); 13 | foo(); 14 | foo(); 15 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-4376-2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function Foo() {} 6 | var x = new Foo(); 7 | Foo.prototype = 1; 8 | function foo() { return x instanceof Foo; } 9 | assertThrows(foo, TypeError); 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-4967.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertThrows(() => { 6 | new class extends Object { 7 | constructor() { (() => delete super[super()])(); } 8 | } 9 | }, ReferenceError); 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-509961.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var o = { x: 0 }; 6 | delete o.x; 7 | function store(o, p, v) { o[p] = v; } 8 | store(o, "x", 1); 9 | store(o, "x", 1); 10 | store(o, "0", 1); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-625590.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var obj = {}; 6 | function f() {} 7 | f.prototype = { 8 | mSloppy() { 9 | super[obj] = 15; 10 | } 11 | }; 12 | new f().mSloppy(); 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-dictionary-to-fast-arguments.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f(a, b) { 6 | for (var i = 10000; i > 0; i--) { 7 | arguments[i] = 0; 8 | } 9 | } 10 | 11 | f(1.5, 2.5); 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-migrate-callbacks.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var o1 = {}; 6 | o1.x = 1 7 | o1.y = 1.5 8 | var o2 = {} 9 | o2.x = 1.5; 10 | o2.__defineSetter__('y', function(v) { }); 11 | o1.y; 12 | -------------------------------------------------------------------------------- /test/mjsunit/unused-context-in-with.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var x = 1; 6 | function foo(object) { 7 | with(object) { 8 | x; 9 | } 10 | return 100; 11 | } 12 | 13 | assertEquals(100,foo("str")); 14 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-resolve-with-then-exception-expected.txt: -------------------------------------------------------------------------------- 1 | Test whether Promise treats thenable correctly. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | The promise is already rejected now. 6 | PASS rejected 7 | PASS result is "hello" 8 | PASS successfullyParsed is true 9 | 10 | TEST COMPLETE 11 | 12 | -------------------------------------------------------------------------------- /test/webkit/run-json-stringify.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var nativeJSON = this.JSON; 6 | this.JSON = null; 7 | load("test/webkit/resources/json2-es5-compat.js"); 8 | load("test/webkit/resources/JSON-stringify.js"); 9 | -------------------------------------------------------------------------------- /test/intl/regress-4870.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertThrows(() => 6 | Object.getOwnPropertyDescriptor(Intl.Collator.prototype, 'compare') 7 | .get.call(new Intl.DateTimeFormat())('a', 'b'), 8 | TypeError); 9 | -------------------------------------------------------------------------------- /test/message/const-decl-no-init2.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:6: SyntaxError: Missing initializer in const declaration 5 | for (const a; ;) {} 6 | ^ 7 | SyntaxError: Missing initializer in const declaration 8 | -------------------------------------------------------------------------------- /test/message/import-as-reserved-word.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:7: SyntaxError: Unexpected reserved word 5 | import { foo as import } from "mod"; 6 | ^^^^^^ 7 | SyntaxError: Unexpected reserved word 8 | -------------------------------------------------------------------------------- /test/message/rest-param-object-setter-sloppy.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 7 | var _bad = "this should fail!"; 8 | ({ 9 | get bad() { return _bad; }, 10 | set bad(...args) { _bad = args[0]; } 11 | }); 12 | -------------------------------------------------------------------------------- /test/message/super-constructor-extra-statement.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 6 | 'use strict'; 7 | 8 | class C { 9 | constructor() { 10 | var x; 11 | super(x); 12 | } 13 | } 14 | 15 | var c = new C(); 16 | -------------------------------------------------------------------------------- /test/mjsunit/compiler/regress-628516.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f() { 6 | var i = 0; 7 | while (1) { 8 | if ({}) i = expected[0] == x[0]; 9 | i++; 10 | } 11 | } 12 | 13 | assertThrows(f); 14 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-451016.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --turbo-filter=STRICT_EQUALS 6 | 7 | var value = NaN; 8 | for (i = 0; i < 256; i++) { 9 | value === "A" || value === "B"; 10 | } 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-480819.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --turbo-filter=* --always-opt --noanalyze-environment-liveness 6 | 7 | (function() { 8 | "use strict"; 9 | class C1 {} 10 | })(); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-617527.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --enable-slow-asserts 6 | 7 | Object.defineProperty(Array.prototype, "1", { get: toLocaleString }); 8 | assertThrows(_ => new RegExp(0, 0)); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-object-assign-deprecated-2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var x = {a:1, b:2}; 6 | Object.defineProperty(x, "c", {set(v) {}}) 7 | var y = {get c() { return {a:1, b:2.5} }}; 8 | Object.assign(x, y, x); 9 | -------------------------------------------------------------------------------- /test/message/import-eval.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:7: SyntaxError: Unexpected eval or arguments in strict mode 5 | import { eval } from "mod"; 6 | ^^^^ 7 | SyntaxError: Unexpected eval or arguments in strict mode 8 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-of-new.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --harmony-explicit-tailcalls 6 | 7 | function f() { 8 | return 1; 9 | } 10 | 11 | function g() { 12 | return continue new f() ; 13 | } 14 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-4056.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function strictFunctionArrowEval(s) { 6 | "use strict"; 7 | return (()=>eval(s))(); 8 | }; 9 | 10 | assertEquals(strictFunctionArrowEval("42"), 42) 11 | -------------------------------------------------------------------------------- /test/mjsunit/harmony/regress/regress-crbug-621496.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (function testIllegalSpreadAsSingleArrowParameter() { 6 | assertThrows("(...[42]) => 42)", SyntaxError) // will core dump, if not fixed 7 | })(); 8 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-347542.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | function foo() {} 8 | foo(); 9 | %OptimizeFunctionOnNextCall(foo); 10 | foo(); 11 | %NeverOptimizeFunction(foo); 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-357054.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | [].__defineSetter__(0, function() { }); 6 | function f(a,i,v) { a[i] = v; } 7 | a = [0,0,0]; 8 | f(a,0,5); 9 | a = new Float32Array(5); 10 | f(a,2,5.5); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-361025.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --expose-gc 6 | 7 | var x = new Object(); 8 | x.__defineGetter__('a', function() { return 7 }); 9 | JSON.parse('{"a":2600753951}'); 10 | gc(); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-472504.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Should not crash in ASAN. 6 | function shouldThrow() { 7 | shouldThrow(JSON.parse('{"0":1}')); 8 | } 9 | assertThrows("shouldThrow()", RangeError); 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-380512.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | function f() { [].lastIndexOf(42); } 8 | 9 | f(); 10 | f(); 11 | %OptimizeFunctionOnNextCall(f); 12 | f(); 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-455644.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (function f() { 6 | do { return 23; } while(false); 7 | with (0) { 8 | try { 9 | return 42; 10 | } finally {} 11 | } 12 | })(); 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-542101.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (function() { 6 | Error.prototype.toString.call({ 7 | get name() { return { __proto__: this }; }, 8 | get message() { } 9 | }); 10 | })(); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-599073-3.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | Object.defineProperty(Number.prototype, "v", {get:constructor}); 6 | 7 | function foo(b) { return b.v; } 8 | 9 | foo(2); 10 | foo(3); 11 | foo(4); 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-599073-4.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | Object.defineProperty(Number.prototype, "v", {set:constructor}); 6 | 7 | function foo(b) { b.v = 1; } 8 | 9 | foo(2); 10 | foo(3); 11 | foo(4); 12 | -------------------------------------------------------------------------------- /test/mjsunit/tools/tickprocessor-test.only-summary: -------------------------------------------------------------------------------- 1 | Statistical profiling result from v8.log, (13 ticks, 2 unaccounted, 0 excluded). 2 | 3 | [Summary]: 4 | ticks total nonlib name 5 | 0 0.0% 0.0% JavaScript 6 | 5 38.5% 55.6% C++ 7 | 0 0.0% 0.0% GC 8 | 4 30.8% Shared libraries 9 | 2 15.4% Unaccounted 10 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-reject-expected.txt: -------------------------------------------------------------------------------- 1 | Test Promise rejection. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS promiseState is "pending" 6 | PASS promiseState is "pending" 7 | PASS promiseState is "rejected" 8 | PASS promiseResult is "hello" 9 | PASS successfullyParsed is true 10 | 11 | TEST COMPLETE 12 | 13 | -------------------------------------------------------------------------------- /src/d8-windows.cc: -------------------------------------------------------------------------------- 1 | // Copyright 2009 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | #include "src/d8.h" 6 | 7 | 8 | namespace v8 { 9 | 10 | 11 | void Shell::AddOSMethods(Isolate* isolate, Local os_templ) {} 12 | 13 | 14 | } // namespace v8 15 | -------------------------------------------------------------------------------- /test/message/class-constructor-generator.out: -------------------------------------------------------------------------------- 1 | # Copyright 2014 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:9: SyntaxError: Class constructor may not be a generator 5 | *constructor() {} 6 | ^^^^^^^^^^^ 7 | SyntaxError: Class constructor may not be a generator 8 | -------------------------------------------------------------------------------- /test/message/import-redeclaration.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:8: SyntaxError: Identifier 'foo' has already been declared 5 | import { foo } from "mod"; 6 | ^^^ 7 | SyntaxError: Identifier 'foo' has already been declared 8 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-3938.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 'use strict'; 6 | 7 | assertThrows(function() { for (const i = 0; ; i++) {} }, TypeError); 8 | assertThrows("'use strict'; for (const i = 0; ; i++) {}", TypeError); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-444805.js-script: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | Error.prepareStackTrace = function(dummyObject, v8StackTrace) 6 | { 7 | throw new Error('boom'); 8 | }; 9 | 10 | 11 | throw new Error('just error'); 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-500173.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f(a) { 6 | a.foo = {}; 7 | a[0] = 1; 8 | a.__defineGetter__('foo', function() {}); 9 | a[0] = {}; 10 | a.bar = 0; 11 | } 12 | f(new Array()); 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-5178.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertThrows(() => { 6 | try { throw {} } catch({a=b, b}) { a+b } 7 | }, ReferenceError); 8 | 9 | try { throw {a: 42} } catch({a, b=a}) { assertEquals(42, b) }; 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-605488.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --expose-wasm 6 | 7 | try { 8 | Wasm.instantiateModuleFromAsm(""); 9 | assertTrue(false); 10 | } catch (e) { 11 | print("Caught: " + e); 12 | } 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-357137.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var locals = ""; 6 | for (var i = 0; i < 1024; i++) locals += "var v" + i + ";"; 7 | eval("function f() {" + locals + "f();}"); 8 | assertThrows("f()", RangeError); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-423687.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | var json = '{"a":{"c":2.1,"d":0},"b":{"c":7,"1024":8}}'; 8 | var data = JSON.parse(json); 9 | 10 | data.b.c++; 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-493779.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --enable-slow-asserts 6 | 7 | var s = "\u1234-------"; 8 | for (var i = 0; i < 17; i++) { 9 | s += s; 10 | } 11 | s.replace(/[\u1234]/g, ""); 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-545364.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | (function() { 6 | "use asm"; 7 | return function(x) { 8 | for (var i = 0; i < 100000; ++i) {} 9 | return x; 10 | } 11 | })()(this + "i"); 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-weakening-multiplication.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f() { 6 | for (var j = 1; j < 1; j *= -8) { 7 | } 8 | for (var i = 1; i < 1; j += 2) { 9 | j * -1; 10 | } 11 | } 12 | f(); 13 | -------------------------------------------------------------------------------- /test/message/class-constructor-accessor.out: -------------------------------------------------------------------------------- 1 | # Copyright 2014 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:9: SyntaxError: Class constructor may not be an accessor 5 | get constructor() {} 6 | ^^^^^^^^^^^ 7 | SyntaxError: Class constructor may not be an accessor 8 | -------------------------------------------------------------------------------- /test/mjsunit/compiler/regress-445876.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | function f(x) { 8 | while (1) { s++; } 9 | while (x) { s++; } 10 | } 11 | 12 | assertThrows(function () { f(1); }); 13 | -------------------------------------------------------------------------------- /test/mjsunit/compiler/regress-468162.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var asm = (function() { 6 | "use asm"; 7 | var max = Math.max; 8 | return function f() { return max(0, -17); }; 9 | })(); 10 | 11 | assertEquals(0, asm()); 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-5181.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var target = Object.create(null); 6 | var proxy = new Proxy(target, { 7 | ownKeys: function() { 8 | return ['a']; 9 | } 10 | }); 11 | for (var key in proxy) ; 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-572589.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // Flags: --allow-natives-syntax --no-lazy 6 | 7 | "use strict"; 8 | eval(); 9 | var f = ({x}) => { }; 10 | %OptimizeFunctionOnNextCall(f); 11 | assertThrows(f); 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-599089-array-push.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | 6 | var array = [1.2, 1.2]; 7 | array.length = 0; 8 | array.push(undefined); 9 | assertEquals(1, array.length); 10 | assertEquals([undefined], array); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-412210.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | function f(x) { 8 | return (x ? "" >> 0 : "") + /a/; 9 | }; 10 | 11 | %OptimizeFunctionOnNextCall(f); 12 | f(); 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-522496.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | if (this.Worker) { 6 | var worker = new Worker("onmessage = function(){}"); 7 | var buf = new ArrayBuffer(); 8 | worker.postMessage(buf, [buf]); 9 | } 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-599073-1.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | Object.defineProperty(Boolean.prototype, "v", {get:constructor}); 6 | 7 | function foo(b) { return b.v; } 8 | 9 | foo(true); 10 | foo(true); 11 | foo(true); 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-599073-2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | Object.defineProperty(Boolean.prototype, "v", {set:constructor}); 6 | 7 | function foo(b) { b.v = 1; } 8 | 9 | foo(true); 10 | foo(true); 11 | foo(true); 12 | -------------------------------------------------------------------------------- /test/mjsunit/string-oom-concat.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function concat() { 6 | var a = " "; 7 | for (var i = 0; i < 100; i++) { 8 | a += a; 9 | } 10 | return a; 11 | } 12 | 13 | assertThrows(concat, RangeError); 14 | -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-resolve-with-itself-expected.txt: -------------------------------------------------------------------------------- 1 | Test whether Promise will be rejected if it is resolved with itself. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS rejected 6 | PASS result is "TypeError: Chaining cycle detected for promise #" 7 | PASS successfullyParsed is true 8 | 9 | TEST COMPLETE 10 | 11 | -------------------------------------------------------------------------------- /test/message/rest-param-object-setter-strict.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 'use strict'; 7 | 8 | var _bad = "this should fail!"; 9 | ({ 10 | get bad() { return _bad; }, 11 | set bad(...args) { _bad = args[0]; } 12 | }); 13 | -------------------------------------------------------------------------------- /test/mjsunit/compiler/inline-dead-jscreate.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var bar = 0; 6 | 7 | function baz() { return this; } 8 | 9 | function foo() { 10 | bar += 1; 11 | if (bar === 2) throw new baz(); 12 | } 13 | 14 | foo(); 15 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-4482.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertEquals("function", (function f() { f = 42; return typeof f })()); 6 | assertEquals("function", 7 | (function* g() { g = 42; yield typeof g })().next().value); 8 | -------------------------------------------------------------------------------- /test/mjsunit/harmony/regress/regress-624300.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --harmony-async-await 6 | 7 | (function f() { 8 | try { 9 | f(); 10 | } catch (e) { 11 | (async() => await 1).length; 12 | } 13 | })(); 14 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-347904.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax --stress-runs=2 6 | 7 | var v = /abc/; 8 | function f() { 9 | v = 1578221999; 10 | }; 11 | %OptimizeFunctionOnNextCall(f); 12 | f(); 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-409533.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | function f() { 8 | %_RegExpConstructResult(0, {}, {}); 9 | } 10 | f(); 11 | f(); 12 | %OptimizeFunctionOnNextCall(f); 13 | f(); 14 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-435073.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax --verify-heap 6 | 7 | function test(x) { [x,,]; } 8 | 9 | test(0); 10 | test(0); 11 | %OptimizeFunctionOnNextCall(test); 12 | test(0); 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-4376-3.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function Foo() {} 6 | var x = new Foo(); 7 | function foo() { return x instanceof Foo; } 8 | assertTrue(foo()); 9 | Foo.prototype = 1; 10 | assertThrows(foo, TypeError); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-5010.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | var bound = (function(){}).bind({}); 8 | assertEquals("Function", %_ClassOf(bound)); 9 | assertEquals("Function", %ClassOf(bound)); 10 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-387636.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | function f() { 8 | [].indexOf(0x40000000); 9 | } 10 | 11 | f(); 12 | f(); 13 | %OptimizeFunctionOnNextCall(f); 14 | f(); 15 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-504787.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --noturbo-osr 6 | 7 | function f() { 8 | "use asm"; 9 | function g() { 10 | function f() {}; 11 | } 12 | return g; 13 | } 14 | 15 | f()(); 16 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-595657.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --stack-size=100 6 | 7 | function test() { 8 | try { 9 | test(); 10 | } catch(e) { 11 | /(\2)(a)/.test(""); 12 | } 13 | } 14 | 15 | test(); 16 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-604299.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | Array.prototype.__defineSetter__(0,function(value){}); 6 | 7 | if (this.Intl) { 8 | var o = new Intl.DateTimeFormat('en-US', {'timeZone': 'Asia/Katmandu'}) 9 | } 10 | -------------------------------------------------------------------------------- /test/mjsunit/serialize-embedded-error.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // --serialize-toplevel --cache=code 6 | 7 | var caught = false; 8 | try { 9 | parseInt() = 0; 10 | } catch(e) { 11 | caught = true; 12 | } 13 | assertTrue(caught); 14 | -------------------------------------------------------------------------------- /test/cctest/cctest_exe.isolate: -------------------------------------------------------------------------------- 1 | # Copyright 2016 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | { 5 | 'variables': { 6 | 'files': [ 7 | '<(PRODUCT_DIR)/cctest<(EXECUTABLE_SUFFIX)', 8 | ], 9 | }, 10 | 'includes': [ 11 | '../../src/base.isolate', 12 | ], 13 | } 14 | -------------------------------------------------------------------------------- /test/intl/intl.isolate: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | { 5 | 'variables': { 6 | 'files': [ 7 | './', 8 | ], 9 | }, 10 | 'includes': [ 11 | '../../src/d8.isolate', 12 | '../../tools/testrunner/testrunner.isolate', 13 | ], 14 | } -------------------------------------------------------------------------------- /test/message/destructuring-decl-no-init-obj.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:7: SyntaxError: Missing initializer in destructuring declaration 5 | var { a, b, c }; 6 | ^^^^^^^^^^^ 7 | SyntaxError: Missing initializer in destructuring declaration 8 | -------------------------------------------------------------------------------- /test/message/import-as-eval.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:7: SyntaxError: Unexpected eval or arguments in strict mode 5 | import { foo as eval } from "mod"; 6 | ^^^^ 7 | SyntaxError: Unexpected eval or arguments in strict mode 8 | -------------------------------------------------------------------------------- /test/message/regress/regress-4266.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | *%(basename)s:9: TypeError: [].foo is not a function 6 | throw e; 7 | ^ 8 | TypeError: [].foo is not a function 9 | at *%(basename)s:7:8 10 | at *%(basename)s:11:3 11 | -------------------------------------------------------------------------------- /test/mjsunit/compiler/regress-446647.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --always-opt --turbo-filter=* --allow-natives-syntax 6 | 7 | function f(a,b) { 8 | a%b 9 | }; 10 | 11 | f({ toString : function() { %DeoptimizeFunction(f); }}); 12 | -------------------------------------------------------------------------------- /test/mjsunit/compiler/regress-447567.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | assertThrows(function () { 6 | Object.freeze(new Int8Array(1)) 7 | }); 8 | 9 | assertThrows(function() { 10 | "use strict"; 11 | const v = 42; 12 | v += 1; 13 | }); 14 | -------------------------------------------------------------------------------- /test/mjsunit/regress-crbug-528379.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --enable-slow-asserts 6 | 7 | Error.prepareStackTrace = function(e, frames) { return frames; } 8 | assertThrows(function() { new Error().stack[0].getMethodName.call({}); }); 9 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-499790.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --enable-slow-asserts 6 | 7 | var a = [1]; 8 | a.foo = "bla"; 9 | delete a.foo; 10 | a[0] = 1.5; 11 | 12 | var a2 = []; 13 | a2.foo = "bla"; 14 | delete a2.foo; 15 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-357052.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f() { 6 | var str = ""; 7 | for (var i = 0; i < 30; i++) { 8 | str += "abcdefgh12345678" + str; 9 | } 10 | return str; 11 | } 12 | assertThrows(f); 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-382513.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | function foo() { return [+0,false].indexOf(-(4/3)); } 8 | foo(); 9 | foo(); 10 | %OptimizeFunctionOnNextCall(foo); 11 | foo(); 12 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-crbug-489597.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | try { 6 | load("test/mjsunit/regress/regress-crbug-489597.js-script"); 7 | } catch (e) { 8 | } 9 | 10 | var o = this; 11 | Error.captureStackTrace(o); 12 | o.stack; 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-keyed-store-global.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax --verify-heap 6 | function f(a) { 7 | for (var i = 0; i < 256; i++) a[i] = i; 8 | } 9 | 10 | f([]); 11 | f([]); 12 | f(this); 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-opt-typeof-null.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | function f() { 8 | return typeof null === "object"; 9 | }; 10 | 11 | %OptimizeFunctionOnNextCall(f); 12 | assertTrue(f()); 13 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-sort-arguments.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function f(a) { return arguments; } 6 | var a = f(1,2,3); 7 | delete a[1]; 8 | Array.prototype.sort.apply(a); 9 | a[10000000] = 4; 10 | Array.prototype.sort.apply(a); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-undefined-nan2.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | function foo(a, i) { 6 | var o = [0.5,,1]; 7 | a[i] = o[i]; 8 | } 9 | var a1 = [0.1,0.1]; 10 | foo(a1, 0); 11 | foo(a1, 1); 12 | assertEquals(undefined, a1[1]); 13 | -------------------------------------------------------------------------------- /test/simdjs/simdjs.isolate: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | { 5 | 'variables': { 6 | 'files': [ 7 | './', 8 | ], 9 | }, 10 | 'includes': [ 11 | '../../src/d8.isolate', 12 | '../../tools/testrunner/testrunner.isolate', 13 | ], 14 | } -------------------------------------------------------------------------------- /test/webkit/fast/js/Promise-then-callback-receiver-expected.txt: -------------------------------------------------------------------------------- 1 | Test whether then callback receivers are correctly set. 2 | 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 | 5 | PASS fulfilled 6 | PASS thisInOnFulfilled is undefined 7 | PASS rejected 8 | PASS thisInOnRejected is undefined 9 | PASS successfullyParsed is true 10 | 11 | TEST COMPLETE 12 | 13 | -------------------------------------------------------------------------------- /test/webkit/webkit.isolate: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | { 5 | 'variables': { 6 | 'files': [ 7 | './', 8 | ], 9 | }, 10 | 'includes': [ 11 | '../../src/d8.isolate', 12 | '../../tools/testrunner/testrunner.isolate', 13 | ], 14 | } -------------------------------------------------------------------------------- /benchmarks/v8.json: -------------------------------------------------------------------------------- 1 | { 2 | "path": ["."], 3 | "main": "run.js", 4 | "run_count": 2, 5 | "results_regexp": "^%s: (.+)$", 6 | "tests": [ 7 | {"name": "Richards"}, 8 | {"name": "DeltaBlue"}, 9 | {"name": "Crypto"}, 10 | {"name": "RayTrace"}, 11 | {"name": "EarleyBoyer"}, 12 | {"name": "RegExp"}, 13 | {"name": "Splay"}, 14 | {"name": "NavierStokes"} 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /test/message/destructuring-decl-no-init-array.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:7: SyntaxError: Missing initializer in destructuring declaration 5 | var [ a, b, c ]; 6 | ^^^^^^^^^^^ 7 | SyntaxError: Missing initializer in destructuring declaration 8 | -------------------------------------------------------------------------------- /test/message/import-as-redeclaration.out: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | *%(basename)s:8: SyntaxError: Identifier 'foo' has already been declared 5 | import { bar as foo } from "mod"; 6 | ^^^ 7 | SyntaxError: Identifier 'foo' has already been declared 8 | -------------------------------------------------------------------------------- /test/message/message.isolate: -------------------------------------------------------------------------------- 1 | # Copyright 2015 the V8 project authors. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | { 5 | 'variables': { 6 | 'files': [ 7 | './', 8 | ], 9 | }, 10 | 'includes': [ 11 | '../../src/d8.isolate', 12 | '../../tools/testrunner/testrunner.isolate', 13 | ], 14 | } -------------------------------------------------------------------------------- /test/message/rest-param-class-setter-strict.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | // 5 | // 6 | 'use strict'; 7 | 8 | var _bad = "setting this should fail!"; 9 | class C { 10 | get bad() { return _bad; } 11 | set bad(...args) { _bad = args[0]; } 12 | } 13 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-in-binop-rhs.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --harmony-explicit-tailcalls 6 | "use strict"; 7 | 8 | function f() { 9 | return 1; 10 | } 11 | 12 | function g() { 13 | return b + continue f() ; 14 | } 15 | -------------------------------------------------------------------------------- /test/message/syntactic-tail-call-without-return.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --harmony-explicit-tailcalls 6 | "use strict"; 7 | 8 | function f() { 9 | return 1; 10 | } 11 | 12 | function g() { 13 | var x = continue f() ; 14 | } 15 | -------------------------------------------------------------------------------- /test/mjsunit/es6/regress/regress-347906.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | function foo() { 8 | return Math.clz32(12.34); 9 | } 10 | 11 | foo(); 12 | foo(); 13 | %OptimizeFunctionOnNextCall(foo); 14 | foo(); 15 | -------------------------------------------------------------------------------- /test/mjsunit/harmony/regress/regress-typedarray-out-of-bounds.js: -------------------------------------------------------------------------------- 1 | // Copyright 2015 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | var a = new Int32Array(10); 6 | function f(a) { a["-1"] = 15; } 7 | for (var i = 0; i < 3; i++) { 8 | f(a); 9 | } 10 | assertEquals(undefined, a[-1]); 11 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-355486.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | // Flags: --allow-natives-syntax 6 | 7 | function f() { var v = arguments[0]; } 8 | function g() { f(); } 9 | 10 | g(); 11 | g(); 12 | %OptimizeFunctionOnNextCall(g); 13 | g(); 14 | -------------------------------------------------------------------------------- /test/mjsunit/regress/regress-583260.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 the V8 project authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style license that can be 3 | // found in the LICENSE file. 4 | 5 | __v_1 = { 6 | has() { return true } 7 | }; 8 | __v_2 = new Proxy({}, __v_1); 9 | function __f_5(object) { 10 | with (object) { return delete __v_3; } 11 | } 12 | __f_5(__v_2) 13 | --------------------------------------------------------------------------------