Bug 191092

Summary: [JSC][LLInt] Compact LLInt ASM code by removing unnecessary instructions
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: New BugsAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, fpizlo, keith_miller, mark.lam, msaboff, saam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch saam: review+

Yusuke Suzuki
Reported 2018-10-30 16:42:44 PDT
[JSC][LLInt] Compact LLInt ASM code by removing unnecessary instructions
Attachments
Patch (8.95 KB, patch)
2018-10-30 16:45 PDT, Yusuke Suzuki
no flags
Patch (8.95 KB, patch)
2018-10-30 17:15 PDT, Yusuke Suzuki
no flags
Patch (8.90 KB, patch)
2018-10-30 22:18 PDT, Yusuke Suzuki
saam: review+
Yusuke Suzuki
Comment 1 2018-10-30 16:45:32 PDT
Yusuke Suzuki
Comment 2 2018-10-30 17:15:07 PDT
Yusuke Suzuki
Comment 3 2018-10-30 22:18:36 PDT
Saam Barati
Comment 4 2018-10-30 22:26:31 PDT
Comment on attachment 353444 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=353444&action=review r=me if you fix arm64 > Source/JavaScriptCore/offlineasm/arm64.rb:491 > + emitARM64LShift([Immediate.new(nil, imm.to_s(2).size - 1), operands[1]], kind) What does size return? Why not just log base 2?
Yusuke Suzuki
Comment 5 2018-10-30 23:11:52 PDT
Comment on attachment 353444 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=353444&action=review >> Source/JavaScriptCore/offlineasm/arm64.rb:491 >> + emitARM64LShift([Immediate.new(nil, imm.to_s(2).size - 1), operands[1]], kind) > > What does size return? Why not just log base 2? to_s(2) returns string with radix = 2. So, imm (4) .to_s(2) returns "100". "100".size - 1 => 2, which is the same to Math.log2(4).to_i. Changed to `Math.log2(imm).to_i`.
Yusuke Suzuki
Comment 6 2018-10-30 23:14:09 PDT
Radar WebKit Bug Importer
Comment 7 2018-10-30 23:15:25 PDT
Note You need to log in before you can comment on or make changes to this bug.