FWIW the CGP sub_i_i_i opcode on the PowerBook
0x001048d4 :lwz r0,8(r30)
0x001048d8 :lwz r2,12(r30)
0x001048dc :lwzxr0,r27,r0
0x001048e0 :lwzxr2,r27,r2
0x001048e4 :lwz r9,4(r30)
0x001048e8 :subfr0,r2,r0
0x001048ec :stwxr0,r27,r9
0x001048f0 :
Dan Sugalski <[EMAIL PROTECTED]> wrote:
> While I want to keep the switch core, I'm still not seeing the need
> for prederef with it. I'm presuming this crept in at some point and
> just needs un-creeping?
Using prederef for switch has one advantage: it's a bit faster. Before
the indirect registe
Dan Sugalski <[EMAIL PROTECTED]> wrote:
> Or 3) Toss the prederef stuff entirely.
And here is, why I want to keep the CGP core:
sub_i_i_i
0x81bbef0 : mov0x4(%esi),%ecx
0x81bbef3 : mov0x8(%esi),%edx
0x81bbef6 : mov0xc(%esi),%eax
0x81bbef9 : add$0x10,%esi
0x8
At 11:12 AM +0100 11/1/04, Leopold Toetsch wrote:
Leopold Toetsch wrote:
Or 3) Toss the prederef stuff entirely.
Well, the prederefed function core (parrot -P) is for sure not necessary.
Patches welcome to remove the plain prederefed function core
F. F is
still needed as an abstract base class o
Leopold Toetsch wrote:
Dan Sugalski wrote:
At 11:13 AM +0200 10/28/04, Leopold Toetsch wrote:
1) use frame pointer relative addressing:
+ prederefed code is usable by different threads too
- ~4 times increase in code size of core_ops_*.{c,o} [1]
I've now committed this case 1) as a fix for pr
Dan Sugalski wrote:
At 11:13 AM +0200 10/28/04, Leopold Toetsch wrote:
1) use frame pointer relative addressing:
+ prederefed code is usable by different threads too
- ~4 times increase in code size of core_ops_*.{c,o} [1]
2) Re-prederef on function calls, if frame pointer differs
+ no imp
Duraid Madina wrote:
Dan Sugalski wrote:
Or 3) Toss the prederef stuff entirely.
Which might not be quite as bad as it sounds: on at least one "strange
platform" (IA64 HP-UX) the native C compiler gets the switch core
running faster than the prederef core! (!)
Err, the switched core *is* a prede
Dan Sugalski wrote:
Or 3) Toss the prederef stuff entirely.
Which might not be quite as bad as it sounds: on at least one "strange
platform" (IA64 HP-UX) the native C compiler gets the switch core
running faster than the prederef core! (!)
Duraid
At 11:13 AM +0200 10/28/04, Leopold Toetsch wrote:
With the indirect register addressing all prederefed run cores
(Prederefed, CGP, Switch) are currently not functional, as these run
cores have absolute addresses in the prederefed code.
I see two ways to fix it:
1) use frame pointer relative add