Re: Status of Strongtalk C++ code: VM stability and progress on a graphical debugger
Shaping <[email protected]> Sun, 18 May 2008 18:33:35 -0700 (PDT)
| Newsgroups | gmane.comp.lang.smalltalk.strongtalk |
|---|---|
| Message-ID | <[email protected]> |
On May 18, 6:53 pm, talksmall <[email protected]> wrote: > On May 18, 11:29 pm, Shaping <[email protected]> wrote: > > > On May 18, 10:27 am, "Gilad Bracha" <[email protected]> wrote: > > Does Strongtalk use a > > direct-pointer model? > > Yes, additionally both compiled and interpreted methods cache > references to classes. What are the differences in the implementations compiled and interpreted methods? Are the Interpreted methods fully reified? If you are swapping pointers during a #become:, you have to be able to find all references. Is doing this reliably the problem? > > > A correct implementation of doesNotUnderstand: is necessary as well. I > > > understand some people on the list are looking at these issues. > > > What's wrong with Strongtalk's #doesNotUnderstand:? > > It is broken ;) > > Basically, method lookups get cached in inline caches. When the class > of the receiver doesn't match the class of the cached method a method > lookup is performed. If a matching method is not found > doesNotUnderstand: gets called, however overriding the implementation > in Object doesn't work quite as expected. Any result returned by the > method is discarded and the lookup just repeats until the stack > overflows. Do we actually know where this code for the looping on the method- lookup lives? > > To fix this, message sends in compiled and interpreted methods need to > allow for a failed lookup followed by an invocation of > doesNotUnderstand: that pops the arguments from the stack and pushes > the result returned by the method. Are you saying that you want the exception handling following the raising of the MNU expection to work correctly? Apparently the exception itself is not being raised at all. Is this the problem? Normally, without a handler in place, you would get the usual walkback. Do you just want this to work in the usual way, where you get the walkback, or do you have a specific kind of handler in mind for this situation in which the cached class doesn't match that of the reciever? > > > > > I poked around in Strongtalk-commit. Most of the recent submissions > > seem to relate to the gcc build process or to linux. Is anyone > > developing with the latest version of Visual Studio?. I'm just asking. > > I don't really want to use it because the VS IDE seems to be broken is > > basic ways, anyway. What is the most common, least problematic C++ > > tool set being used to edit and build Strongtalk C++ code? > > Actually, although the commits have been on the Linux branch, the code > on that branch builds under both Linux and Windows. The shared image > used by both has no Linux UI support as yet, but scripted Smalltalk > code can be executed. > > Most of the recent work I have been doing has been in Windows using VC+ > + 2008 Express. What problems have you had? One of the newer versions (I think 2008) of VS, a fresh install, reportedly (and I verified it) cannot successfully search for and find referenced member functions, when they are clearly present. This must be a setup/config problem, but it's very bad one to experience on a fresh install. I'm considering using Eclipse. I haven't seen any > problems with the environment, only with my code ;) > > I'm just about to start looking into some of the issues Gilad is > interested in. In particular, doesNotUnderstand:, automatic garbage > collection and become: Wanna help? Yes. I don't have much choice. Smalltalk is not enough anymore and I need a better language and VM. Specifically, if there is a bottleneck, I need to be able to write a primitive myself, compile it in statically as part of the VM or place it in a DLL and link to it. I also need callbacks, and I understand from Gilad that this is doable. I am working with an old machine--somewhat slow, but tolerable if I don't do to much at once. I'm getting into a new machine soon, but will be two to three weeks doing that. I can look at C++ source in the meantime, ask some questions, and get oriented. Shaping --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Strongtalk-general" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/strongtalk-general?hl=en -~----------~----~----~----~------~----~------~--~---