[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Some experience with the igc branch
From: |
Gerd Möllmann |
Subject: |
Re: Some experience with the igc branch |
Date: |
Sun, 22 Dec 2024 18:56:11 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Pip Cet <pipcet@protonmail.com> writes:
> 3. bytecode stack marking. That comment raises my red-flag alert,
> because it sounds like we're just accepting a preventable crash at this
> stage rather than wanting to do anything about it. The reality, of
> course, is different, but I'd be happier if we refused to create a byte
> code object that intends to use more stack than we can guarantee we
> would scan. Can we do that?
>
> Pip
You mean my comment here?
static mps_res_t
scan_bc (mps_ss_t ss, void *start, void *end, void *closure)
{
MPS_SCAN_BEGIN (ss)
{
struct igc_thread_list *t = closure;
struct bc_thread_state *bc = &t->d.ts->bc;
igc_assert (start == (void *) bc->stack);
igc_assert (end == (void *) bc->stack_end);
/* FIXME/igc: AFAIU the current top frame starts at
bc->fp->next_stack and has a maximum length that is given by the
bytecode being executed (COMPILED_STACK_DEPTH). So, we need to
scan upto bc->fo->next_stack + that max depth to be safe. Since
I don't have that number ATM, I'm using an arbitrary estimate for
now.
This must be changed to something better. Note that Mattias said
the bc stack marking will be changed in the future. */
const size_t HORRIBLE_ESTIMATE = 1024;
char *scan_end = bc_next_frame (bc->fp);
scan_end += HORRIBLE_ESTIMATE;
end = min (end, (void *) scan_end);
if (end > start)
IGC_FIX_CALL (ss, scan_ambig (ss, start, end, NULL));
}
MPS_SCAN_END (ss);
return MPS_RES_OK;
}
I never felt like changing the byte code stack, TBH. For reasons :-).
- Some experience with the igc branch, Óscar Fuentes, 2024/12/22
- Re: Some experience with the igc branch, Gerd Möllmann, 2024/12/22
- Re: Some experience with the igc branch, Gerd Möllmann, 2024/12/22
- Re: Some experience with the igc branch, Pip Cet, 2024/12/22
- Re: Some experience with the igc branch,
Gerd Möllmann <=
- Re: Some experience with the igc branch, Óscar Fuentes, 2024/12/22
- Re: Some experience with the igc branch, Pip Cet, 2024/12/22
- Re: Some experience with the igc branch, Óscar Fuentes, 2024/12/22
- Re: Some experience with the igc branch, Pip Cet, 2024/12/24
- Freezing frame with igc, Gerd Möllmann, 2024/12/24
- Re: Freezing frame with igc, Pip Cet, 2024/12/25
- Re: Freezing frame with igc, Óscar Fuentes, 2024/12/25
- Re: Some experience with the igc branch, Gerd Möllmann, 2024/12/22
- Re: Some experience with the igc branch, Jean Louis, 2024/12/23
Re: Some experience with the igc branch, Helmut Eller, 2024/12/22