• Daniel Clifford's avatar
    [torque] Add new and refine existing Torque intrinsic support · 79605b45
    Daniel Clifford authored
    Intrinsic changes:
    
    - Rename %RawCast to %RawObjectCast and add error checking so that it
      only applies to subtypes of Objects.
    
    - Add %RawPointerCast, which is similar to %RawObjectCast but must be
      used for all subtypes of RawPtr.
    
    - Add %RawConstexprCast, which allows one constexpr to be be cast to
      another at compile time. It translate to an appropriate static_cast
      in the generated code
    
    - Add %FromConstexpr, which handles most of the standard cases of
      generating XXXConstant CSA nodes from constexpr constants. It uses
      either SmiConstant, NumberConstant, StringConstant, IntPtrConstant
      or Int32Constant, depending on the cast-to type generic <To> type.
    
    - Add support for intrinsics that return constexpr results.
    
    Cleanup:
    
    - Turn FromConstexpr into a generic with two generic types, a <To> and
      a <From> type. Most FromConstexpr can use the new %FromConstexpr
      intrinsic rather than provide an explicit implementation.
    
    Bug: v8:7793
    Change-Id: Icab5db16d203034ec157fa3ad5157d10c7dc8464
    Reviewed-on: https://chromium-review.googlesource.com/c/1357049
    Commit-Queue: Daniel Clifford <danno@chromium.org>
    Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58049}
    79605b45
types.h 17.2 KB