bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bugs #9595] StepTalk was not able to handle more than 256(128) literals


From: Stefan Urbanek
Subject: [bugs #9595] StepTalk was not able to handle more than 256(128) literals in scripts.
Date: Sat, 10 Jul 2004 07:15:41 -0400
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040413 Debian/1.6-5

This mail is an automated notification from the bugs tracker
 of the project: GNUstep.

/**************************************************************************/
[bugs #9595] Latest Modifications:

Changes by: 
                Stefan Urbanek <stefanu@altair.dcs.elf.stuba.sk>
'Date: 
                Sat 07/10/04 at 11:13 (Europe/Bratislava)

            What     | Removed                   | Added
---------------------------------------------------------------------------
          Resolution | None                      | Fixed
              Status | Analyzed                  | In Test


------------------ Additional Follow-up Comments ----------------------------
Applied patch. Please test.






/**************************************************************************/
[bugs #9595] Full Item Snapshot:

URL: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=9595>
Project: GNUstep
Submitted by: Alexander V. Diemand
On: Thu 07/08/04 at 14:52

Category:  Libraries
Severity:  5 - Average
Item Group:  Bug
Resolution:  Fixed
Assigned to:  stefanu
Status:  In Test


Summary:  StepTalk was not able to handle more than 256(128) literals in 
scripts.

Original Submission:  Scripts written in Smalltalk and interpreted by StepTalk 
where limited to max. 256 literals (1 byte index) such as strings and numbers 
per block. This is way below what is normally needed.
A simple update of the compiler which computes the literal's index and stores 
it in the bytecode, plus the interpreter was necessary to allow for 16 bit 
indexes. This should allow for 64k literals.

The attached diff is made from the following files:
StepTalk/Languages/Smalltalk/STBytecodes.m
StepTalk/Languages/Smalltalk/STCompiler.m
against the current CVS version.

BTW: the patch uploaded by Mateu has not been fully applied to the CVS version 
of StepTalk. The needed change to STCompiler.m has been included again.

Thanks for including this in CVS.

Alex.


Follow-up Comments
------------------


-------------------------------------------------------
Date: Sat 07/10/04 at 11:13         By: stefanu
Applied patch. Please test.

-------------------------------------------------------
Date: Fri 07/09/04 at 21:22         By: axeld
I have been imprecise: Mateu has been providing a patch which allowed for 
addressing 256 literals instead of the default 128 ones; just because of a tiny 
change from signed char to unsigned char in the method 
fetchNextBytecodeAtPointer: in file STBytecodes.m (and not STCompiler.m as I 
mentionned).
This change has never made its way into the CVS and therefore, I have included 
it again in my diff.

There is a new diff (bugfix_size_of_literal_index-2.diff) attached which 
simplifies the way "long jumps" are encoded. It now uses EMIT_DOUBLE instead of 
EMIT_TRIPPLE. There is no need for the special macros to compute the offset or 
encode it in two bytes.

Please ignore the first diff. Its changes have been integrated in the new one.



-------------------------------------------------------
Date: Fri 07/09/04 at 14:11         By: stefanu
Patch looks good. I'll apply it when I get home.

Concerning the STCompiler change: what do you mean? Recycling of a literal? If 
yes, then it is not possible, because arrays and strings are mutable. However, 
it can be done for numbers as a special case. Has anyone else elaborated more 
deeply the issue?




CC List
-------

CC Address                          | Comment
------------------------------------+-----------------------------
stefanu                             | 



File Attachments
-------------------

-------------------------------------------------------
Date: Fri 07/09/04 at 21:22  Name: bugfix_size_of_literal_index-2.diff  Size: 
6.17KB   By: axeld
new and complete diff
http://savannah.gnu.org/bugs/download.php?item_id=9595&amp;item_file_id=1472

-------------------------------------------------------
Date: Thu 07/08/04 at 14:52  Name: bugfix_size_of_literal_index.diff  Size: 
3.01KB   By: axeld
Diff against STCompiler.m and STBytecodes.m
http://savannah.gnu.org/bugs/download.php?item_id=9595&amp;item_file_id=1469






For detailed info, follow this link:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=9595>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/







reply via email to

[Prev in Thread] Current Thread [Next in Thread]