[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-smalltalk] [PATCH 4/4] jit: The at: optimization is broken for
From: |
Paolo Bonzini |
Subject: |
Re: [Help-smalltalk] [PATCH 4/4] jit: The at: optimization is broken for ContextPart>>#at: -1 |
Date: |
Thu, 27 Jun 2013 11:07:46 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6 |
Il 27/06/2013 10:12, Holger Hans Peter Freyther ha scritto:
> From: Holger Hans Peter Freyther <address@hidden>
>
> The delays test is triggering this bug. Disable the inlined at
> for now...
>
> 2013-06-27 Holger Hans Peter Freyther <address@hidden>
>
> * xlat.c: Disable the optimized version of the basicAt: primitive.
> ---
> libgst/ChangeLog | 4 ++++
> libgst/xlat.c | 3 +++
> 2 files changed, 7 insertions(+)
>
> diff --git a/libgst/ChangeLog b/libgst/ChangeLog
> index 4880a8f..38aec89 100644
> --- a/libgst/ChangeLog
> +++ b/libgst/ChangeLog
> @@ -1,3 +1,7 @@
> +2013-06-27 Holger Hans Peter Freyther <address@hidden>
> +
> + * xlat.c: Disable the optimized version of the basicAt: primitive.
> +
> 2013-06-10 Holger Hans Peter Freyther <address@hidden>
>
> * interp-jit.inl: Set the F_XLAT_REACHABLE flag in refresh_native_ips.
> diff --git a/libgst/xlat.c b/libgst/xlat.c
> index 3f4a555..24fc847 100644
> --- a/libgst/xlat.c
> +++ b/libgst/xlat.c
> @@ -2587,6 +2587,8 @@ emit_inlined_primitive (int primitive, int numArgs, int
> attr)
> {
> switch (primitive)
> {
> +#if 0
> + /* delays.st is failing for index access at -1 */
> case 60:
> {
> jit_insn *fail1, *fail2;
> @@ -2683,6 +2685,7 @@ emit_inlined_primitive (int primitive, int numArgs, int
> attr)
> return PRIM_FAIL | PRIM_SUCCEED | PRIM_INLINED;
> }
> break;
> +#endif
>
> case 61:
> {
>
Since you said it happens also with the interpreter, and it is a clear
bug in classes that have both fixed and indexed instance variables,
let's leave this one aside for now.
st> thisContext basicAt: -1
UndefinedObject>>executeStatements
Please apply the other three.
Paolo