• mbrandy's avatar
    PPC: [date] Refactor the %_DateField intrinsic to be optimizable. · 92d5c48f
    mbrandy authored
    Port e4782a9b
    
    Original commit message:
    Previously the %_DateField intrinsic would also check the object and
    throw an exception if you happen to pass something that is not a valid
    JSDate, which (a) violates our policy for instrinsics and (b) is hard to
    optimize in TurboFan (even Crankshaft has a hard time, but there we will
    never inline the relevant builtins, so it doesn't show up). The throwing
    part is now a separate intrinsics %_ThrowIfNotADate that throws an
    exception in full codegen and deoptimizes in Crankshaft, which means the
    code for the current use cases is roughly the same (modulo some register
    renamings/gap moves).
    
    R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    
    Review URL: https://codereview.chromium.org/1170463002
    
    Cr-Commit-Position: refs/heads/master@{#28794}
    92d5c48f
lithium-ppc.cc 85.7 KB