Mads Ager
1f4a3b0d1c
[JVM_IR] Avoid safe-call conversions from Byte? and Short? to Int? for
...
comparisons.
Having those conversions leads to unnecesary boxing and null checks.
This change does it only for JVM in the optimization lowering. It
is unclear to me if the other backends can get away with something
similar.
2020-05-08 11:39:30 +03:00
Dmitry Petrov
3143b15a17
Generate widening cast for Byte and Short to Int
2020-05-06 14:42:37 +03:00
Mads Ager
db17184cfd
[JVM_IR] Avoid some boxing when comparing boxed primitives to primitives.
2020-05-01 13:14:20 +03:00
Dmitry Petrov
94d20d9176
Update bytecode text tests in JVM_IR
2020-02-17 23:52:48 +03:00
Mads Ager
3a11322506
Enable bytecode text tests for the JVM_IR backend.
2018-12-21 16:20:45 +01:00
Dmitry Petrov
e1a55e8dec
Prefer compact bytecode for primitive/object comparisons with Boolean
...
'java.lang.Boolean#valueOf' doesn't allocate new objects
(it uses pre-allocated singletons for 'true' and 'false').
2017-07-21 08:52:29 +03:00
Dmitry Petrov
8e9c0294fe
Do not box primitives for 'primitive == object'
...
NB user-defined 'equals' can violate contract for 'Object#equals', e.g.,
it can be asymmetric.
Thus we can't avoid boxing for 'object == primitive'.
2017-07-21 08:52:29 +03:00