On Wed, Jan 11, 2017 at 12:12 AM, Ronie Salgado <[hidden email]> wrote:
Can you describe what a Locoed callback is in relation to Alien callback machinery? Does the Locoed callback come in through thunkEntry or by another route?
The build directly names break the naming convention. Since the VMs below are Spur perhaps we should call them pharo.cog.spur.lowcode? e.g. when I build immutability VMs I call the directory e.g. squeak.cog.spur.immutability. So maybe we can use some convention like dialect.[sista|cog|stack].[spur|v3].[option1+...optionN]. Or, if lowcode always implies Sista support then pharo.lowcode.spur would work.
I am using the standard Alien Callback machinery. I have not started to debug completely this problem, but I have my suspicious: The full sequence is something like this:
- Smalltalk method with a ffi callout
- Argument marshalling using Lowcode
- Actual callout: Switch from the Smalltalk Stack to the C stack via a special trampoline. The trampoline is used for storing the return instruction pointer. Probably I am also adding a reverse trampoline. This is the part where I have my suspicious
- Some C code that invokes the callback in some time
- The smalltalk callback
During the rest of the week I will try to fix this problem. However, my priority right now is in supporting 64 bits with Lowcode.
Fixed. pharo.cog.spur.lowcode . The actual Sista Cogit is not mandatory for supporting Lowcode. Only StackToRegisterMappingCogit with the LowcodeVM and the SistaVM flags is required. Probably, I should try to remove the requirement on the SistaVM option.
2017-01-11 13:36 GMT-03:00 Eliot Miranda <[hidden email]>:
|Free forum by Nabble||Edit this page|