-
Tobias Tebbi authored
- Introduce the new union type UnionType<T1,T2>, used for Number and Numeric. Similarly, PairType<T1,T2> is used for a Turbofan operation with two results. Further details in the design doc: https://docs.google.com/document/d/10foP3m7SDWyFfbda96iEJ_XYOLQdd32AeoP8SD1cTcs/edit#heading=h.bghdno28mr7u - Allow to derive the MachineType from a static type. This allows to select the right MachineType when performing a load/store. - Disallow casts (UncheckedCast() or CAST()) when the target and origin type have no overlap. New cast ReinterpretCast() is an UncheckedCast without this check. - Caveat of this CL: Checked casts (CAST()) are not possible for UnionType<T1,T2> with the exception of Number (due to the existence of Number in OBJECT_TYPE_LIST and the existence of an IsNumber() function in the runtime). Bug: v8:6949 Change-Id: I21a683d1341f69cebd8a347f545b454b463c52ad Reviewed-on: https://chromium-review.googlesource.com/723320 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#48796}
5917d5c1