Bug 152922 - FTL B3 compile() doesn't clear exception handlers before we add FTL-specific ones
Summary: FTL B3 compile() doesn't clear exception handlers before we add FTL-specific ...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks: 150279
  Show dependency treegraph
 
Reported: 2016-01-08 13:24 PST by Filip Pizlo
Modified: 2016-01-08 13:43 PST (History)
5 users (show)

See Also:


Attachments
the patch (4.18 KB, patch)
2016-01-08 13:27 PST, Filip Pizlo
saam: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2016-01-08 13:24:34 PST
This causes amusing things to happen when the callsite index overlaps with the bytecode index of some handler.
Comment 1 Filip Pizlo 2016-01-08 13:27:20 PST
Created attachment 268577 [details]
the patch
Comment 2 Saam Barati 2016-01-08 13:28:38 PST
Comment on attachment 268577 [details]
the patch

lol, sounds amusing, indeed
r=me
Comment 3 Filip Pizlo 2016-01-08 13:43:17 PST
Landed in http://trac.webkit.org/changeset/194786

Now the test failure list is:

** The following JSC stress test failures have been introduced:
	regress/script-tests/call-spread-apply.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/call-spread-call.js.ftl-no-cjit-no-inline-validate
	regress/script-tests/varargs-strict-mode.js.ftl-no-cjit-no-inline-validate
	stress/load-varargs-then-inlined-call-and-exit-strict.js.ftl-no-cjit-no-inline-validate
	stress/op_negate.js.ftl-no-cjit
	stress/reflect-apply.js.ftl-eager-no-cjit
	stress/tail-call-varargs-no-stack-overflow.js.ftl-eager
	stress/tail-call-varargs-no-stack-overflow.js.ftl-eager-no-cjit
	stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-no-inline-validate
	stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-no-put-stack-validate
	stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-small-pool
	stress/tail-call-varargs-no-stack-overflow.js.ftl-no-cjit-validate
	stress/varargs-varargs-inlined-exit-strict-mode.js.ftl-no-cjit-no-inline-validate