diff options
Diffstat (limited to 'src/python')
-rw-r--r-- | src/python/m5/params.py | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/src/python/m5/params.py b/src/python/m5/params.py index ac712dc1f..1b03a665a 100644 --- a/src/python/m5/params.py +++ b/src/python/m5/params.py @@ -1785,30 +1785,30 @@ class PortRef(object): # to connect the instrumentation after the full system has been # constructed. def splice(self, new_master_peer, new_slave_peer): - if self.peer and not proxy.isproxy(self.peer): - if isinstance(new_master_peer, PortRef) and \ - isinstance(new_slave_peer, PortRef): - old_peer = self.peer - if self.role == 'SLAVE': - self.peer = new_master_peer - old_peer.peer = new_slave_peer - new_master_peer.connect(self) - new_slave_peer.connect(old_peer) - elif self.role == 'MASTER': - self.peer = new_slave_peer - old_peer.peer = new_master_peer - new_slave_peer.connect(self) - new_master_peer.connect(old_peer) - else: - panic("Port %s has unknown role, "+\ - "cannot splice in new peers\n", self) - else: - raise TypeError, \ - "Splicing non-port references '%s','%s' to port '%s'"\ - % (new_master_peer, new_slave_peer, self) - else: + if not self.peer or proxy.isproxy(self.peer): fatal("Port %s not connected, cannot splice in new peers\n", self) + if not isinstance(new_master_peer, PortRef) or \ + not isinstance(new_slave_peer, PortRef): + raise TypeError, \ + "Splicing non-port references '%s','%s' to port '%s'" % \ + (new_master_peer, new_slave_peer, self) + + old_peer = self.peer + if self.role == 'SLAVE': + self.peer = new_master_peer + old_peer.peer = new_slave_peer + new_master_peer.connect(self) + new_slave_peer.connect(old_peer) + elif self.role == 'MASTER': + self.peer = new_slave_peer + old_peer.peer = new_master_peer + new_slave_peer.connect(self) + new_master_peer.connect(old_peer) + else: + panic("Port %s has unknown role, "+\ + "cannot splice in new peers\n", self) + def clone(self, simobj, memo): if memo.has_key(self): return memo[self] |