From ff5f00d6aa8399db8d11ff28900f0f300df75725 Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Sat, 24 Feb 2024 18:33:55 +0000 Subject: [PATCH 1/6] Apply latest Black formatting Signed-off-by: Stefan Marr --- src/som/vmobjects/object_with_layout.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/som/vmobjects/object_with_layout.py b/src/som/vmobjects/object_with_layout.py index c287c812..0b7648a1 100644 --- a/src/som/vmobjects/object_with_layout.py +++ b/src/som/vmobjects/object_with_layout.py @@ -64,12 +64,12 @@ def _get_all_fields(self): def _set_all_fields(self, field_values): assert not we_are_jitted() - self._field1 = ( - self._field2 - ) = self._field3 = self._field4 = self._field5 = nilObject - self.prim_field1 = ( - self.prim_field2 - ) = self.prim_field3 = self.prim_field4 = self.prim_field5 = 1234567890 + self._field1 = self._field2 = self._field3 = self._field4 = self._field5 = ( + nilObject + ) + self.prim_field1 = self.prim_field2 = self.prim_field3 = self.prim_field4 = ( + self.prim_field5 + ) = 1234567890 for i in range(0, self._object_layout.get_number_of_fields()): if field_values[i] is None: From 4a4fd34508c82e0c94607cc06473cc04478d40af Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Sat, 24 Feb 2024 18:37:40 +0000 Subject: [PATCH 2/6] [CI] Update Github Actions and use PyPy 7.3.15 Signed-off-by: Stefan Marr --- .github/workflows/ci.yml | 6 +++--- .gitlab-ci.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1c2987ae..8c76ecaa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,19 +26,19 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: true - name: Set up PyPy - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Download PyPy Sources if: matrix.id != 'basic' run: | - export PYPYVER=v7.3.11 + export PYPYVER=v7.3.15 curl https://downloads.python.org/pypy/pypy2.7-${PYPYVER}-src.tar.bz2 -o pypy.tar.bz2 tar -xjf pypy.tar.bz2 mv pypy2.7-${PYPYVER}-src .pypy diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ef0c50ba..6a1bc2e4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,8 +5,8 @@ stages: variables: PYTHONUNBUFFERED: "true" - PYPY_SRC_DIR: /home/gitlab-runner/.local/pypy2.7-v7.3.11-src - PYPY_BIN_DIR: /home/gitlab-runner/.local/pypy2.7-v7.3.11-linux64/bin + PYPY_SRC_DIR: /data/home/gitlab-runner/.asdf/installs/awfy/pypysrc-2.7-v7.3.15 + PYPY_BIN_DIR: /data/home/gitlab-runner/.asdf/installs/python/pypy2.7-7.3.15/bin before_script: - git submodule update --init From 18332a110839a5cac6af5b7b41c8eb8578fdf344 Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Sat, 24 Feb 2024 21:17:34 +0000 Subject: [PATCH 3/6] Update core-lib with fix for unit-test benchmark Signed-off-by: Stefan Marr --- core-lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-lib b/core-lib index 79f33c8a..e5ca3f3c 160000 --- a/core-lib +++ b/core-lib @@ -1 +1 @@ -Subproject commit 79f33c8a2376ce25288fe5b382a0e79f8f529472 +Subproject commit e5ca3f3c4739afc9770bf2004e50e5b644b37a78 From 50299782baffa10a8eef8264792a3b4d9030e17d Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Fri, 1 Mar 2024 10:26:52 +0000 Subject: [PATCH 4/6] =?UTF-8?q?Fix=20setting=20sign=20on=20RPython?= =?UTF-8?q?=E2=80=99s=20big=20integer=20representation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stefan Marr --- src/som/compiler/parser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/som/compiler/parser.py b/src/som/compiler/parser.py index 320d57a9..72f5c210 100644 --- a/src/som/compiler/parser.py +++ b/src/som/compiler/parser.py @@ -299,7 +299,7 @@ def _literal_integer(self, negate_value): bigint = bigint_from_str(self._text) if negate_value: - bigint.sign = -1 + bigint._set_sign(-1) # pylint: disable=protected-access result = BigInteger(bigint) except ValueError: raise ParseError( From 181bbde624d72e72bdbe5f1917e2cedf6cb7aa31 Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Fri, 1 Mar 2024 10:32:12 +0000 Subject: [PATCH 5/6] =?UTF-8?q?Use=20max()=20instead=20of=20check,=20pylin?= =?UTF-8?q?t=20wants=20this=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stefan Marr --- src/som/compiler/bc/method_generation_context.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/som/compiler/bc/method_generation_context.py b/src/som/compiler/bc/method_generation_context.py index 4114d76c..06f1af4b 100644 --- a/src/som/compiler/bc/method_generation_context.py +++ b/src/som/compiler/bc/method_generation_context.py @@ -276,8 +276,7 @@ def get_max_context_level(self): def add_bytecode(self, bytecode, stack_effect): self._current_stack_depth += stack_effect - if self._current_stack_depth > self.max_stack_depth: - self.max_stack_depth = self._current_stack_depth + self.max_stack_depth = max(self.max_stack_depth, self._current_stack_depth) self._bytecode.append(bytecode) self._last_4_bytecodes[0] = self._last_4_bytecodes[1] From b239f2a4ee2d7d80f29cb3d928061bdc70357a01 Mon Sep 17 00:00:00 2001 From: Stefan Marr Date: Fri, 1 Mar 2024 11:30:46 +0000 Subject: [PATCH 6/6] Test the unit test benchmark Signed-off-by: Stefan Marr --- .gitlab-ci.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6a1bc2e4..1eb94b05 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,7 +22,8 @@ build-and-test-interpreters: - export PATH=$PATH:$PYPY_BIN_DIR - export SOM_INTERP=BC - + - (cd Examples/Benchmarks/TestSuite && ./duplicate-tests.sh) + # Unit Tests - PYTHONPATH=src python3 -m pytest - ./som.sh -cp Smalltalk TestSuite/TestHarness.som @@ -30,6 +31,7 @@ build-and-test-interpreters: # Interpreter - $RPYTHON --batch src/main_rpython.py - ./som-bc-interp -cp Smalltalk TestSuite/TestHarness.som + - ./som-bc-interp -cp Smalltalk:TestSuite Examples/Benchmarks/TestSuite/TestTestSuite.som - export SOM_INTERP=AST @@ -40,6 +42,7 @@ build-and-test-interpreters: # Interpreter - $RPYTHON --batch src/main_rpython.py - ./som-ast-interp -cp Smalltalk TestSuite/TestHarness.som + - ./som-ast-interp -cp Smalltalk:TestSuite Examples/Benchmarks/TestSuite/TestTestSuite.som # Package and Upload @@ -67,6 +70,8 @@ build-and-test-jit-bc: # JIT Compiled Version - $RPYTHON --batch -Ojit src/main_rpython.py - ./som-bc-jit -cp Smalltalk TestSuite/TestHarness.som + - (cd Examples/Benchmarks/TestSuite && ./duplicate-tests.sh) + - ./som-bc-jit -cp Smalltalk:TestSuite Examples/Benchmarks/TestSuite/TestTestSuite.som # Package and Upload - lz4 som-bc-jit som-bc-jit.lz4 @@ -91,6 +96,8 @@ build-and-test-jit-ast: # JIT Compiled Version - $RPYTHON --batch -Ojit src/main_rpython.py - ./som-ast-jit -cp Smalltalk TestSuite/TestHarness.som + - (cd Examples/Benchmarks/TestSuite && ./duplicate-tests.sh) + - ./som-ast-jit -cp Smalltalk:TestSuite Examples/Benchmarks/TestSuite/TestTestSuite.som # Package and Upload - lz4 som-ast-jit som-ast-jit.lz4