/*
- * Copyright (c) 2008 Princeton University
+ * Copyright (c) 2020 Inria
* Copyright (c) 2016 Georgia Institute of Technology
+ * Copyright (c) 2008 Princeton University
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
#include "mem/ruby/network/garnet2.0/CrossbarSwitch.hh"
-#include "base/stl_helpers.hh"
#include "debug/RubyNetwork.hh"
#include "mem/ruby/network/garnet2.0/OutputUnit.hh"
#include "mem/ruby/network/garnet2.0/Router.hh"
-using m5::stl_helpers::deletePointers;
-
CrossbarSwitch::CrossbarSwitch(Router *router)
: Consumer(router)
{
m_crossbar_activity = 0;
}
-CrossbarSwitch::~CrossbarSwitch()
-{
- deletePointers(m_switch_buffer);
-}
-
void
CrossbarSwitch::init()
{
m_num_inports = m_router->get_num_inports();
m_switch_buffer.resize(m_num_inports);
for (int i = 0; i < m_num_inports; i++) {
- m_switch_buffer[i] = new flitBuffer();
+ m_switch_buffer[i].reset(new flitBuffer());
}
}
/*
- * Copyright (c) 2008 Princeton University
+ * Copyright (c) 2020 Inria
* Copyright (c) 2016 Georgia Institute of Technology
+ * Copyright (c) 2008 Princeton University
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
#define __MEM_RUBY_NETWORK_GARNET2_0_CROSSBARSWITCH_HH__
#include <iostream>
+#include <memory>
#include <vector>
#include "mem/ruby/common/Consumer.hh"
{
public:
CrossbarSwitch(Router *router);
- ~CrossbarSwitch();
+ ~CrossbarSwitch() = default;
void wakeup();
void init();
void print(std::ostream& out) const {};
int m_num_inports;
double m_crossbar_activity;
Router *m_router;
- std::vector<flitBuffer *> m_switch_buffer;
+ std::vector<std::unique_ptr<flitBuffer>> m_switch_buffer;
std::vector<OutputUnit *> m_output_unit;
};