Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #14356

Re: Any thoughts on ARM FORTH register usage

From "Clyde W. Phillips Jr." <cwpjr02@gmail.com>
Newsgroups comp.lang.forth
Subject Re: Any thoughts on ARM FORTH register usage
Date 2012-07-24 16:20 -0700
Organization http://groups.google.com
Message-ID <f9e7d701-2ffd-4855-a5c1-48fd88a02b37@googlegroups.com> (permalink)
References <614b2a42-0df7-48af-92f1-0161e149ba45@googlegroups.com> <b8dbd372-d281-4fce-8c32-d77a03d38203@googlegroups.com> <5008ecc2.310574902@192.168.0.50> <84c0fde2-800c-4407-8adf-4a5141d8797c@googlegroups.com> <500e6345.668602922@192.168.0.50>

Show all headers | View raw


On Tuesday, July 24, 2012 4:05:06 AM UTC-5, Stephen Pelc wrote:
> On Mon, 23 Jul 2012 23:08:14 -0700 (PDT), &quot;Clyde W. Phillips Jr.&quot;
> &lt;cwpjr02@gmail.com&gt; wrote:
> 
> &gt;Is the simplest case of STC Forth to push and pop the lr as
> &gt;the return for all but the simple unested primitives which 
> &gt;could just return with a pop lr to pc?
> 
> entry:
>   push lr  ... pop pc
> 
> That works everywhere at the cost of some CPU cycles. If you
> want to save those cycles, you need to know if nesting is 
> required. Doing this safely requires you to detect at least
>   calls
>   branches
>   return stack activity
> 
> These is one of those design decisions that forces you to
> ask yourself if you want to write an STC Forth with some
> optimisation or a flull-blown native code compiler (NCC).
> 
> If you are going for full NCC you will need a lot of time
> for the first one.
> 
> Stephen
> 
> -- 
> Stephen Pelc, stephenXXX@mpeforth.com
> MicroProcessor Engineering Ltd - More Real, Less Time
> 133 Hill Lane, Southampton SO15 5AF, England
> tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691
> web: http://www.mpeforth.com - free VFX Forth downloads

Thank you. I understand.

Do you see a reason to not look into a call loop for the inner interpreter? I'm thinking all cfa's could simply be an offset that if 0 indicates a primitive else a branch relative nest to another cfa. It seems to me allow for debugging return stack issues in one module.

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Any thoughts on ARM FORTH register usage Clyde Phillips <cwpjr02@gmail.com> - 2012-07-15 22:01 -0700
  Re: Any thoughts on ARM FORTH register usage stephenXXX@mpeforth.com (Stephen Pelc) - 2012-07-16 08:50 +0000
  Re: Any thoughts on ARM FORTH register usage "Clyde W. Phillips Jr." <cwpjr02@gmail.com> - 2012-07-19 00:56 -0700
    Re: Any thoughts on ARM FORTH register usage stephenXXX@mpeforth.com (Stephen Pelc) - 2012-07-19 08:56 +0000
  Re: Any thoughts on ARM FORTH register usage "Clyde W. Phillips Jr." <cwpjr02@gmail.com> - 2012-07-19 16:13 -0700
    Re: Any thoughts on ARM FORTH register usage stephenXXX@mpeforth.com (Stephen Pelc) - 2012-07-20 05:38 +0000
      Re: Any thoughts on ARM FORTH register usage "Clyde W. Phillips Jr." <cwpjr02@gmail.com> - 2012-07-23 23:08 -0700
        Re: Any thoughts on ARM FORTH register usage stephenXXX@mpeforth.com (Stephen Pelc) - 2012-07-24 09:05 +0000
          Re: Any thoughts on ARM FORTH register usage "Clyde W. Phillips Jr." <cwpjr02@gmail.com> - 2012-07-24 16:20 -0700
            Re: Any thoughts on ARM FORTH register usage stephenXXX@mpeforth.com (Stephen Pelc) - 2012-07-25 08:01 +0000

csiph-web