1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company 2// All rights reserved. 3// 4// The license below extends only to copyright in the software and shall 5// not be construed as granting a license to any other intellectual 6// property including but not limited to intellectual property relating 7// to a hardware implementation of the functionality of the software 8// licensed hereunder. You may use the software subject to the license --- 268 unchanged lines hidden (view full) --- 277 [self.scale, self.index, self.base] = addr 278 self.disp = disp 279 self.segment = segment 280 self.dataSize = dataSize 281 self.addressSize = addressSize 282 self.memFlags = baseFlags 283 if atCPL0: 284 self.memFlags += " | (CPL0FlagBit << FlagShift)" |
285 self.instFlags = "" |
286 if prefetch: 287 self.memFlags += " | Request::PREFETCH" |
288 self.instFlags += " | StaticInst::IsDataPrefetch" |
289 self.memFlags += " | (machInst.legacy.addr ? " + \ 290 "(AddrSizeFlagBit << FlagShift) : 0)" 291 292 def getAllocator(self, microFlags): 293 allocator = '''new %(class_name)s(machInst, macrocodeBlock, 294 %(flags)s, %(scale)s, %(index)s, %(base)s, 295 %(disp)s, %(segment)s, %(data)s, 296 %(dataSize)s, %(addressSize)s, %(memFlags)s)''' % { 297 "class_name" : self.className, |
298 "flags" : self.microFlagsText(microFlags) + self.instFlags, |
299 "scale" : self.scale, "index" : self.index, 300 "base" : self.base, 301 "disp" : self.disp, 302 "segment" : self.segment, "data" : self.data, 303 "dataSize" : self.dataSize, "addressSize" : self.addressSize, 304 "memFlags" : self.memFlags} 305 return allocator 306 --- 191 unchanged lines hidden --- |