mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Adapt to Whippet inline allocation changes
* libguile/jit.c (compile_allocate_words_immediate): (compile_allocate_words_immediate_slow): (compile_allocate_pointerless_words_immediate): (compile_allocate_pointerless_words_immediate_slow): Update for new API.
This commit is contained in:
parent
975860e5e2
commit
1b6055dbbd
1 changed files with 8 additions and 4 deletions
|
@ -2350,7 +2350,8 @@ compile_allocate_words_immediate (scm_jit_state *j, uint32_t dst, uint32_t nword
|
||||||
{
|
{
|
||||||
size_t bytes = nwords * sizeof(SCM);
|
size_t bytes = nwords * sizeof(SCM);
|
||||||
|
|
||||||
if (gc_allocator_kind() == GC_ALLOCATOR_INLINE_FREELIST &&
|
if ((gc_inline_allocator_kind(GC_ALLOCATION_TAGGED)
|
||||||
|
== GC_INLINE_ALLOCATOR_FREELIST) &&
|
||||||
bytes <= gc_allocator_large_threshold ())
|
bytes <= gc_allocator_large_threshold ())
|
||||||
emit_allocate_bytes_fast_freelist (j, T0, bytes, GC_ALLOCATION_TAGGED,
|
emit_allocate_bytes_fast_freelist (j, T0, bytes, GC_ALLOCATION_TAGGED,
|
||||||
T1, T2);
|
T1, T2);
|
||||||
|
@ -2366,7 +2367,8 @@ compile_allocate_words_immediate_slow (scm_jit_state *j, uint32_t dst, uint32_t
|
||||||
size_t bytes = nwords * sizeof(SCM);
|
size_t bytes = nwords * sizeof(SCM);
|
||||||
|
|
||||||
/* Only emit a slow path if there is a fast path. */
|
/* Only emit a slow path if there is a fast path. */
|
||||||
if (gc_allocator_kind() == GC_ALLOCATOR_INLINE_FREELIST &&
|
if ((gc_inline_allocator_kind(GC_ALLOCATION_TAGGED)
|
||||||
|
== GC_INLINE_ALLOCATOR_FREELIST) &&
|
||||||
bytes <= gc_allocator_large_threshold ())
|
bytes <= gc_allocator_large_threshold ())
|
||||||
{
|
{
|
||||||
emit_allocate_words_slow (j, T0,
|
emit_allocate_words_slow (j, T0,
|
||||||
|
@ -2394,7 +2396,8 @@ compile_allocate_pointerless_words_immediate (scm_jit_state *j, uint32_t dst, ui
|
||||||
{
|
{
|
||||||
size_t bytes = nwords * sizeof(SCM);
|
size_t bytes = nwords * sizeof(SCM);
|
||||||
|
|
||||||
if (gc_allocator_kind() == GC_ALLOCATOR_INLINE_FREELIST &&
|
if ((gc_inline_allocator_kind(GC_ALLOCATION_UNTAGGED_POINTERLESS)
|
||||||
|
== GC_INLINE_ALLOCATOR_FREELIST) &&
|
||||||
bytes <= gc_allocator_large_threshold ())
|
bytes <= gc_allocator_large_threshold ())
|
||||||
emit_allocate_bytes_fast_freelist (j, T0, bytes,
|
emit_allocate_bytes_fast_freelist (j, T0, bytes,
|
||||||
GC_ALLOCATION_UNTAGGED_POINTERLESS,
|
GC_ALLOCATION_UNTAGGED_POINTERLESS,
|
||||||
|
@ -2411,7 +2414,8 @@ compile_allocate_pointerless_words_immediate_slow (scm_jit_state *j, uint32_t ds
|
||||||
size_t bytes = nwords * sizeof(SCM);
|
size_t bytes = nwords * sizeof(SCM);
|
||||||
|
|
||||||
/* Only emit a slow path if there is a fast path. */
|
/* Only emit a slow path if there is a fast path. */
|
||||||
if (gc_allocator_kind() == GC_ALLOCATOR_INLINE_FREELIST &&
|
if ((gc_inline_allocator_kind(GC_ALLOCATION_UNTAGGED_POINTERLESS)
|
||||||
|
== GC_INLINE_ALLOCATOR_FREELIST) &&
|
||||||
bytes <= gc_allocator_large_threshold ())
|
bytes <= gc_allocator_large_threshold ())
|
||||||
{
|
{
|
||||||
emit_allocate_words_slow (j, T0,
|
emit_allocate_words_slow (j, T0,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue