Commits Between Branches release/0.5.alpha2 and release/0.5.alpha3

15e7671 2018-03-01 Andy Chu gold, osh2oil, and wild tests all use $OSH instead of bin/osh.
4057e00 2018-03-02 Andy Chu Fix bug in directory name.
1eaa262 2018-03-02 Andy Chu Move OPy shell functions out of run.sh.
5007894 2018-03-04 Andy Chu A basic OPy build works.
b74c1e5 2018-03-04 Andy Chu Rename the oilc command to oshc.
71deba8 2018-03-04 Andy Chu Make opy and opyc commands, analogous to osh and oshc.
2eaaa49 2018-03-04 Andy Chu opy.ovm --version now works.
c001d41 2018-03-04 Andy Chu Consolidate the definition of the 'all-passing' test function.
631d3c5 2018-03-04 Andy Chu Interactive loop respects the 'exit' builtin.
c4d603a 2018-03-05 Andy Chu The 'opyc parse' and 'opyc compile' entry points now work.
f0eb709 2018-03-05 Andy Chu Build opy.ovm with the grammar pickle.
f9c8958 2018-03-06 Andy Chu Fix the build of the grammar pickle when running benchmarks.
773a398 2018-03-06 Andy Chu Modify the print() test case to show the incompatibility between two grammars.
c221ee4 2018-03-06 Andy Chu Run 'perf' on _bin/oil.ovm-opt.
857eb4d 2018-03-06 Andy Chu Generate flame graphs from the 'perf' profile.
b412816 2018-03-06 Andy Chu Pass -fno-omit-frame-pointer to fix stack walking.
336a11d 2018-03-07 Andy Chu Add 'opyc dis', which uses misc/inspect_pyc.py.
343347c 2018-03-08 Andy Chu Turn the bytecode printer into a Visitor-ish class.
50ebc28 2018-03-08 Andy Chu Add opcode histogram.
f8bc99f 2018-03-12 Andy Chu Compare CPython and OPy opcode histograms.
4c29ee0 2018-03-12 Andy Chu Tried Python 3.6's systemtap probes and gave up on them.
0b0f2e1 2018-03-12 Andy Chu More work on opcode comparison.
d384081 2018-03-13 Andy Chu Add symlinks for oshc, opy, opyc
06054fd 2018-03-15 Andy Chu First pass of a module to produce a call graph of main().
fc22109 2018-03-15 Andy Chu The callgraph now discovers module.Foo, where Foo is callable.
12b0f2b 2018-03-15 Andy Chu Fix code style in callgraph._Walk().
3b5a3f2 2018-03-15 Andy Chu The callgraph now visits methods on classes.
eac70cd 2018-03-15 Andy Chu Change all Oil classes to be new-style classes.
88ca058 2018-03-15 Andy Chu callgraph categorizes classes and functions by .py source file.
b7e7c57 2018-03-16 Andy Chu callgraph: Properly categorize Python code and C code.
ccaf91d 2018-03-16 Andy Chu callgraph: Relax Walk so we include references like ast.CompoundWord().
920d8c5 2018-03-16 Andy Chu Generate a callgraph for bin/opy_ too.
9dbeb4b 2018-03-16 Andy Chu A script to test Python's hash key determinism.
e1ad2a5 2018-03-16 Andy Chu Got the test cases for bytecode determinism failing again.
7e4beb8 2018-03-17 Andy Chu pyassem.py: Don't use 'list' as a variable name.
04fedae 2018-03-17 Andy Chu Fix an issue that made OPy's bytecode output nondeterministic.
d657c8e 2018-03-17 Andy Chu Scripts to diagnose OPy nondeterminism.
3cfc21b 2018-03-17 Andy Chu A better fix for OPy determinism: add __hash__ on Block.
8addbf5 2018-03-17 Andy Chu Simplify find expression, and remove tabs
72e4d13 2018-03-17 Andy Chu Make build scripts compile under OPy.
9b90653 2018-03-17 Andy Chu Adjust scripts to run Oil unit tests under OPy.
4876154 2018-03-17 Andy Chu OPy regtest.
daab8d0 2018-03-17 Andy Chu Note the compiler speed before we optimize
173ea98 2018-03-17 Andy Chu Modernize OPy: misc.Set() -> set().
a530f30 2018-03-17 Andy Chu Fix 2 dependency issues in the Makefile.
efe4efb 2018-03-17 Andy Chu Run flake8 on opy/ too.
74a7f76 2018-03-17 Andy Chu Move implementation of 'opyc dis' to compiler2/
3284fda 2018-03-17 Andy Chu Use new-style classes in opy/ so callgraph can properly walk it.
eff7f40 2018-03-17 Andy Chu Remove obsolete util_opy.py.
47667e0 2018-03-17 Andy Chu Get rid of Python 1.x code gen!
636f10b 2018-03-18 Andy Chu Update the golden checksum for util_opy.py.
e6938cb 2018-03-18 Andy Chu Add opyc actions: lex, eval, and repl.
d2f72ae 2018-03-18 Andy Chu Change the structure of the compiler to use simple functions.
6c33e9d 2018-03-18 Andy Chu More simplification and deletion of unused code.
8cf2341 2018-03-18 Andy Chu More simplification of the compilation pipeline.
01fc053 2018-03-18 Andy Chu More simplification of the compiler architecture.
df2ef88 2018-03-18 Andy Chu Update golden data, since OPy's own source files compile differently.
4b1ddab 2018-03-18 Andy Chu More simplification of compiler pipeline.
986ff7a 2018-03-18 Andy Chu Refactoring pyassem to functions.
563c02d 2018-03-18 Andy Chu More flattening and simplification of pyassem.py.
ff3d7fe 2018-03-18 Andy Chu Removing indirection, e.g. from superclass constructor calls.
dff26dc 2018-03-18 Andy Chu Refactor naming of function objects.
888f52c 2018-03-18 Andy Chu Factor out gen.Start_() method.
9c0a6da 2018-03-18 Andy Chu Change the method name back to Start().
aef2bde 2018-03-18 Andy Chu Get rid of multiple inheritance in ClassCodeGenerator!
7b3d34a 2018-03-18 Andy Chu Get rid of multiple inheritance in FunctionCodeGenerator too.
4e3f516 2018-03-18 Andy Chu Factor out the differences between lambdas and functions.
76caf0e 2018-03-18 Andy Chu PyFlowGraph: extract ArgConverter and inline self.convertArgs().
d094273 2018-03-18 Andy Chu Rewrite self._sort_cellvars for clarity, and inline it.
01de674 2018-03-18 Andy Chu More refactoring of compiler2.
d7dc297 2018-03-18 Andy Chu compiler2: Simplify visitor.walk().
56d6e62 2018-03-18 Andy Chu Fix tuple args.
7c23a53 2018-03-18 Andy Chu Remove support for TupleArgs.
a392848 2018-03-18 Andy Chu every code generator takes a graph
5e22c10 2018-03-19 Andy Chu Pass futures down the CodeGenerator tree in a cleaner way.
a159f9d 2018-03-19 Andy Chu Cleanup of Scope tree classes in symbols.py.
cb13573 2018-03-19 Andy Chu compiler2: Code style tweaks.
9c8486c 2018-03-19 Andy Chu pyassem: Get rid of hasattr() check.
1daf806 2018-03-19 Andy Chu compiler2: Remove unused code.
750a934 2018-03-19 Andy Chu Simplification of name mangling.
5586374 2018-03-19 Andy Chu Give better names to two different getCode() methods.
58c729f 2018-03-19 Andy Chu Clean up visitor usage.
1478050 2018-03-19 Andy Chu compiler2 style: Use enumerate() instead of range/zip.
dbb5580 2018-03-19 Andy Chu Add a function for running all unit tests in one process.
3df0caa 2018-03-19 Andy Chu Fix lint errors introduced by last change.
d8b6912 2018-03-19 Andy Chu Refactor: Introduce LambdaCodeGenerator, and use Finish() consistently.
cd1e3c4 2018-03-19 Andy Chu Factor out a common portion of CodeGenerator.Start()
e67796b 2018-03-19 Andy Chu Simplify pgen2/driver, remove dependency on logging module.
410d82a 2018-03-19 Andy Chu Remove unnecessary pgen2 Driver class.
4c9c89e 2018-03-19 Andy Chu Fix typo in last commit.
6a2864e 2018-03-19 Andy Chu pycodegen: Refactor to use Use module-level context for filenames.
587bc88 2018-03-19 Andy Chu Put the compiler pipeline in a common RunCompiler() function.
29a135e 2018-03-19 Andy Chu symbols.py: Use sets instead of dicts.
717f875 2018-03-19 Andy Chu Rename ArgConverter -> ArgEncoder, and remove redundant code.
2499287 2018-03-19 Andy Chu Fix typo bug in last commit.
7e528a4 2018-03-19 Andy Chu Great refactoring: SymbolVisitor pulled into RunCompiler.
13db25e 2018-03-19 Andy Chu pyassem: Refactor Assembler for clarity.
ed4d1fb 2018-03-19 Andy Chu Observe that consts is not populated until the arg-encoding step.
9c47ae3 2018-03-19 Andy Chu pyassem: Simplify PyFlowGraph interface.
e93995f 2018-03-19 Andy Chu Fix regression in last change.
6e8cd3f 2018-03-19 Andy Chu Style
9a867fe 2018-03-19 Andy Chu pyassem: Extract method to ArgEncoder.
c2c125c 2018-03-19 Andy Chu pyassem: Move functions to prepare for refactoring.
92c6fc6 2018-03-20 Andy Chu pyassem: Rewrite block stack depth computation for clarity.
d6c1988 2018-03-20 Andy Chu Start separating the concept of FlowGraph and Frame.
466b6ae 2018-03-20 Andy Chu Split out RunCompiler into compiler2/skeleton.py.
19b9876 2018-03-20 Andy Chu pyassem: split up Frame and FlowGraph.
fed6d7e 2018-03-20 Andy Chu Move MakeCodeObject() into skeleton.py.
11812e8 2018-03-20 Andy Chu pyassem: Split up the 2 passes of FlattenGraph, to clarify structure.
9fd710e 2018-03-20 Andy Chu Refactoring Compile(), pycodegen, pyassem.
c93d6c9 2018-03-21 Andy Chu Replace more global counters with itertools.count().
bccdb12 2018-03-21 Andy Chu Move skeleton.py to opy/ root, since it uses both pgen2 and compiler2.
398dbd5 2018-03-21 Andy Chu Remove usage of class member inheritance.
78c2514 2018-03-21 Andy Chu Update golden checksums, and minor refactoring.
dea4f67 2018-03-22 timetoplatypus Spec test coverage for the &>> operator. (#91)
518ad46 2018-03-22 Andy Chu Fix assertions on dash in the last commit.
0b27f31 2018-03-21 Andy Chu Work toward getting Oil unit tests to pass under byterun.
e40c83a 2018-04-06 Andy Chu Remove Python 3 stuff from byterun.
72cc76f 2018-04-06 Andy Chu Remove 'six' usages in byterun code.
45e8dcf 2018-04-06 Andy Chu Isolated the two unit test failures with scripts in opy/testdata/.
b7e2f2d 2018-04-07 Andy Chu byterun: Move block management methods from VM to Frame instance.
82563d8 2018-04-07 Andy Chu Move instruction decoding from VM -> Frame.
7d8f668 2018-04-07 Andy Chu Simplify VirtualMachine public interface by pulling out run_code().
04d9f6c 2018-04-07 Andy Chu Hacky workaround for generator_exception.py bug.
a2305f2 2018-04-07 Andy Chu byterun: minor changes for debugging.
d15f920 2018-04-08 Andy Chu fix shell scripts to make unit tests
ac26ef0 2018-04-08 Andy Chu Fix scripts OPy/byterun build/test scripts.
bb69129 2018-04-09 Yorwba byterun: Fix check for bound methods on falsy objects. (#95)
68f403c 2018-04-08 Andy Chu Remove code copied from sre_parse.py from testdata/regex_compile.py.
94749be 2018-04-08 Andy Chu Fix the bin/opypy-osh entry point, and add a demo.
a892004 2018-04-08 Andy Chu Update OPy README with the shell commands I use.
56c2773 2018-04-08 Andy Chu Update OPy golden checksums.
23fa21f 2018-04-08 Andy Chu Rough outline of future plans for OPy.
b5d0bb3 2018-04-08 Andy Chu byterun: Get rid of unused func_locals member of Function.
4c1ac1b 2018-04-08 Andy Chu Get rid of the opypy name -- it's confusing.
d6f5ce9 2018-04-08 Andy Chu Reorganize OPy/byterun testdata.
44afb9a 2018-04-08 Andy Chu Clean up the shell scripts in opy/ dir.
9a0d22b 2018-04-08 Andy Chu OSH spec tests all pass under byterun!
8ee5271 2018-04-08 Andy Chu Tweaks to callgraph.py so it can walk byterun.
35eb2e6 2018-04-09 Andy Chu Run OSH unit and spec tests under byterun with OPy-compiled bytecode.
f43b091 2018-04-09 Andy Chu Document the three OPy builds.
b09a27b 2018-04-10 Andy Chu Brainstorm about unifying the implementation of classes and closures.
ef5f1ae 2018-04-15 Andy Chu Fixes to 'make _bin/opy.ovm'
bf89a33 2018-04-15 Andy Chu Copy inspect.py from the standard library.
a0a0b14 2018-04-15 Andy Chu Copy the stdlib 'dis' module, and move our copy of the 'opcode' module.
1abd1d7 2018-04-15 Andy Chu Change all 'dis' imports to use our own copy.
d4880ae 2018-04-15 Andy Chu Fix flake8 --exclude, which fixes the build.
60838b2 2018-04-24 Andy Chu Make 'git status' clean.
cf47f9b 2018-04-24 Andy Chu Bump version to 0.5.alpha3.
9e7e3f4 2018-04-26 Andy Chu README: change oil-dev@ to #oil-dev on Zulip.
fa0baff 2018-04-29 Andy Chu Update doc versions