diff options
Diffstat (limited to 'src/main/java/com/amazon/carbonado')
| -rw-r--r-- | src/main/java/com/amazon/carbonado/spi/StorableGenerator.java | 16 | 
1 files changed, 5 insertions, 11 deletions
| diff --git a/src/main/java/com/amazon/carbonado/spi/StorableGenerator.java b/src/main/java/com/amazon/carbonado/spi/StorableGenerator.java index aad7d87..93f9b38 100644 --- a/src/main/java/com/amazon/carbonado/spi/StorableGenerator.java +++ b/src/main/java/com/amazon/carbonado/spi/StorableGenerator.java @@ -2382,15 +2382,7 @@ public final class StorableGenerator<S extends Storable> {              if ((ordinal & 0xf) == 0 || ordinal >= count) {
                  String stateFieldName = PROPERTY_STATE_FIELD_NAME + ((ordinal - 1) >> 4);
                  if (name == MARK_ALL_PROPERTIES_DIRTY) {
 -                    if (orMask == 0) {
 -                        if (andMask != 0) {
 -                            b.loadThis();
 -                            b.loadField(stateFieldName, TypeDesc.INT);
 -                            b.loadConstant(~andMask);
 -                            b.math(Opcode.IAND);
 -                            b.storeField(stateFieldName, TypeDesc.INT);
 -                        }
 -                    } else {
 +                    if (orMask != 0 || andMask != 0) {
                          b.loadThis(); // [this
                          b.loadThis(); // [this, this
                          b.loadField(stateFieldName, TypeDesc.INT); // [this, this.stateField
 @@ -2398,8 +2390,10 @@ public final class StorableGenerator<S extends Storable> {                              b.loadConstant(~andMask);
                              b.math(Opcode.IAND);
                          }
 -                        b.loadConstant(orMask);
 -                        b.math(Opcode.IOR);
 +                        if (orMask != 0) {
 +                            b.loadConstant(orMask);
 +                            b.math(Opcode.IOR);
 +                        }
                          b.storeField(stateFieldName, TypeDesc.INT);
                      }
                  } else {
 | 
