diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce7c0f8..d8aa6d5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,16 +55,17 @@ jobs: - name: Generate debug asm files if: strategy.job-index == 0 run: | - objdump -d -x src/copapy/obj/stencils_x86_64_O3.o > bin/stencils_x86_64_O3.asm - echo '
stencils_x86_64_O3.asm
' >> $GITHUB_STEP_SUMMARY - cat bin/stencils_x86_64_O3.asm >> $GITHUB_STEP_SUMMARY - echo '' >> $GITHUB_STEP_SUMMARY - python tools/make_example.py + pip install ansi2html python tools/extract_code.py "bin/test.copapy" "bin/test.copapy.bin" - objdump -D -b binary -m i386:x86-64 --adjust-vma=0x1000 bin/test.copapy.bin > bin/test.copapy.asm - echo '
test.copapy.asm
' >> $GITHUB_STEP_SUMMARY - cat bin/test.copapy.asm >> $GITHUB_STEP_SUMMARY - echo '' >> $GITHUB_STEP_SUMMARY + objdump --color=always -D -b binary -m i386:x86-64 --adjust-vma=0x1000 bin/test.copapy.bin > bin/test.copapy.asm + echo '
test.copapy.asm
' >> $GITHUB_STEP_SUMMARY
+ cat bin/test.copapy.asm | ansi2html >> $GITHUB_STEP_SUMMARY
+ echo '' >> $GITHUB_STEP_SUMMARY
+ objdump --color=always -d -j .text src/copapy/obj/stencils_x86_64_O3.o > bin/stencils_x86_64_O3.asm
+ echo 'stencils_x86_64_O3.asm
' >> $GITHUB_STEP_SUMMARY
+ cat bin/stencils_x86_64_O3.asm | ansi2html >> $GITHUB_STEP_SUMMARY
+ echo '' >> $GITHUB_STEP_SUMMARY
+ python tools/make_example.py
- name: Run tests with pytest
run: pytest
diff --git a/tools/generate_stencils.py b/tools/generate_stencils.py
index 6dbb6e2..e88c5f6 100644
--- a/tools/generate_stencils.py
+++ b/tools/generate_stencils.py
@@ -7,10 +7,13 @@ op_signs = {'add': '+', 'sub': '-', 'mul': '*', 'div': '/',
entry_func_prefix = ''
stencil_func_prefix = '__attribute__((naked)) ' # Remove callee prolog
+stack_size = 64
+
def get_aux_funcs() -> str:
return f"""
{entry_func_prefix}int entry_function_shell(){{
- volatile char stack_place_holder[64];
+ volatile char stack_place_holder[{stack_size}];
+ stack_place_holder[0] = 0;
result_int(0);
return 1;
}}