[JSC] OSR entry should respect abstract values in addition to flush formats
Created attachment 364490 [details] Patch
Attachment 364490 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/ChangeLog:14: Line contains tab character. [whitespace/tab] [5] ERROR: Source/JavaScriptCore/ChangeLog:15: Line contains tab character. [whitespace/tab] [5] ERROR: Source/JavaScriptCore/ChangeLog:16: Line contains tab character. [whitespace/tab] [5] Total errors found: 3 in 4 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 364491 [details] Patch
Comment on attachment 364491 [details] Patch r=me
Comment on attachment 364491 [details] Patch Clearing flags on attachment: 364491 Committed r242841: <https://trac.webkit.org/changeset/242841>
All reviewed patches have been landed. Closing bug.
<rdar://problem/48834271>
<rdar://problem/48766554>
Comment on attachment 364491 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=364491&action=review > Source/JavaScriptCore/dfg/DFGOSREntry.cpp:228 > + if (!value) { how is this the right check?
Comment on attachment 364491 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=364491&action=review > Source/JavaScriptCore/dfg/DFGOSREntry.cpp:215 > + if (!entry->m_expectedValues.local(local).validate(value)) { > + if (Options::verboseOSR()) { > + dataLog( > + " OSR failed because variable ", VirtualRegister(localOffset), " is ", > + value, ", expected ", > + entry->m_expectedValues.local(local), ".\n"); > + } > + return 0; > + } Why are any below checks needed if this is done?
Comment on attachment 364491 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=364491&action=review >> Source/JavaScriptCore/dfg/DFGOSREntry.cpp:215 >> + } > > Why are any below checks needed if this is done? Yes, and I found that this patch is conservative for AnyInt and Double cases. I've created the follow-up patch. https://bugs.webkit.org/show_bug.cgi?id=195752 >> Source/JavaScriptCore/dfg/DFGOSREntry.cpp:228 >> + if (!value) { > > how is this the right check? Ooooops, fixed in the follow-up patch.