WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
244193
JSC DFG Int8Array constructor should throw an exception when the parameter is illegal.
https://bugs.webkit.org/show_bug.cgi?id=244193
Summary
JSC DFG Int8Array constructor should throw an exception when the parameter is...
EntryHi
Reported
2022-08-22 04:04:54 PDT
let counta = 0 let countb = 0 function ftlFunction(callee) { callee("hello"); counta++ } ftlFunction(Math.abs); for (var i = 0; i < 1000; ++i) { try { ftlFunction(Int8Array); } catch (e) { countb++ } } print(counta, countb) With the above script as input to JSC, run JSC with the following parameters: ./jsc test.js --useConcurrentJIT=0 --jitPolicyScale=1 Int8Array("hello") should throw an exception. But in JIT, it does not throw an exception. The problem is in DFGBytecodeParser, the bytecode call is directly inlined as NewTypedArray node. In this way, Int8Array("hello") generate a typedArray instead of throwing an exception. The execution trace is handleCall -> handleInlining -> handleCallVariant -> handleConstantInternalFunction -> handleTypedArrayConstructor in DFGByteCodeParser.cpp.
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2022-08-29 04:05:18 PDT
<
rdar://problem/99270956
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug