Code Monkey home page Code Monkey logo

flexus's People

Contributors

hnefi avatar katetsu avatar mayyxeng avatar neo-apz avatar setu-gupta avatar sid1994 avatar truls avatar yufeng98 avatar zilutian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flexus's Issues

feeder-Fetches vs. feeder-ICount

In Trace mode, we have two stats for counting the number of executed instructions, but they do not match.
Fetches is updated in insn_fetch[here] and seems to be right, but ICount is based on the value that is returned through the API [here] and seems to be wrong.

Branch update effects are done at wrong pipeline stage

Code line(s) affected:

inst->addRetirementEffect(updateConditional(inst));

while (!theBranchFeedback.empty()) {

Behaviour:

  1. A conditional branch's retirement effects execute.
  2. The feedback events are sent to the branch predictor in cycle.cpp:302 as above.
  3. The branch then reaches the head of the SRB to commit, and resynchronizes with QEMU due to a mispredicted direction.
  4. The branch predictor has already trained itself on the incorrect direction or target.

Remove dummy `MemoryMap` instance from the `MemoryLoopbackTestFixture`

Upon calling getMemoryMap(), the control flow goes through the (pre-initialized) factory, which resolves to the function virtual boost::intrusive_ptr<MemoryMap> createMemoryMap() implemented by the MemoryMap component.
Creating a dummy MemoryMap instance initializes the factory. Although this works, it is not elegant. There no need for a MemoryMap instance. All we want is an initialized factory.
The right way of doing this for unit testing would be to create a mock component called MockMemoryMap which just implements wrappers for two functions that are actually used by MemoryLoopbackImpl:

  • createMemoryMap
  • recordAccess

The dummy MemoryMap instance needs to be removed and replaced by MockMemoryMap.

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.