POV-Ray : Newsgroups : povray.programming : Official notice - user defined function VM data structures Server Time
18 Apr 2024 12:27:51 EDT (-0400)
  Official notice - user defined function VM data structures (Message 1 to 5 of 5)  
From: clipka
Subject: Official notice - user defined function VM data structures
Date: 21 May 2018 10:16:30
Message: <5b02d4be$1@news.povray.org>
Hear, hear, hear!

I hereby give the following notice:

The data types `FunctionEntry`, `StackFrame` and `FPUContext` in the
user-defined functions handling code (`source/vm/fnpovfpu.h`) SHALL be
subject to change, now and forever more.

The commend currently preceding these data structures:

// WARNING: Do not change this structure without notice!!!
// Platform specific code may depend on the exact layout and size! [trf]

will be removed without replacement.

To the best of my knowledge there is not, and never has been, any
platform-specific code that does, or ever did, rely on these structures.

If I'm mistaken there, please let me know.


Post a reply to this message

From: Yvo Smellenbergh
Subject: Re: Official notice - user defined function VM data structures
Date: 21 May 2018 12:37:54
Message: <5b02f5e2@news.povray.org>
On 2018-05-21 14:16:30 +0000, clipka said:

> Hear, hear, hear!
> 
> I hereby give the following notice:
> 
> The data types `FunctionEntry`, `StackFrame` and `FPUContext` in the
> user-defined functions handling code (`source/vm/fnpovfpu.h`) SHALL be
> subject to change, now and forever more.
> 
> The commend currently preceding these data structures:
> 
> // WARNING: Do not change this structure without notice!!!
> // Platform specific code may depend on the exact layout and size! [trf]
> 
> will be removed without replacement.
> 
> To the best of my knowledge there is not, and never has been, any
> platform-specific code that does, or ever did, rely on these structures.
> 
> If I'm mistaken there, please let me know.

If I remember well, there was a JITC but only for the Macintosh version v3.6
JITC for the PPC (G4, G5,…)
Maybe that was the reason for it?

Something someone should implement again for x86? ;-)

--
Yvo

-- 
-------------------------------------------------------------------------------------------


POV-Ray 3.7 unofficial: http://megapov.inetart.net/povrayunofficial_mac/
UberPOV Mac: http://megapov.inetart.net/uberpov_mac/index.html#Mac
MegaPOV: http://megapov.inetart.net
E-mail: yvo(DOT)s(AT)gmx.net


Post a reply to this message

From: Yvo Smellenbergh
Subject: Re: Official notice - user defined function VM data structures
Date: 21 May 2018 12:41:07
Message: <5b02f6a3@news.povray.org>
On 2018-05-21 16:37:54 +0000, Yvo Smellenbergh said:

> On 2018-05-21 14:16:30 +0000, clipka said:
> 
>> Hear, hear, hear!
>> 
>> I hereby give the following notice:
>> 
>> The data types `FunctionEntry`, `StackFrame` and `FPUContext` in the
>> user-defined functions handling code (`source/vm/fnpovfpu.h`) SHALL be
>> subject to change, now and forever more.
>> 
>> The commend currently preceding these data structures:
>> 
>> // WARNING: Do not change this structure without notice!!!
>> // Platform specific code may depend on the exact layout and size! [trf]
>> 
>> will be removed without replacement.
>> 
>> To the best of my knowledge there is not, and never has been, any
>> platform-specific code that does, or ever did, rely on these structures.
>> 
>> If I'm mistaken there, please let me know.
> 
> If I remember well, there was a JITC but only for the Macintosh version v3.6
> JITC for the PPC (G4, G5,…)
> Maybe that was the reason for it?
> 
> Something someone should implement again for x86? ;-)
> 
> --
> Yvo

Look at perforce/povray/3.6-release/macintosh/backend/MacFastfunctions.cpp

-- 
Yvo

-- 
-------------------------------------------------------------------------------------------


POV-Ray 3.7 unofficial: http://megapov.inetart.net/povrayunofficial_mac/
UberPOV Mac: http://megapov.inetart.net/uberpov_mac/index.html#Mac
MegaPOV: http://megapov.inetart.net
E-mail: yvo(DOT)s(AT)gmx.net


Post a reply to this message


Attachments:
Download 'utf-8' (4 KB)

From: clipka
Subject: Re: Official notice - user defined function VM data structures
Date: 21 May 2018 14:41:03
Message: <5b0312bf$1@news.povray.org>
Am 21.05.2018 um 18:37 schrieb E-mailyvo s gmx.net:

>> To the best of my knowledge there is not, and never has been, any
>> platform-specific code that does, or ever did, rely on these structures.
>>
>> If I'm mistaken there, please let me know.
> 
> If I remember well, there was a JITC but only for the Macintosh version
> v3.6
> JITC for the PPC (G4, G5,…)
> Maybe that was the reason for it?

Sounds plausible, given that the comment was signed by Thorsten.

> Something someone should implement again for x86? ;-)

Well, there /are/ plans (somewhere deep in one of my drawers... wait, I
think it should be here... hmm... well, never mind, I'll eventually find
them...) to migrate the user-defined functions to a portable
well-established 3rd party VM, ideally one providing JITC functionality
on the most important platforms (read: LLVM)... some day, anyway.

First I gotta get this *%&$ parser ready for public testing of the new
scanner/tokenizer, and beat out the dents I've made in the process.


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: Official notice - user defined function VM data structures
Date: 21 May 2018 15:20:00
Message: <web.5b031ab2eeeccf2a535efa580@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> Am 21.05.2018 um 18:37 schrieb E-mailyvo s gmx.net:
>
> >> To the best of my knowledge there is not, and never has been, any
> >> platform-specific code that does, or ever did, rely on these structures.
> >>
> >> If I'm mistaken there, please let me know.
> >
> > If I remember well, there was a JITC but only for the Macintosh version
> > v3.6
> > JITC for the PPC (G4, G5,…)
> > Maybe that was the reason for it?
>
> Sounds plausible, given that the comment was signed by Thorsten.

Yes, there was, or actually is, a JIT for PPC in the Mac version of 3.6. It gave
a 8-10 times gain in performance at the time, especially for complex functions.
The JIT is also the reason for the, at first sight, odd absolute position stack
design in the function VM ... it made the switching to JIT code easier as I
could skip implementing a full ABI compliant compiler. I. also had a prototype
for a x86 JIT at one time, but the x86 stack-based FPU is a real pain.

Thorsten


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.