[Webkit-unassigned] [Bug 142953] New: DFG JIT code for BitAnd may be redundantly checking that the results is an int32.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sun Mar 22 18:28:41 PDT 2015
https://bugs.webkit.org/show_bug.cgi?id=142953
Bug ID: 142953
Summary: DFG JIT code for BitAnd may be redundantly checking
that the results is an int32.
Classification: Unclassified
Product: WebKit
Version: 528+ (Nightly build)
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: JavaScriptCore
Assignee: webkit-unassigned at lists.webkit.org
Reporter: dtc-llvm at scieneer.com
For BitAnd with a constant int32 argument the result is known to be an int32. However function 'int32Result()' emits the int32 assertion 'jitAssertIsInt32(reg)' that looks redundant. For example:
87:< 3:loc13> BitAnd(Int32:@76, Int32:@84, Int32|PureNum|UseAsOther|UseAsInt|ReallyWantsInt, Int32, bc#117)
0x7f2d12000716: mov %r9, %r10
0x7f2d12000719: and $0x7fc, %r10d
0x7f2d12000720: mov $0xffffffff, %r11 ; redundant int32 assertion?
0x7f2d1200072a: cmp %r11, %r10
0x7f2d1200072d: jbe 0x7f2d1200073a
0x7f2d12000733: mov $0x32, %r11d
0x7f2d12000739: int3
There seems to be potential to optimize away this assertion, at least for the case of BitAnd with a constant int32 argument.
Might the arguments to the bitwise operations always be int32 values when emitting this code? If so then might the result always be int32 for them?
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150323/ba203822/attachment-0002.html>
More information about the webkit-unassigned
mailing list