projects
/
platform
/
upstream
/
dotnet
/
runtime.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8c15f10
)
[interp] Use +=, *= etc. Seems to generate identical code though. (mono/mono#16848)
author
Jay Krell
<jaykrell@microsoft.com>
Tue, 17 Sep 2019 10:23:19 +0000
(
03:23
-0700)
committer
Vlad Brezae
<brezaevlad@gmail.com>
Tue, 17 Sep 2019 10:23:19 +0000
(13:23 +0300)
i.e. a = a op b is *not* double evaluating a.
Commit migrated from https://github.com/mono/mono/commit/
fb71d475437ffab6fbfb97962f375af5571c775f
src/mono/mono/mini/interp/interp.c
patch
|
blob
|
history
diff --git
a/src/mono/mono/mini/interp/interp.c
b/src/mono/mono/mini/interp/interp.c
index
aabb03f
..
97c02a9
100644
(file)
--- a/
src/mono/mono/mini/interp/interp.c
+++ b/
src/mono/mono/mini/interp/interp.c
@@
-4157,7
+4157,7
@@
common_vcall:
MINT_IN_BREAK;
#define BINOP(datamem, op) \
--sp; \
- sp [-1].data.datamem
= sp [-1].data.datamem op
sp [0].data.datamem; \
+ sp [-1].data.datamem
op ## =
sp [0].data.datamem; \
++ip;
MINT_IN_CASE(MINT_ADD_I4)
BINOP(i, +);
@@
-4303,7
+4303,7
@@
common_vcall:
#define SHIFTOP(datamem, op) \
--sp; \
- sp [-1].data.datamem
= sp [-1].data.datamem op
sp [0].data.i; \
+ sp [-1].data.datamem
op ## =
sp [0].data.i; \
++ip;
MINT_IN_CASE(MINT_SHL_I4)