Bug 152922

Summary: FTL B3 compile() doesn't clear exception handlers before we add FTL-specific ones
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, keith_miller, mark.lam, msaboff, saam
Priority: P2    
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 150279    
Attachments:
Description Flags
the patch saam: review+

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