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

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

Changes by: 
                Stefan Urbanek <[EMAIL PROTECTED]>
'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/





_______________________________________________
Bug-gnustep mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-gnustep

Reply via email to