FuncCallExprAST.py (10972:53d63eeee46f) FuncCallExprAST.py (10981:b300dcda5896)
1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
2# Copyright (c) 2009 The Hewlett-Packard Development Company
3# Copyright (c) 2013 Advanced Micro Devices, Inc.
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are
8# met: redistributions of source code must retain the above copyright

--- 131 unchanged lines hidden (view full) ---

140''')
141
142 code('''
143 if (result == TransitionResult_Valid) {
144 counter++;
145 continue; // Check the first port again
146 }
147
1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
2# Copyright (c) 2009 The Hewlett-Packard Development Company
3# Copyright (c) 2013 Advanced Micro Devices, Inc.
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are
8# met: redistributions of source code must retain the above copyright

--- 131 unchanged lines hidden (view full) ---

140''')
141
142 code('''
143 if (result == TransitionResult_Valid) {
144 counter++;
145 continue; // Check the first port again
146 }
147
148 if (result == TransitionResult_ResourceStall) {
148 if (result == TransitionResult_ResourceStall ||
149 result == TransitionResult_ProtocolStall) {
149 scheduleEvent(Cycles(1));
150
151 // Cannot do anything with this transition, go check next doable transition (mostly likely of next port)
152 }
153}
154''')
155 elif self.proc_name == "error":
156 code("$0", self.exprs[0].embedError(cvec[0]))

--- 10 unchanged lines hidden (view full) ---

167 elif self.proc_name == "set_cache_entry":
168 code("set_cache_entry(m_cache_entry_ptr, %s);" %(cvec[0]));
169 elif self.proc_name == "unset_cache_entry":
170 code("unset_cache_entry(m_cache_entry_ptr);");
171 elif self.proc_name == "set_tbe":
172 code("set_tbe(m_tbe_ptr, %s);" %(cvec[0]));
173 elif self.proc_name == "unset_tbe":
174 code("unset_tbe(m_tbe_ptr);");
150 scheduleEvent(Cycles(1));
151
152 // Cannot do anything with this transition, go check next doable transition (mostly likely of next port)
153 }
154}
155''')
156 elif self.proc_name == "error":
157 code("$0", self.exprs[0].embedError(cvec[0]))

--- 10 unchanged lines hidden (view full) ---

168 elif self.proc_name == "set_cache_entry":
169 code("set_cache_entry(m_cache_entry_ptr, %s);" %(cvec[0]));
170 elif self.proc_name == "unset_cache_entry":
171 code("unset_cache_entry(m_cache_entry_ptr);");
172 elif self.proc_name == "set_tbe":
173 code("set_tbe(m_tbe_ptr, %s);" %(cvec[0]));
174 elif self.proc_name == "unset_tbe":
175 code("unset_tbe(m_tbe_ptr);");
176 elif self.proc_name == "stallPort":
177 code("scheduleEvent(Cycles(1));")
175
176 else:
177 # Normal function
178 if "external" not in func and not func.isInternalMachineFunc:
179 self.error("Invalid function")
180
181 params = ""
182 first_param = True

--- 14 unchanged lines hidden ---
178
179 else:
180 # Normal function
181 if "external" not in func and not func.isInternalMachineFunc:
182 self.error("Invalid function")
183
184 params = ""
185 first_param = True

--- 14 unchanged lines hidden ---