[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