-
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: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#58049}
79605b45