From: Holger Hans Peter Freyther <[hidden email]>
On x86/amd64 this will call mprotect with PROT_EXEC on the allocated memory. This is fixing an infinite recursion in the segfault handler of the garbage collection. 2013-06-03 Holger Hans Peter Freyther <[hidden email]> * xlat.c: Use jit_flush_code for the runtime code. --- libgst/ChangeLog | 4 ++++ libgst/xlat.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/libgst/ChangeLog b/libgst/ChangeLog index 040063b..031c3ea 100644 --- a/libgst/ChangeLog +++ b/libgst/ChangeLog @@ -1,3 +1,7 @@ +2013-06-03 Holger Hans Peter Freyther <[hidden email]> + + * xlat.c: Use jit_flush_code for the runtime code. + 2013-05-18 Holger Hans Peter Freyther <[hidden email]> * libgst/byte.c: Define _gst_omit_line_numbers, emit line diff --git a/libgst/xlat.c b/libgst/xlat.c index e555cca..3f4a555 100644 --- a/libgst/xlat.c +++ b/libgst/xlat.c @@ -620,6 +620,8 @@ generate_run_time_code (void) jit_movi_i (JIT_RET, 0); jit_ret (); + + jit_flush_code(_gst_run_native_code, jit_get_label() ); } -- 1.7.10.4 _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
From: Holger Hans Peter Freyther <[hidden email]>
CharacterArray>>#withWindowsShellEscapes has the following code that will lead to execution during the bootstrap. The interpreter is optimizing the calls for >>#value: but the JIT is not doing that. Change the order of the bootstrap to load the BlockClosure and related classes before the CharacterArray. table := ##( | t | t := ByteArray new: 256. #($% $" $< $> $| $& $^ $ ) do: [ :each | t at: each codePoint put: 1 ]. t). 2013-06-03 Holger Hans Peter Freyther <[hidden email]> * files.c: Make BlockClosure available before the CharacterArray. --- libgst/ChangeLog | 4 ++++ libgst/files.c | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/libgst/ChangeLog b/libgst/ChangeLog index 031c3ea..ba0c5ff 100644 --- a/libgst/ChangeLog +++ b/libgst/ChangeLog @@ -1,5 +1,9 @@ 2013-06-03 Holger Hans Peter Freyther <[hidden email]> + * files.c: Make BlockClosure available before the CharacterArray. + +2013-06-03 Holger Hans Peter Freyther <[hidden email]> + * xlat.c: Use jit_flush_code for the runtime code. 2013-05-18 Holger Hans Peter Freyther <[hidden email]> diff --git a/libgst/files.c b/libgst/files.c index a7156f9..c3626ff 100644 --- a/libgst/files.c +++ b/libgst/files.c @@ -200,6 +200,10 @@ static const char standard_files[] = { "CompiledBlk.st\0" "Array.st\0" "ByteArray.st\0" + "ContextPart.st\0" + "MthContext.st\0" + "BlkContext.st\0" + "BlkClosure.st\0" "CharArray.st\0" "String.st\0" "Symbol.st\0" @@ -225,10 +229,6 @@ static const char standard_files[] = { "RWStream.st\0" "UndefObject.st\0" "ProcSched.st\0" - "ContextPart.st\0" - "MthContext.st\0" - "BlkContext.st\0" - "BlkClosure.st\0" "Behavior.st\0" "ClassDesc.st\0" "Class.st\0" -- 1.7.10.4 _______________________________________________ help-smalltalk mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-smalltalk |
Free forum by Nabble | Edit this page |