Вот ащё проблема с памятью...

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Вот ащё проблема с памятью...

Алексей Царегородцев
Доброго времени суток!

  Склероз - это нечто. Профессиональный уже, наверное. :)
  Напомните плиз, кто-то, вроде бы, делал слова, позволяющие
принудительно
  инлайнить заданное слово? Или оно в компилятор было встроено?
  В принципе - это было бы решение проблемы с "одноразовыми" словами -
  скомпилировал во временный словарь, поюзал и забыл.

--
Алексей Царегородцев.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Вот ащё проблема с памятью...

azekeprofit
Administrator
Алексей Царегородцев wrote
  Напомните плиз, кто-то, вроде бы, делал слова, позволяющие
принудительно инлайнить заданное слово? Или оно в компилятор было встроено?
Есть INLINE, ( xt -- )

Но оно имеет ограниченное применение в виду того что слова занимающие в маш. коде больше значения переменной MM_SIZE инлайнить отказывается (не предоставляя при этом никакого fallback'а).

<shameless plug>

Есть две наработки по прямому копированию кода слова с последующими фиксапами условных переходов, обе используют дизассемблер:
http://forth.org.ru/~profit/misc/movecode.f -- первый набросок, как не надо делать: строковый подход
http://forth.org.ru/~profit/misc/movecode2.f -- второй набросок, абузится конечно-автоматная природа дизассемблера

</shameless plug>
Reply | Threaded
Open this post in threaded view
|

Re: Вот ащё проблема с памятью...

Алексей Царегородцев
Доброго времени суток!

> Есть INLINE, ( xt -- )
>
> Но оно имеет ограниченное применение в виду того что слова занимающие
в
> маш.
> коде больше значения переменной MM_SIZE инлайнить отказывается (не
> предоставляя при этом никакого fallback'а).
>

Спасибо, надо посмотреть поближе - MM_SIZE, наверное, как-то можно
обойти.

> http://forth.org.ru/~profit/misc/movecode2.f -- второй набросок,
> абузится
> конечно-автоматная природа дизассемблера

Ок. Посмотрю.

--
Алексей Царегородцев.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev
Reply | Threaded
Open this post in threaded view
|

Re: Вот ащё проблема с памятью...

Mihail Maksimov-2
In reply to this post by azekeprofit
>
> Есть INLINE, ( xt -- )
>
> Но оно имеет ограниченное применение в виду того что слова занимающие в
> маш.
> коде больше значения переменной MM_SIZE инлайнить отказывается (не
> предоставляя при этом никакого fallback'а).

 Нет у INLINE, ограничений по размеру. Oн может не знать неких инструкций.
Тогда их надо прописать в _INLINE, ( лучше в программу типа DUP5B?).

MM_SIZE проверяется в INLINE?.
INLINE?   ( CFA -- CFA FLAG )  выдает разрешение для применения INLINE, в
COMPILE,


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev