[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Register VM WIP
From: |
Andy Wingo |
Subject: |
Re: Register VM WIP |
Date: |
Wed, 16 May 2012 09:15:23 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) |
On Wed 16 May 2012 06:23, Mark H Weaver <address@hidden> writes:
> It's surprising to me for another reason: in order to make the
> instructions reasonably compact, only a limited number of bits are
> available in each instruction to specify which registers to use.
It turns out that being reasonably compact isn't terribly important --
more important is the number of opcodes it takes to get something done,
which translates to the number of dispatches. Have you seen the "direct
threading" VM implementation strategy? In that case the opcode is not
an index into a jump table, it's a word that encodes the pointer
directly. So it's a word wide, just for the opcode. That's what
JavaScriptCore does, for example. The opcode is a word wide, and each
operand is a word as well.
The design of the wip-rtl VM is to allow 16M registers (24-bit
addressing). However many instructions can just address 2**8 registers
(8-bit addressing) or 2**12 registers (12-bit addressing). We will
reserve registers 253 to 255 as temporaries. If you have so many
registers as to need more than that, then you have to shuffle operands
down into the temporaries. That's the plan, anyway.
Cheers,
Andy
--
http://wingolog.org/
- Register VM WIP, Andy Wingo, 2012/05/11
- Re: Register VM WIP, Stefan Israelsson Tampe, 2012/05/11
- Re: Register VM WIP, Ludovic Courtès, 2012/05/14
- Re: Register VM WIP, Andrew Gwozdziewycz, 2012/05/14
- Re: Register VM WIP, Andy Wingo, 2012/05/15
- Re: Register VM WIP, Noah Lavine, 2012/05/15
- Re: Register VM WIP, Mark H Weaver, 2012/05/16
- Re: Register VM WIP,
Andy Wingo <=
- Re: Register VM WIP, Mark H Weaver, 2012/05/16
- Re: Register VM WIP, David Kastrup, 2012/05/16
- Re: Register VM WIP, Noah Lavine, 2012/05/16
- Re: Register VM WIP, Andy Wingo, 2012/05/16
- Re: Register VM WIP, Ludovic Courtès, 2012/05/16
- Re: Register VM WIP, Andy Wingo, 2012/05/16
- Re: Register VM WIP, Mark H Weaver, 2012/05/16
- Re: Register VM WIP, Andy Wingo, 2012/05/16
- Re: Register VM WIP, Noah Lavine, 2012/05/16
- Re: Register VM WIP, Andy Wingo, 2012/05/16