From 62fe4c1e9fc28254d357e9755cf4bd2138753c17 Mon Sep 17 00:00:00 2001 From: buzbee Date: Mon, 11 Apr 2011 14:07:34 -0700 Subject: [PATCH] Add missing JUMBO opcodes to volatile rewriting The boolean/byte/char/short variants of iget/iput/sget/sput were not being correctly converted to _VOLATILE opcodes for SMP builds. Change-Id: Ic81d75f9c927325d54a98465c146b6d43ea204f4 --- vm/analysis/Optimize.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/vm/analysis/Optimize.c b/vm/analysis/Optimize.c index 8b5acbbf8..be59471aa 100644 --- a/vm/analysis/Optimize.c +++ b/vm/analysis/Optimize.c @@ -246,6 +246,10 @@ rewrite_inst_field: break; case OP_IGET_JUMBO: + case OP_IGET_BOOLEAN_JUMBO: + case OP_IGET_BYTE_JUMBO: + case OP_IGET_CHAR_JUMBO: + case OP_IGET_SHORT_JUMBO: if (forSmp) volatileOpc = OP_IGET_VOLATILE_JUMBO; goto rewrite_jumbo_inst_field; @@ -257,6 +261,10 @@ rewrite_inst_field: volatileOpc = OP_IGET_OBJECT_VOLATILE_JUMBO; goto rewrite_jumbo_inst_field; case OP_IPUT_JUMBO: + case OP_IPUT_BOOLEAN_JUMBO: + case OP_IPUT_BYTE_JUMBO: + case OP_IPUT_CHAR_JUMBO: + case OP_IPUT_SHORT_JUMBO: if (forSmp) volatileOpc = OP_IPUT_VOLATILE_JUMBO; goto rewrite_jumbo_inst_field; @@ -308,6 +316,10 @@ rewrite_static_field: break; case OP_SGET_JUMBO: + case OP_SGET_BOOLEAN_JUMBO: + case OP_SGET_BYTE_JUMBO: + case OP_SGET_CHAR_JUMBO: + case OP_SGET_SHORT_JUMBO: if (forSmp) volatileOpc = OP_SGET_VOLATILE_JUMBO; goto rewrite_jumbo_static_field; @@ -319,6 +331,10 @@ rewrite_static_field: volatileOpc = OP_SGET_OBJECT_VOLATILE_JUMBO; goto rewrite_jumbo_static_field; case OP_SPUT_JUMBO: + case OP_SPUT_BOOLEAN_JUMBO: + case OP_SPUT_BYTE_JUMBO: + case OP_SPUT_CHAR_JUMBO: + case OP_SPUT_SHORT_JUMBO: if (forSmp) volatileOpc = OP_SPUT_VOLATILE_JUMBO; goto rewrite_jumbo_static_field; -- 2.11.0