pretty up handles finally

This commit is contained in:
2023-12-27 21:53:28 +01:00
parent e986daf6a6
commit b3b1bbbaeb
6 changed files with 81 additions and 75 deletions

View File

@@ -11,8 +11,8 @@ TEST(GCTest, GCTest) {
{
Handle c = Handle::cons(nullptr, nullptr);
mc.request_gc_and_wait();
Handle::append(c, Handle::makeNumCell(1));
Handle::append(c, Handle::makeNumCell(2));
c.append(Handle::makeNumCell(1));
c.append(Handle::makeNumCell(2));
mc.request_gc_and_wait();
EXPECT_EQ(c.car().val(), 1);
EXPECT_EQ(c.cdr().car().val(), 2);
@@ -23,8 +23,8 @@ TEST(GCTest, GCTest) {
{
Handle c = Handle::cons(nullptr, nullptr);
mc.request_gc_and_wait();
Handle::push(c, Handle::makeNumCell(1));
Handle::push(c, Handle::makeNumCell(2));
c.push(Handle::makeNumCell(1));
c.push(Handle::makeNumCell(2));
mc.request_gc_and_wait();
EXPECT_EQ(c.car().val(), 2);
EXPECT_EQ(c.cdr().car().val(), 1);
@@ -39,7 +39,7 @@ TEST(GCTest, GCTestAppend) {
for (int i = 0; i < 25000; i++) {
Handle c = Handle::cons(nullptr, nullptr);
mc.request_gc();
Handle::append(c, Handle::makeNumCell(1));
c.append(Handle::makeNumCell(1));
mc.request_gc();
EXPECT_EQ(c.car().val(), 1);
}
@@ -54,11 +54,11 @@ TEST(GCTest, GCTestPop) {
static constexpr int test_size = 20000;
for (int i = 0; i < test_size; i++) {
mc.request_gc();
Handle::push(c, Handle::makeNumCell(i));
c.push(Handle::makeNumCell(i));
}
for (int i = test_size - 1; i >= 0; i--) {
mc.request_gc();
EXPECT_EQ(i, Handle::pop(c).val());
EXPECT_EQ(i, c.pop().val());
}
}
mc.request_gc_and_wait();
@@ -72,11 +72,11 @@ TEST(GCTest, GCTestAppend2) {
static constexpr int test_size = 2000;
for (int i = 0; i < test_size; i++) {
mc.request_gc();
Handle::append(c, Handle::makeNumCell(i));
c.append(Handle::makeNumCell(i));
}
for (int i = 0; i < test_size; i++) {
mc.request_gc();
EXPECT_EQ(i, Handle::pop(c).val());
EXPECT_EQ(i, c.pop().val());
}
mc.request_gc_and_wait();
mc.request_gc_and_wait();
@@ -85,10 +85,10 @@ TEST(GCTest, GCTestAppend2) {
TEST(GCTest, GCTestAppend3) {
MemoryContext mc;
for (int i = 0; i < 250000; i++) {
for (int i = 0; i < 25000; i++) {
Handle c = Handle::cons(nullptr, nullptr);
Handle::append(c, Handle::makeNumCell(1));
Handle::append(c, Handle::makeNumCell(2));
c.append(Handle::makeNumCell(1));
c.append(Handle::makeNumCell(2));
mc.request_gc();
Handle n = c.cdr();
c.setcdr(nullptr);

View File

@@ -9,11 +9,11 @@ TEST(VMTest, BasicHello) {
MemoryContext mc;
VM vm(ssin, ssout);
Handle newc(Handle::cons(nullptr, nullptr));
Handle::append(newc, Handle::makeStrCell("NIL"));
Handle::append(newc, Handle::makeStrCell("LDC"));
Handle::append(newc, Handle::makeNumCell('h'));
Handle::append(newc, Handle::makeStrCell("PUTCHAR"));
Handle::append(newc, Handle::makeStrCell("STOP"));
newc.append(Handle::makeStrCell("NIL"));
newc.append(Handle::makeStrCell("LDC"));
newc.append(Handle::makeNumCell('h'));
newc.append(Handle::makeStrCell("PUTCHAR"));
newc.append(Handle::makeStrCell("STOP"));
vm.loadControl(newc);
vm.run();
}
@@ -21,6 +21,7 @@ TEST(VMTest, BasicHello) {
EXPECT_EQ(ssout.str(), "h");
}
//TODO: maybe rewrite it all...
//TEST(VMTest, SelTest) {
// std::stringstream ssin;
// std::stringstream ssout;