Source

pypy / pypy / translator / jvm / genjvm.py

The branch 'remove-globals-in-jit' does not exist.
Author Commit Message Labels Comments Date
Philip Jenvey
invoke java in headless mode so it's less annoying on osx
Philip Jenvey
whitespace, arrange imports
Philip Jenvey
2.5 compat
Philip Jenvey
require a min. of Java 6, skip the jvm tests otherwise
Armin Rigo
Partly kill the caching logic, which was not working anyway and which probably caused the random test failures on wyvern.
Armin Rigo
Revert r68721. It is after all not the cause of the problems we see in the nightly test run.
Antonio Cuni
use an unique directory for each test to store the files
nikomatsakis
add a test for reading in binary strings with hi bit set, and comment out some obnoxious jvm printouts that cloud up py.test output
Toby Watson
Bought execution interface of JvmGeneratedSourceWrapper into line with that of CliFunctionWrapper
Paul deGrandis
(cfbolz, pdg) Add the -g switch to jasmin command in the compile method to make the resulting jars inspectable by eclipse
Antonio Cuni
intermediate checkin; automatically merge jna.jar into the jar generated by genjvm. I still have to add jna.jar to the repo
Alexander Schremmer
Remove a pass statement.
nikomatsakis
modify genjvm so that it auto-detects the .java files and compiles them appropriately, rather than hardcoding the class names in the python code. DRY, and all that.
Antonio Cuni
enable stack_optimizations for jvm; to do this, we must compare Variables by name and not by identity.
Antonio Cuni
prepare genjvm to use stack_optimizations, though it's disabled right now. Move the smart version of render_bool_switch from cli to oosupport, so genjvm uses it. Move the old non-smart version to js.
Antonio Cuni
move test_backendopt to oosupport, and port it to genvjm
Antonio Cuni
move ll_os_* to their own class. Wrap std{out,in,err} into file descriptors.
nikomatsakis
make os.stat work, and correct the implementation of getcwdf
Antonio Cuni
take care of void arguments
nikomatsakis
modify jvm constant generation so that it spreads the constants out over several classes, rather than grouping all of the static fields together into one class. This avoids overflowing the constant pool when there are too many constants, but doens't fix test_manyconstant, which has a single list with 7500 elements, and simply generates too much code.
Antonio Cuni
recompile *.java files only when needed.
Maciej Fijalkowski
probably shell=True is needed to find jasmin.bat (maaaybe...), but breaks all the tests on UNIX and spam wyvern automated tests.
Amaury Forgeot d'Arc
Use py.path to manipulate file names: code is simpler and more portable
Amaury Forgeot d'Arc
Adapt genjvm for win32: - split long arguments lists to build smaller command lines - shell=True is needed to find the jasmin.bat script
nikomatsakis
implement weak refs for genjvm; refactor test_objectmodel from cli into oosupport
nikomatsakis
Remove the exception wrapper system completely. We now throw the exceptions natively; any attempt to throw an RPython object that does not descend from Exception will yield a ClassCastException
nikomatsakis
Implement custom dicts (rdicts) in the JVM backend. All tests in objectmodel now pass. The technique is to find all functions which could be used as hashCode() or equals() functions, and to make any static functions that are defined implement either pypy.Equals or pypy.HashCode, then allowing them to be passed to pypy.CustomDict.
nikomatsakis
Add the code needed for java code to throw exceptions. We generate an instance of the Interlink interface which has the various methods required, and assign it to a static variable in the PyPy class. This has the downside of only allowing one concurrent PyPy interpreter: we could use thread-local data instead (or pass the object as a parameter, but that would be more of a pain).
nikomatsakis
(antocuni, niko) add support for most of test_string, and refactor the cli test_dict so it doesn't duplicate info
nikomatsakis
(antocuni, niko) fix a number of errors from test_dict
  1. Prev
  2. 1
  3. 2
  4. Next