SRL Archive - Development

Current disfunctionalities of the interpreter (pascal script)


mastaraymond

2010-02-23 14:30:28

Windowz:
As of this moment, pascalscript has 2 major bugs left (that I know of):

1) Internal functions that return an Array won't work. I solved this by making a wrapper for almost every function that returns an Array (look for the Simba.simb file in the SRL repos)

2) StdCall somehow doesn't work.. This is an issue when loading plugins etc. To solve this I added an extra exported function in the plugin where it can define as which calling convention the exported method must be treated..

Also, plugins have an other little issue: memory sharing. SCAR solves this issue by using the unit 'FastShareMem', however this is not suitable for Simba. (There might be a fix, but not sure if it's "waterproof")

As for linux, pascalscript still has a lot of major unfixed issues..

Just found out it has a kind-off large leak in Arrays.. See the following code:

program new;
var
Ints : Array of integer;
begin
repeat
ints := [0,1,2,3,4];
until false;
end.

lordsaturn

2010-02-25 04:50:19

Well it's open source right? That means somebody could fix these problems themselves?

Wizzup?

2010-02-25 05:59:36

From: lordsaturn
Well it's open source right? That means somebody could fix these problems themselves?


Could, could… But their source is a true mess. Most of it is assembly hacks.

mastaraymond

2010-04-07 18:40:20

The array-problem seems to be fixed!

caused

2010-04-07 18:50:54

From: Wizzup?
Could, could… But their source is a true mess. Most of it is assembly hacks.


I guess assembly is rather not used to hack, but to improve performance ;].

Wizzup?

2010-04-09 05:44:11

From: caused
I guess assembly is rather not used to hack, but to improve performance ;].


Or cause instability, as it does in this case. :)
And it's pretty slow nevertheless…

nielsie95

2010-04-09 06:10:27

I believe assembly is only used to call external functions. There is no other way but to use assembly, I believe.

Wizzup?

2010-04-09 14:40:22

From: nielsie95
I believe assembly is only used to call external functions. There is no other way but to use assembly, I believe.


Yes, but Pascalscript does use more assembly than needed, really. Have a look at ben's interpreter.

mastaraymond

2010-05-09 07:19:31

Running
program new;
var
Ints : Array of integer;
begin
repeat
ints := [0,1,2,3,4];
until false;
end.

Results in a pure memory leak.

mastaraymond

2010-05-19 18:30:55

From: mastaraymond
Running
program new;
var
Ints : Array of integer;
begin
repeat
ints := [0,1,2,3,4];
until false;
end.

Results in a pure memory leak.

Fixed now :)