[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&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&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/