RESOLVED FIXED 187477
[JSC] Embed RegExp into constant buffer in UnlinkedCodeBlock and CodeBlock
https://bugs.webkit.org/show_bug.cgi?id=187477
Summary [JSC] Embed RegExp into constant buffer in UnlinkedCodeBlock and CodeBlock
Yusuke Suzuki
Reported 2018-07-09 11:32:21 PDT
[JSC] Embed RegExp into constant buffer in UnlinkedCodeBlock and CodeBlock
Attachments
Patch (16.42 KB, patch)
2018-07-09 11:34 PDT, Yusuke Suzuki
mark.lam: review+
ews-watchlist: commit-queue-
Archive of layout-test-results from ews205 for win-future (12.79 MB, application/zip)
2018-07-09 13:52 PDT, EWS Watchlist
no flags
Yusuke Suzuki
Comment 1 2018-07-09 11:34:48 PDT
EWS Watchlist
Comment 2 2018-07-09 13:52:23 PDT
Comment on attachment 344598 [details] Patch Attachment 344598 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/8484735 New failing tests: http/tests/preload/onload_event.html
EWS Watchlist
Comment 3 2018-07-09 13:52:34 PDT
Created attachment 344609 [details] Archive of layout-test-results from ews205 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews205 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Mark Lam
Comment 4 2018-07-09 14:07:51 PDT
Comment on attachment 344598 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=344598&action=review r=me with suggested change. > Source/JavaScriptCore/runtime/JSCJSValue.cpp:277 > + out.print("RegExp: "); > + RegExp::dumpToStream(asCell(), out); If you implement WTF::printInternal (see below), then this reduces to: out.print("RegExp: ", jsCast<RegExp*>(asCell())); > Source/JavaScriptCore/runtime/RegExp.cpp:528 > +void RegExp::dumpToStream(const JSCell* cell, PrintStream& out) I recommend making this a WTF::printInternal instead so that we can use it with dataLog print streams directly. Grep for "printInternal(PrintStream&" for examples.
Yusuke Suzuki
Comment 5 2018-07-09 14:21:47 PDT
Comment on attachment 344598 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=344598&action=review Thanks! >> Source/JavaScriptCore/runtime/JSCJSValue.cpp:277 >> + RegExp::dumpToStream(asCell(), out); > > If you implement WTF::printInternal (see below), then this reduces to: > out.print("RegExp: ", jsCast<RegExp*>(asCell())); I've changed this code to `out.print("RegExp: ", *jsCast<RegExp*>(asCell())));`. It works since we override dumpToStream in RegExp. >> Source/JavaScriptCore/runtime/RegExp.cpp:528 >> +void RegExp::dumpToStream(const JSCell* cell, PrintStream& out) > > I recommend making this a WTF::printInternal instead so that we can use it with dataLog print streams directly. Grep for "printInternal(PrintStream&" for examples. We override RegExp::dumpToStream, which is well utilized in JSCell ClassInfo mechanism!
Yusuke Suzuki
Comment 6 2018-07-09 14:29:46 PDT
Radar WebKit Bug Importer
Comment 7 2018-07-09 14:31:12 PDT
Note You need to log in before you can comment on or make changes to this bug.