Giter Club home page Giter Club logo

Comments (7)

Blazefrost avatar Blazefrost commented on June 19, 2024 1

It seems like both assembling and disassembling takes significantly longer on mipster than just compilation.
Maybe we could:

  1. Compile, disassemble, assemble, and store a selfie binary
  2. Load the binary into a mipster instance and let it compile and store a selfie binary.
  3. Compare the resulting binaries from step 1 and 2

If the assemble step is working correctly, the binary from step 1 should be logically equivalent to the host's selfie and produce the same binary in step 2.

from selfie.

ckirsch avatar ckirsch commented on June 19, 2024 1

@Blazefrost Sounds good! Please do a PR.

from selfie.

fischer-martin avatar fischer-martin commented on June 19, 2024

Thoughts about that, @ckirsch @Blazefrost ?

from selfie.

ckirsch avatar ckirsch commented on June 19, 2024

How would you change the test?

from selfie.

fischer-martin avatar fischer-martin commented on June 19, 2024

Maybe compile selfie once from the C* source and assemble it from the output generated by -s and then compare the resulting binaries.

from selfie.

ckirsch avatar ckirsch commented on June 19, 2024

I thought that is what self-assembler checks...what does it actually check?

from selfie.

fischer-martin avatar fischer-martin commented on June 19, 2024

See for yourself:

    return check_execution('./selfie -c selfie.c -s selfie1.s -a selfie1.s -m 128 -a selfie1.s -s selfie2.s ',
                           'selfie can assemble its own binary file') + \
        check_execution('diff -q selfie1.s selfie2.s',
                        'both assembly files are exactly the same')

from selfie.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.