Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007534 [Squeak] Kernel major always 05-18-10 22:11 04-03-11 22:49
Reporter sig View Status public  
Assigned To
Priority normal Resolution fixed  
Status closed   Product Version 4.1
Summary 0007534: Perform primitive: fails if method having many arguments
Description The perform primitive using the currently active context to push
all of the arguments on it, and then do normal send.

But a sender context may be not be big enough (small frame) to accomodate
all pushed values.
Therefore, for methods with many arguments, a primitive may fail.

The proposed fix is to make sure that Object>>#perform:withArguments:
is using a large stack frame size, so when a primitive 84 fails,
and Object>>#perform:withArguments: will be activated,
there will be enough space to push all arguments on context stack
and retry with primitive 100.


Additional Information
Attached Files  perform-framesize.1.cs [^] (865 bytes) 05-18-10 22:11

- Relationships

- Notes
(0014079 - 34 - 34 - 34 - 34 - 34 - 34)
leves
04-03-11 22:49

The fix is included in Squeak 4.2.
 

- Issue History
Date Modified Username Field Change
05-18-10 22:11 sig New Issue
05-18-10 22:11 sig Status new => assigned
05-18-10 22:11 sig Assigned To  => KenCausey
05-18-10 22:11 sig File Added: perform-framesize.1.cs
05-18-10 22:54 lewis Issue Monitored: lewis
05-19-10 14:04 KenCausey Assigned To KenCausey =>
05-19-10 14:04 KenCausey Status assigned => new
05-19-10 14:04 KenCausey Category Any => Kernel
04-03-11 22:49 leves Status new => closed
04-03-11 22:49 leves Note Added: 0014079
04-03-11 22:49 leves Resolution open => fixed
04-03-11 22:49 leves Fixed in Version  => 4.2


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
46 total queries executed.
34 unique queries executed.
Powered by Mantis Bugtracker