[pypy-commit] lang-smalltalk default: make targetimageloadingsmalltalk work again, and make it possible to run other methods on int
cfbolz
noreply at buildbot.pypy.org
Sat Feb 23 21:10:22 CET 2013
Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch:
Changeset: r95:99ab6630753a
Date: 2013-02-23 21:09 +0100
http://bitbucket.org/pypy/lang-smalltalk/changeset/99ab6630753a/
Log: make targetimageloadingsmalltalk work again, and make it possible to
run other methods on int
diff --git a/targetimageloadingsmalltalk.py b/targetimageloadingsmalltalk.py
--- a/targetimageloadingsmalltalk.py
+++ b/targetimageloadingsmalltalk.py
@@ -8,26 +8,14 @@
def tinyBenchmarks(space, image_name):
interp = interpreter.Interpreter(space, image_name=image_name)
-
- w_object = model.W_SmallInteger(0)
-
- s_class = w_object.shadow_of_my_class(space)
- w_method = s_class.lookup("tinyBenchmarks")
-
- assert w_method
- w_frame = w_method.create_frame(space, w_object, [])
- interp.store_w_active_context(w_frame)
-
- counter = 0
-
- from spyvm.interpreter import BYTECODE_TABLE
return interp
-def run_benchmarks(interp):
+def run_benchmarks(interp, number, benchmark):
counter = 0
+ w_object = model.W_SmallInteger(number)
try:
- interp.loop()
+ interp.perform(w_object, "tinyBenchmarks")
except interpreter.ReturnFromTopLevel, e:
w_result = e.object
@@ -42,6 +30,12 @@
def entry_point(argv):
if len(argv) > 1:
filename = argv[1]
+ if len(argv) > 3:
+ number = int(argv[2])
+ benchmark = argv[3]
+ else:
+ number = 0
+ benchmark = "tinyBenchmarks"
else:
print "usage:", argv[0], "<image name>"
return -1
@@ -49,8 +43,8 @@
reader.initialize()
image = squeakimage.SqueakImage()
image.from_reader(space, reader)
- interp = tinyBenchmarks(space, filename)
- run_benchmarks(interp)
+ interp = interpreter.Interpreter(space, image, filename)
+ run_benchmarks(interp, number, benchmark)
return 0
# _____ Define and setup target ___
@@ -58,6 +52,11 @@
def target(*args):
return entry_point, None
+def jitpolicy(self):
+ from rpython.jit.codewriter.policy import JitPolicy
+ return JitPolicy()
+
+
class DummyFile:
def __init__(self,filename):
import os
More information about the pypy-commit
mailing list