Bug 143160 - jsc stress tests failing with debugger enabled
Summary: jsc stress tests failing with debugger enabled
Status: ASSIGNED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mark Lam
URL:
Keywords: InRadar
Depends on:
Blocks: 143105
  Show dependency treegraph
 
Reported: 2015-03-27 15:44 PDT by Mark Lam
Modified: 2017-01-18 23:39 PST (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Lam 2015-03-27 15:44:47 PDT
By setting Options::forceDebuggerBytecodeGeneration() = true to force the BytecodeGenerator to generate debugger friendly bytecode, the JSC stress tests now fails as follows:

** The following JSC stress test failures have been introduced:
	jsc-layout-tests.yaml/js/script-tests/arguments-iterator.js.layout
	jsc-layout-tests.yaml/js/script-tests/arguments-iterator.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/arguments-iterator.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/arguments-iterator.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/arguments-iterator.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/arguments-iterator.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/arguments-iterator.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/arguments.js.layout
	jsc-layout-tests.yaml/js/script-tests/arguments.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/arguments.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/arguments.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/arguments.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/arguments.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/arguments.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/basic-strict-mode.js.layout
	jsc-layout-tests.yaml/js/script-tests/basic-strict-mode.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/basic-strict-mode.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/basic-strict-mode.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/basic-strict-mode.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/basic-strict-mode.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/basic-strict-mode.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/class-syntax-default-constructor.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout
	jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/class-syntax-name.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/const.js.layout
	jsc-layout-tests.yaml/js/script-tests/const.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/const.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/const.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/const.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/const.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/const.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/constant-count.js.layout
	jsc-layout-tests.yaml/js/script-tests/constant-count.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/constant-count.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/constant-count.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/constant-count.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/constant-count.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/constant-count.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-double.js.layout
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-double.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-double.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-double.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-double.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-double.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-double.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-int32.js.layout
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-int32.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-int32.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-int32.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-int32.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-int32.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-int32.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset-changetype.js.layout
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset-changetype.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset-changetype.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset-changetype.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset-changetype.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset-changetype.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset-changetype.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset.js.layout
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/function-dot-arguments.js.layout
	jsc-layout-tests.yaml/js/script-tests/function-dot-arguments.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/function-dot-arguments.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/function-dot-arguments.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/function-dot-arguments.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/function-dot-arguments.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/function-dot-arguments.js.layout-no-llint
	jsc-layout-tests.yaml/js/script-tests/named-function-expression.js.layout
	jsc-layout-tests.yaml/js/script-tests/named-function-expression.js.layout-dfg-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/named-function-expression.js.layout-ftl
	jsc-layout-tests.yaml/js/script-tests/named-function-expression.js.layout-ftl-eager-no-cjit
	jsc-layout-tests.yaml/js/script-tests/named-function-expression.js.layout-ftl-no-cjit
	jsc-layout-tests.yaml/js/script-tests/named-function-expression.js.layout-no-cjit
	jsc-layout-tests.yaml/js/script-tests/named-function-expression.js.layout-no-llint
	regress/script-tests/deltablue-varargs.js.dfg-eager-no-cjit-validate
	regress/script-tests/deltablue-varargs.js.ftl-eager-no-cjit
	regress/script-tests/deltablue-varargs.js.ftl-no-cjit-validate
	regress/script-tests/deltablue-varargs.js.no-cjit-validate-phases

Results for JSC stress tests:
    89 failures found.

I haven't investigated the rest of the failures yet, but at least the constant-count.js case is a regression.
Comment 1 Radar WebKit Bug Importer 2015-03-27 15:51:44 PDT
<rdar://problem/20333500>
Comment 2 Mark Lam 2015-03-27 16:42:30 PDT
The source of the constant-count.js regression is http://trac.webkit.org/changeset/174226.