FogBugz (Case [Issue]10594) Kernel - Set compiler option +optLongIvarAccessBytecodes for InstructionStream Hierarchy

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

FogBugz (Case [Issue]10594) Kernel - Set compiler option +optLongIvarAccessBytecodes for InstructionStream Hierarchy

Pharo Issue Tracker
A FogBugz case was opened by Marcus Denker.

Case ID:      10594
Title:        Set compiler option +optLongIvarAccessBytecodes for InstructionStream Hierarchy
Status:       Work Needed
Category:     Bug
Project:      Kernel
Area:         Misc
Priority:     3 - Must Fix
Milestone:    Pharo3.0: 30/03/2014
Assigned To:  Everyone

URL:          https://pharo.fogbugz.com/default.asp?10594

The slice just adds this method to InstrucionStream class side. (It is ignored by the Old Compiler, for the new Compiler this sets the option in the CompilationContext. A later Change will the use this information deep in the BytecodeGenerator backend.
This replaces the #needsLongForm mechanism of Opal. The Old compiler used a quite hidden mechanism of #instVarNamesAndOffsetsDo: which returns negative ivar offsets for this hierarchy)

compiler
"The JIT compiler needs to trap all reads to instance variables of contexts. As this check is costly, it is only done
in the long form of the bytecodes, which are not used often. In this hierarchy we force the compiler to alwasy generate
long bytecodes"
^super compiler options: #(+ optLongIvarAccessBytecodes)


You are subscribed to this case.  If you do not want to receive automatic notifications in the future, unsubscribe (https://pharo.fogbugz.com/default.asp?pre=preUnsubscribe&pg=pgEditBug&command=view&ixBug=10594) from this case.

_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker