Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(363)

Unified Diff: courgette/adjustment_method_unittest.cc

Issue 1935203002: [Courgette] Using LabelManager to reduce Courgette-apply peak RAM by 25%. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Sync. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | courgette/assembly_program.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: courgette/adjustment_method_unittest.cc
diff --git a/courgette/adjustment_method_unittest.cc b/courgette/adjustment_method_unittest.cc
index 3200f10c6099459c6e6f6e68f43380f551bb7fe4..d8b987c2d89e1ac6be8abe036bfa13f72f5ea31b 100644
--- a/courgette/adjustment_method_unittest.cc
+++ b/courgette/adjustment_method_unittest.cc
@@ -5,11 +5,13 @@
#include <memory>
#include <string>
#include <utility>
+#include <vector>
#include "base/strings/string_util.h"
#include "courgette/assembly_program.h"
#include "courgette/courgette.h"
#include "courgette/encoded_program.h"
+#include "courgette/image_utils.h"
#include "courgette/streams.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -32,8 +34,20 @@ class AdjustmentMethodTest : public testing::Test {
new courgette::AssemblyProgram(courgette::EXE_WIN_32_X86));
prog->set_image_base(0x00400000);
- courgette::Label* labelA = prog->FindOrMakeAbs32Label(0x00410000);
- courgette::Label* labelB = prog->FindOrMakeAbs32Label(0x00410004);
+ courgette::RVA kRvaA = 0x00410000;
+ courgette::RVA kRvaB = 0x00410004;
+
+ std::vector<courgette::RVA> abs32_rvas;
+ abs32_rvas.push_back(kRvaA);
+ abs32_rvas.push_back(kRvaB);
+ std::vector<courgette::RVA> rel32_rvas; // Stub.
+
+ courgette::TrivialRvaVisitor abs32_visitor(abs32_rvas);
+ courgette::TrivialRvaVisitor rel32_visitor(rel32_rvas);
+ prog->PrecomputeLabels(&abs32_visitor, &rel32_visitor);
+
+ courgette::Label* labelA = prog->FindAbs32Label(kRvaA);
+ courgette::Label* labelB = prog->FindAbs32Label(kRvaB);
EXPECT_TRUE(prog->EmitAbs32(labelA));
EXPECT_TRUE(prog->EmitAbs32(labelA));
@@ -88,7 +102,6 @@ class AdjustmentMethodTest : public testing::Test {
}
};
-
void AdjustmentMethodTest::Test1() const {
std::unique_ptr<courgette::AssemblyProgram> prog1 = MakeProgramA();
std::unique_ptr<courgette::AssemblyProgram> prog2 = MakeProgramB();
@@ -109,7 +122,6 @@ void AdjustmentMethodTest::Test1() const {
EXPECT_TRUE(s5 == s6); // Adjustment did change B into A
}
-
TEST_F(AdjustmentMethodTest, All) {
Test1();
}
« no previous file with comments | « no previous file | courgette/assembly_program.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698