ruby: slicc: remove unused COPY_HEAD functionality
authorNilay Vaish <nilay@cs.wisc.edu>
Mon, 24 Feb 2014 01:16:15 +0000 (19:16 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Mon, 24 Feb 2014 01:16:15 +0000 (19:16 -0600)
src/mem/ruby/buffers/MessageBuffer.cc
src/mem/ruby/buffers/MessageBuffer.hh
src/mem/slicc/ast/CopyHeadStatementAST.py [deleted file]
src/mem/slicc/ast/__init__.py
src/mem/slicc/parser.py

index 2b4c235c685778ff4daee1e66ca174352f67277a..9475f151477b8eb223f876a618d89ebbf0a14651 100644 (file)
@@ -115,14 +115,6 @@ MessageBuffer::areNSlotsAvailable(unsigned int n)
     }
 }
 
-const MsgPtr
-MessageBuffer::getMsgPtrCopy() const
-{
-    assert(isReady());
-
-    return m_prio_heap.front().m_msgptr->clone();
-}
-
 const Message*
 MessageBuffer::peek() const
 {
index 45870e608346b7603fb6ef041910d97f8f7b74fe..b1a9f000452a78c08f04178b2a6c3d882b14aa01 100644 (file)
@@ -107,7 +107,6 @@ class MessageBuffer
     //! Function for extracting the message at the head of the
     //! message queue.  The function assumes that the queue is nonempty.
     const Message* peek() const;
-    const MsgPtr getMsgPtrCopy() const;
 
     const MsgPtr&
     peekMsgPtr() const
diff --git a/src/mem/slicc/ast/CopyHeadStatementAST.py b/src/mem/slicc/ast/CopyHeadStatementAST.py
deleted file mode 100644 (file)
index ba99709..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
-# Copyright (c) 2009 The Hewlett-Packard Development Company
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met: redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer;
-# redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution;
-# neither the name of the copyright holders nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-from slicc.ast.StatementAST import StatementAST
-
-class CopyHeadStatementAST(StatementAST):
-    def __init__(self, slicc, in_queue, out_queue, pairs):
-        super(CopyHeadStatementAST, self).__init__(slicc, pairs)
-
-        self.in_queue = in_queue
-        self.out_queue_ptr = out_queue
-
-    def __repr__(self):
-        return "[CopyHeadStatementAst: %r %r]" % (self.in_queue,
-                                                  self.out_queue)
-
-    def generate(self, code, return_type):
-        self.in_queue.assertType("InPort")
-        self.out_queue.assertType("OutPort")
-
-        out_code = self.out_queue.var.code
-        in_code = self.in_queue.var.code
-        latency = self.get("latency", "COPY_HEAD_LATENCY")
-        code("$out_code.enqueue($in_code.getMsgPtrCopy(), $latency);")
-
-    def findResources(self, resources):
-        var = self.out_queue.var
-        resources[var] = str(int(resources.get(var, "0")) + 1)
index bd9de52d081aea1668fc5b6e91d14dd19402eaf3..98472cdf263273f4119a4683a2b115dee248f772 100644 (file)
@@ -30,7 +30,6 @@ from slicc.ast.AST import *
 from slicc.ast.ActionDeclAST import *
 from slicc.ast.AssignStatementAST import *
 from slicc.ast.CheckAllocateStatementAST import *
-from slicc.ast.CopyHeadStatementAST import *
 from slicc.ast.DeclAST import *
 from slicc.ast.DeclListAST import *
 from slicc.ast.EnqueueStatementAST import *
index aa96ceef12dc8a5a954b7fb2c550becb89659b7b..dbf939a9e778cc9e2813b59406390a86e682ed26 100644 (file)
@@ -112,7 +112,6 @@ class SLICC(Grammar):
         'peek' : 'PEEK',
         'stall_and_wait' : 'STALL_AND_WAIT',
         'enqueue' : 'ENQUEUE',
-        'copy_head' : 'COPY_HEAD',
         'check_allocate' : 'CHECK_ALLOCATE',
         'check_stop_slots' : 'CHECK_STOP_SLOTS',
         'static_cast' : 'STATIC_CAST',
@@ -569,10 +568,6 @@ class SLICC(Grammar):
         "statement : PEEK '(' var ',' type pairs ')' statements"
         p[0] = ast.PeekStatementAST(self, p[3], p[5], p[6], p[8], "peek")
 
-    def p_statement__copy_head(self, p):
-        "statement : COPY_HEAD '(' var ',' var pairs ')' SEMI"
-        p[0] = ast.CopyHeadStatementAST(self, p[3], p[5], p[6])
-
     def p_statement__check_allocate(self, p):
         "statement : CHECK_ALLOCATE '(' var ')' SEMI"
         p[0] = ast.CheckAllocateStatementAST(self, p[3])