Skip to content

Commit acd9947

Browse files
Jiří Štefanjdupak
Jiří Štefan
authored andcommitted
Moved UI function code to lambdas & Fixed BTB having incorrect number of bits
1 parent f49263f commit acd9947

File tree

3 files changed

+22
-47
lines changed

3 files changed

+22
-47
lines changed

src/gui/dialogs/new/newdialog.cpp

Lines changed: 21 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -130,24 +130,30 @@ NewDialog::NewDialog(QWidget *parent, QSettings *settings) : QDialog(parent) {
130130
connect(ui->osemu_fs_root, &QLineEdit::textChanged, this, &NewDialog::osemu_fs_root_change);
131131

132132
// Branch predictor
133-
connect(
134-
ui->group_branch_predictor, QOverload<bool>::of(&QGroupBox::toggled), this,
135-
&NewDialog::bp_enabled_change);
133+
connect(ui->group_branch_predictor, QOverload<bool>::of(&QGroupBox::toggled), this, [this] {
134+
config->set_bp_enabled(ui->group_branch_predictor->isChecked());
135+
});
136136
connect(
137137
ui->select_bp_type, QOverload<int>::of(&QComboBox::activated), this,
138138
&NewDialog::bp_type_change);
139-
connect(
140-
ui->select_bp_init_state, QOverload<int>::of(&QComboBox::activated), this,
141-
&NewDialog::bp_init_state_change);
142-
connect(
143-
ui->slider_bp_btb_bits, &QAbstractSlider::valueChanged, this,
144-
&NewDialog::bp_btb_bits_change);
145-
connect(
146-
ui->slider_bp_bhr_bits, &QAbstractSlider::valueChanged, this,
147-
&NewDialog::bp_bhr_bits_change);
148-
connect(
149-
ui->slider_bp_bht_addr_bits, &QAbstractSlider::valueChanged, this,
150-
&NewDialog::bp_bht_addr_bits_change);
139+
connect(ui->select_bp_init_state, QOverload<int>::of(&QComboBox::activated), this, [this] {
140+
config->set_bp_init_state(
141+
ui->select_bp_init_state->currentData().value<machine::PredictorState>());
142+
});
143+
connect(ui->slider_bp_btb_bits, &QAbstractSlider::valueChanged, this, [this] {
144+
config->set_bp_btb_bits((uint8_t)ui->slider_bp_btb_bits->value());
145+
ui->text_bp_btb_bits_number->setText(QString::number(config->get_bp_btb_bits()));
146+
});
147+
connect(ui->slider_bp_bhr_bits, &QAbstractSlider::valueChanged, this, [this] {
148+
config->set_bp_bhr_bits((uint8_t)ui->slider_bp_bhr_bits->value());
149+
ui->text_bp_bhr_bits_number->setText(QString::number(config->get_bp_bhr_bits()));
150+
ui->text_bp_bht_bits_number->setText(QString::number(config->get_bp_bht_bits()));
151+
});
152+
connect(ui->slider_bp_bht_addr_bits, &QAbstractSlider::valueChanged, this, [this] {
153+
config->set_bp_bht_addr_bits((uint8_t)ui->slider_bp_bht_addr_bits->value());
154+
ui->text_bp_bht_addr_bits_number->setText(QString::number(config->get_bp_bht_addr_bits()));
155+
ui->text_bp_bht_bits_number->setText(QString::number(config->get_bp_bht_bits()));
156+
});
151157

152158
cache_handler_d = new NewDialogCacheHandler(this, ui_cache_d.data());
153159
cache_handler_p = new NewDialogCacheHandler(this, ui_cache_p.data());
@@ -385,10 +391,6 @@ void NewDialog::reset_at_compile_change(bool v) {
385391
config->set_reset_at_compile(v);
386392
}
387393

388-
void NewDialog::bp_enabled_change() {
389-
config->set_bp_enabled(ui->group_branch_predictor->isChecked());
390-
}
391-
392394
void NewDialog::bp_type_change() {
393395
// Read branch predictor type from GUI and store it in the config
394396
const machine::PredictorType predictor_type {
@@ -458,28 +460,6 @@ void NewDialog::bp_type_change() {
458460
}
459461
}
460462

461-
void NewDialog::bp_init_state_change() {
462-
config->set_bp_init_state(
463-
ui->select_bp_init_state->currentData().value<machine::PredictorState>());
464-
}
465-
466-
void NewDialog::bp_btb_bits_change() {
467-
config->set_bp_btb_bits((uint8_t)ui->slider_bp_btb_bits->value());
468-
ui->text_bp_btb_bits_number->setText(QString::number(config->get_bp_btb_bits()));
469-
}
470-
471-
void NewDialog::bp_bhr_bits_change() {
472-
config->set_bp_bhr_bits((uint8_t)ui->slider_bp_bhr_bits->value());
473-
ui->text_bp_bhr_bits_number->setText(QString::number(config->get_bp_bhr_bits()));
474-
ui->text_bp_bht_bits_number->setText(QString::number(config->get_bp_bht_bits()));
475-
}
476-
477-
void NewDialog::bp_bht_addr_bits_change() {
478-
config->set_bp_bht_addr_bits((uint8_t)ui->slider_bp_bht_addr_bits->value());
479-
ui->text_bp_bht_addr_bits_number->setText(QString::number(config->get_bp_bht_addr_bits()));
480-
ui->text_bp_bht_bits_number->setText(QString::number(config->get_bp_bht_bits()));
481-
}
482-
483463
void NewDialog::bp_toggle_history_table_ui(bool enabled) {
484464
ui->select_bp_init_state->setEnabled(enabled);
485465
ui->slider_bp_bhr_bits->setEnabled(enabled);

src/gui/dialogs/new/newdialog.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,7 @@ private slots:
5555
void reset_at_compile_change(bool);
5656

5757
// Branch Predictor
58-
void bp_enabled_change();
5958
void bp_type_change();
60-
void bp_init_state_change();
61-
void bp_btb_bits_change();
62-
void bp_bhr_bits_change();
63-
void bp_bht_addr_bits_change();
6459
void bp_toggle_history_table_ui(bool enabled);
6560

6661
private:

src/machine/predictor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,7 @@ BranchPredictor::BranchPredictor(
614614
}
615615

616616
bhr = new BranchHistoryRegister(number_of_bhr_bits);
617-
btb = new BranchTargetBuffer(number_of_bht_bits);
617+
btb = new BranchTargetBuffer(number_of_btb_bits);
618618

619619
if (enabled) {
620620
connect(

0 commit comments

Comments
 (0)