Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет nancygold ([info]nancygold)
@ 2024-08-10 00:23:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение: annoyed

Apparently I'm getting retarded...
Today I had issue catching an easy bug.

Context:
I'm transitioning Symta to support 32bit and potentially 16bit CPUs,
So I had to redesign the tagged pointer format to be more uniform.
Basically as of now I pack as many chars and fixnum bits as possible.
That requires complex tag system, where enum and heap types have additional tag bits.
These proven to be inefficient, requiring additional comparisons, shifts and masks.
These are inadmissible on slower 32bit CPUs.
So I'm sacrificing support for 61bit float and reducing finxum/fixtext to 48 bits.

Most changes involved the runtime.
But producing a new standard library, requires using the old runtime.
Yet a few macros had hardcoded fixnum size during the generation.
I was literally starring at the comparison operator for hours...
Before realizing what was really happening.
What was fixtext before became heap allocated in the new runtime.
Yet macros generated _eq opcode, which is used to compare immediates.

Had to temporarily disable the _eq optimization with #ifdef.



(Читать комментарии)

Добавить комментарий:

Как:
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Имя пользователя:
Пароль:
Тема:
HTML нельзя использовать в теме сообщения
Сообщение:



Обратите внимание! Этот пользователь включил опцию сохранения IP-адресов пишущих комментарии к его дневнику.