The-OpenROAD-Project / OpenROAD

OpenROAD's unified application implementing an RTL-to-GDS Flow. Documentation at https://openroad.readthedocs.io/en/latest/
https://theopenroadproject.org/
BSD 3-Clause "New" or "Revised" License
1.62k stars 561 forks source link

Remove Static Variables #5981

Open LucasYuki opened 1 month ago

LucasYuki commented 1 month ago

Description

OpenROAD shouldn't use any static variables under the hood that aren’t somehow guarded by a lock.

Static variables per module:

Suggested Solution

@eder-matheus suggested working on one module at a time, making a PR for each one.

Additional Context

No response

maliberty commented 1 month ago

sta is special so let's address it last and discuss first.

maliberty commented 3 days ago
odb::db_tbl
odb::db_unique_id

fixed in #6192

maliberty commented 3 days ago

odb::conn fixed in #6190

maliberty commented 3 days ago

odb::ttttsv fixed in #6191

maliberty commented 3 days ago
log_filename
metrics_filename

fixed in #6194

maliberty commented 3 days ago

cts::HTreeBuilder::plotSolution()::cnt fixed in #6195

maliberty commented 3 days ago

@LucasYuki no need to do gui (excluded from the current plan).

maliberty commented 3 days ago

@QuantamHD agreed to handle the one in rmp (discussed in #5989)