Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Abstract Virtual Machine Support in byterun #12

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Commits on Jul 31, 2014

  1. Add 4 new unit tests.

    Fix several bugs to make unit tests pass:
    * Make data stack local to the frame
    * Implement classes and inheritance properly (incl. method resolution order)
    * Provide called functions their own local dictionary in the appropriate cases
    The method resolution was implemented using Python License code derived from https://www.python.org/download/releases/2.3/mro/. This introduces a new license, but avoids reimplementation of a core algorithm.
    Arthur Peters committed Jul 31, 2014
    Configuration menu
    Copy the full SHA
    dc19e15 View commit details
    Browse the repository at this point in the history
  2. Refactor the interpreter to make abstraction easier.

    Simplify some interfaces, and add a bunch of functions that can be
    overridden to replace the concrete behavior with abstract behavior.
    Add a CFG class that converts CPython code objects into a rough CFG form.
    Add AbstractVirtualMachine class and AncestorTraversalVirtualMachine class that provide features useful for abstract interpreters.
    Arthur Peters committed Jul 31, 2014
    Configuration menu
    Copy the full SHA
    9dc9b2d View commit details
    Browse the repository at this point in the history
  3. Abstract additional things in pyvm2 and the abstract interpreter: UNP…

    …ACK_SEQUENCE, slices, and imports.
    
    Make reverse_operator_name only reverse operators that have a reverse.
    Fix tests so they work in the exported version of the codebase.
    Arthur Peters committed Jul 31, 2014
    Configuration menu
    Copy the full SHA
    d730ad4 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2014

  1. Merge from upstream.

    Fix tests that were failing when exported via moe due to hardcoded line numbers.
    Update README.google.
    -------------
    Created by MOE: http://code.google.com/p/moe-java
    MOE_MIGRATED_REVID=72433464
    Arthur Peters committed Aug 2, 2014
    Configuration menu
    Copy the full SHA
    cf7d62b View commit details
    Browse the repository at this point in the history
  2. Remove dependence on pyglib.memoize to make opensource export simpler…

    …. Otherwise this would need parallel maintenance for no real gain.
    
    Add setup.py from opensource project so that it can be changed along with other files in google CL if needed.
    -------------
    Created by MOE: http://code.google.com/p/moe-java
    MOE_MIGRATED_REVID=72441558
    Arthur Peters committed Aug 2, 2014
    Configuration menu
    Copy the full SHA
    4450ce7 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2014

  1. Merge branch 'abstractvm' back into master.

    Conflicts:
    	byterun/pyvm2.py
    Arthur Peters committed Aug 4, 2014
    Configuration menu
    Copy the full SHA
    9b49960 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2014

  1. reduce logging, some spelling fixes

    -------------
    Created by MOE: http://code.google.com/p/moe-java
    MOE_MIGRATED_REVID=72568656
    Arthur Peters committed Aug 5, 2014
    Configuration menu
    Copy the full SHA
    e3dc134 View commit details
    Browse the repository at this point in the history