class AdLint::Cc1::Memory
Attributes
address[R]
byte_size[R]
Public Class Methods
new(addr, byte_size)
click to toggle source
# File lib/adlint/cc1/object.rb, line 1167 def initialize(addr, byte_size) @address = addr @byte_size = byte_size @value = nil end
Public Instance Methods
_cascade_update(src, br)
click to toggle source
# File lib/adlint/cc1/object.rb, line 1196 def _cascade_update(src, br) # NOTE: This method will be called only from # #narrow_value_domain! and # #widen_value_domain! of Variable to propagate memory mutation to # the upper MemoryBlock from MemoryWindow. end
dynamic?()
click to toggle source
# File lib/adlint/cc1/object.rb, line 1180 def dynamic? subclass_responsibility end
read()
click to toggle source
# File lib/adlint/cc1/object.rb, line 1184 def read @value end
static?()
click to toggle source
# File lib/adlint/cc1/object.rb, line 1176 def static? subclass_responsibility end
write(val, src, br)
click to toggle source
# File lib/adlint/cc1/object.rb, line 1188 def write(val, src, br) if @value @value.overwrite!(val, TransitionTag.new([src], [br])) else @value = VersionedValue.new(val, TransitionTag.new([src], [br])) end end