Hi,
I was going through the smalltalk code and found something a bit strange, look below -
"<primitive: VMprBlockContextValueOnReturnDo>"
I check the code and VMprBlockContextValueOnReturnDo returned a value of 181 on inspecting but could not find anything by the name primitive: aString.
What I could grasp was that this is a call to some DLL but how is the call happening and which DLL is it calling was something I could not trace.
Can anyone help me with this? maybe redirect me to the correct doc
Thanks
-- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/KZHTfbonh_4J. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en. |
A primitive is a very special call to a native external library code. After all its an exported external function from a shared library therefore you might look at the exported functions of some of the dlls delivered with VASmalltalk. In this example perhaps the dll containing the virtual machine. Am 29.02.2012 15:01 schrieb "Gaurav Sharma" <[hidden email]>: You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en. |
Marten is exactly correct, but I will add a little additional information. If the external function is located in a DLL/shared object other than the VM, then the name of the DLL/shared object will be specified (i.e. <primitive: Foo:Entry-point name>; if it is the VM, only the Entry-point name is specified (as in your example). You may also find constructs that look like <c: Foo:Entry-point name> and wonder how these are different from primitives. The implementation of <primitive: ...> takes Smalltalk objects as parameters and return a Smalltalk object as the result; the implementation of <c: ...> takes normal C parameters and answers a normal C result. You can find a lot more detail on the subject at VA Smalltalk Virtual Machine API. On Wednesday, February 29, 2012 9:35:48 AM UTC-5, Marten Feldtmann wrote:
On Wednesday, February 29, 2012 9:35:48 AM UTC-5, Marten Feldtmann wrote:
On Wednesday, February 29, 2012 9:35:48 AM UTC-5, Marten Feldtmann wrote: -- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/PTLpPIZorE0J. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en. |
Thanks John for the additional info, this is exactly what i was looking for...
On Wednesday, February 29, 2012 10:53:11 PM UTC+5:30, John O'Keefe wrote:
On Wednesday, February 29, 2012 10:53:11 PM UTC+5:30, John O'Keefe wrote: -- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/q11chcCNOXIJ. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en. |
In reply to this post by Gaurav Sharma
Thanks John for the additional info, this is exactly what i was looking for...
On Wednesday, February 29, 2012 7:31:26 PM UTC+5:30, Gaurav Sharma wrote: -- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/IyAq3twopSQJ. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en. |
You may view the screencasts I've done about this topic:
http://smalltalkinspect.podspot.de/post/msc010-vasmalltalk-c-api-part-07-en/ http://smalltalkinspect.podspot.de/post/msc009-c-api-08m4v-en/ -- You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/dDKaBbUyg7wJ. To post to this group, send email to [hidden email]. To unsubscribe from this group, send email to [hidden email]. For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en. |
Free forum by Nabble | Edit this page |