From florin.mateoc at gmail.com Tue Sep 1 00:11:16 2020 From: florin.mateoc at gmail.com (Florin Mateoc) Date: Mon, 31 Aug 2020 20:11:16 -0400 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: Message-ID: On Mon, Aug 31, 2020 at 6:29 PM Florin Mateoc wrote: > > > > On Mon, Aug 31, 2020 at 6:00 PM Eliot Miranda > wrote: > >> >> >> >> On Mon, Aug 31, 2020 at 2:00 PM Florin Mateoc >> wrote: >> >>> >>> I think this is especially confusing since the comment says that the >>> primitive always fails, and then the expectation is that the Smalltalk code >>> that follows is executed instead. But that code does not do what the method >>> actually does >>> >> >> I disagree. It does exactly what the method does (it *is* the >> implementation of the method) unless the stack is unwound. Yes, the >> comment could point the reader to Context>>#resume:through: which runs >> the ensure: & ifCurtailed: blocks on unwind. Bit otherwise ifCurtailed: is >> not somehow magically not executed. It is what it is ;-) >> >> As I said earlier, ifCurtailed: only evaluates its argument if a >> non-local return or exception return is taken and the normal return path is >> not taken. See Context>>#resume:through: which runs the ensure: & >> ifCurtailed: blocks. >> >> Can I confirm that your dissatisfaction is with the comment? Or do you >> really think the ifCurtailed: method does not execute verbatim in the >> absence of unwinds? If the former, you're welcome to submit an improved >> comment. If the latter, you're mistaken. >> >> > > Of course I agree that the ifCurtailed: method does execute verbatim in > the absence of unwind. But the method does not only execute in the absence > of unwinds. So my "dissatisfaction" is not just with the comment. While it > could be somewhat be addressed by a comment, I think this is an instance > where the vm is caught cheating. The shown Smalltalk code is not what gets > executed in the presence of unwinds (as opposed to the code shown in > #ensure: ). The execution of the argument block is hidden inside the vm > > To be more pedantic, neither #ensure: nor #ifCurtailed: disclose what is really happening on the unwind path, but at least #ensure: shows some code that conceptually matches its semantics. In both cases, there is magic happening inside #valueNoContextSwitch, which, although it does not take any arguments, it knows how to (call a method that knows how to) invoke, if necessary, its caller's argument. Yes, by walking the stack and peeking inside the contexts' temps and then acting upon them anything is possible, but the resulting code is anything but readable. I would argue for passing the #ensure: and #ifCurtailed: arguments to the #valueNoContextSwitch method/primitive, thus making it possible to avoid #resume:through: - I think such methods are fine for simulation/debugger, but not for runtime. -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Tue Sep 1 00:19:58 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Mon, 31 Aug 2020 17:19:58 -0700 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: Message-ID: <0237652D-C7E8-4546-AD34-9F914AF7CBAE@gmail.com> > On Aug 31, 2020, at 3:30 PM, Florin Mateoc wrote: > >  > > > >> On Mon, Aug 31, 2020 at 6:00 PM Eliot Miranda wrote: >> >> >> >>> On Mon, Aug 31, 2020 at 2:00 PM Florin Mateoc wrote: >>> >>> I think this is especially confusing since the comment says that the primitive always fails, and then the expectation is that the Smalltalk code that follows is executed instead. But that code does not do what the method actually does >> >> I disagree. It does exactly what the method does (it *is* the implementation of the method) unless the stack is unwound. Yes, the comment could point the reader to Context>>#resume:through: which runs the ensure: & ifCurtailed: blocks on unwind. Bit otherwise ifCurtailed: is not somehow magically not executed. It is what it is ;-) >> >> As I said earlier, ifCurtailed: only evaluates its argument if a non-local return or exception return is taken and the normal return path is not taken. See Context>>#resume:through: which runs the ensure: & ifCurtailed: blocks. >> >> Can I confirm that your dissatisfaction is with the comment? Or do you really think the ifCurtailed: method does not execute verbatim in the absence of unwinds? If the former, you're welcome to submit an improved comment. If the latter, you're mistaken. >> > > > Of course I agree that the ifCurtailed: method does execute verbatim in the absence of unwind. But the method does not only execute in the absence of unwinds. So my "dissatisfaction" is not just with the comment. While it could be somewhat be addressed by a comment, I think this is an instance where the vm is caught cheating. The shown Smalltalk code is not what gets executed in the presence of unwinds (as opposed to the code shown in #ensure: ). The execution of the argument block is hidden inside the vm No it isn’t. The vm detects an attempt to unwind across an unwind protect (either ensure: if ifCurtailed:), and sends aboutToReturn:to: to the current context. Everything happens up in the image from that point. For the third time see Context>>#resume:through: which runs the ensure: & ifCurtailed: blocks. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Tue Sep 1 00:21:00 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Mon, 31 Aug 2020 17:21:00 -0700 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: Message-ID: <4532165D-C9A3-4E1A-90C8-7C81AC619990@gmail.com> Hi Chris, > On Aug 31, 2020, at 4:04 PM, Chris Muller wrote: > >  > Eliot, > >> Spur has a lazy become scheme which means that become is implemented by morphing objects into forwarders to copies of objects. So if a become: b, then the system allocated copies of a and b, say a' and b', and morphs a into a forwarder to b', and b into a forwarder to a'. Forwarders are followed lazily, either when a message is sent to a forwarder or when a primitive encounters a forwarder somewhere within the objects it consumes. When a primitive fails the VM scans the input arguments to a depth specific to the primitive and if it finds references to forwarders, fixes them up to point to the targets of the forwarders, and retries the primitive. The old implementation of instVarAt:[put:] had primities that failed for indexes beyond the named instance variables, and handled indexed inst vars in primitive failure code: >> >> Object>>instVarAt: index >> "Primitive. Answer a fixed variable in an object. The numbering of the >> variables corresponds to the named instance variables. Fail if the index >> is not an Integer or is not the index of a fixed variable. Essential. See >> Object documentation whatIsAPrimitive." >> >> >> "Access beyond fixed variables." >> ^self basicAt: index - self class instSize >> >> Chris Muller uses instVarAt:[put:] on large arrays in his Magma database. He was noticing a severe slow down in Magma on Spur because instVarAt:[put:] was failing, the entire Array was being scanned for forwarders, and then the primitive actually failed and the basicAt:put: ran. >> >> The solution to this was to replace primitives 73 & 74 with the new slotAt:[put:] primitives 173 & 174. Now the primitive does not fail, and performance is restored (and much improved because Spur is faster). > > I just checked, apparently I'm still using my own #slotAt:[put:] from > 2014, which reads: > > slotAt: anInteger > "Flat slot access. Answer the object referenced by the receiver > at its anInteger'th slot." > | namedSize | > ^ anInteger > (namedSize:=self class instSize) > ifTrue: [ self basicAt: (anInteger-namedSize) ] > ifFalse: [ self instVarAt: anInteger ] > > The timestamp on #instVarAt: using primitve 173 is 2017, so it sounds > like I can go back to simply using #instVarAt: instead of my own > #slotAt:, do you agree? I do :-) > > Thanks. > > - Chris From eliot.miranda at gmail.com Tue Sep 1 00:24:51 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Mon, 31 Aug 2020 17:24:51 -0700 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: Message-ID: <54F715E8-1BF1-4BFF-8E8C-AB609A2479FF@gmail.com> > On Aug 31, 2020, at 5:11 PM, Florin Mateoc wrote: > >  > > >> On Mon, Aug 31, 2020 at 6:29 PM Florin Mateoc wrote: >> >> >> >>> On Mon, Aug 31, 2020 at 6:00 PM Eliot Miranda wrote: >>> >>> >>> >>>> On Mon, Aug 31, 2020 at 2:00 PM Florin Mateoc wrote: >>>> >>>> I think this is especially confusing since the comment says that the primitive always fails, and then the expectation is that the Smalltalk code that follows is executed instead. But that code does not do what the method actually does >>> >>> I disagree. It does exactly what the method does (it *is* the implementation of the method) unless the stack is unwound. Yes, the comment could point the reader to Context>>#resume:through: which runs the ensure: & ifCurtailed: blocks on unwind. Bit otherwise ifCurtailed: is not somehow magically not executed. It is what it is ;-) >>> >>> As I said earlier, ifCurtailed: only evaluates its argument if a non-local return or exception return is taken and the normal return path is not taken. See Context>>#resume:through: which runs the ensure: & ifCurtailed: blocks. >>> >>> Can I confirm that your dissatisfaction is with the comment? Or do you really think the ifCurtailed: method does not execute verbatim in the absence of unwinds? If the former, you're welcome to submit an improved comment. If the latter, you're mistaken. >>> >> >> >> Of course I agree that the ifCurtailed: method does execute verbatim in the absence of unwind. But the method does not only execute in the absence of unwinds. So my "dissatisfaction" is not just with the comment. While it could be somewhat be addressed by a comment, I think this is an instance where the vm is caught cheating. The shown Smalltalk code is not what gets executed in the presence of unwinds (as opposed to the code shown in #ensure: ). The execution of the argument block is hidden inside the vm >> > > To be more pedantic, neither #ensure: nor #ifCurtailed: disclose what is really happening on the unwind path, but at least #ensure: shows some code that conceptually matches its semantics. > In both cases, there is magic happening inside #valueNoContextSwitch, which, although it does not take any arguments, it knows how to (call a method that knows how to) invoke, if necessary, its caller's argument. > Yes, by walking the stack and peeking inside the contexts' temps and then acting upon them anything is possible, but the resulting code is anything but readable. > > I would argue for passing the #ensure: and #ifCurtailed: arguments to the #valueNoContextSwitch method/primitive, thus making it possible to avoid #resume:through: - I think such methods are fine for simulation/debugger, but not for runtime. -1. Putting this in the vm adds a whole level of execution suspension & resumption which isn’t there. Since Smalltalk has first class activation records it can (and does) elegantly implement a number of very complex control structures (such as unwind protect evaluation, and exception delivery) above the vm. -------------- next part -------------- An HTML attachment was scrubbed... URL: From florin.mateoc at gmail.com Tue Sep 1 03:31:55 2020 From: florin.mateoc at gmail.com (Florin Mateoc) Date: Mon, 31 Aug 2020 23:31:55 -0400 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: <54F715E8-1BF1-4BFF-8E8C-AB609A2479FF@gmail.com> References: <54F715E8-1BF1-4BFF-8E8C-AB609A2479FF@gmail.com> Message-ID: On Mon, Aug 31, 2020 at 8:25 PM Eliot Miranda wrote: > > > > On Aug 31, 2020, at 5:11 PM, Florin Mateoc > wrote: > >  > > > On Mon, Aug 31, 2020 at 6:29 PM Florin Mateoc > wrote: > >> >> >> >> On Mon, Aug 31, 2020 at 6:00 PM Eliot Miranda >> wrote: >> >>> >>> >>> >>> On Mon, Aug 31, 2020 at 2:00 PM Florin Mateoc >>> wrote: >>> >>>> >>>> I think this is especially confusing since the comment says that the >>>> primitive always fails, and then the expectation is that the Smalltalk code >>>> that follows is executed instead. But that code does not do what the method >>>> actually does >>>> >>> >>> I disagree. It does exactly what the method does (it *is* the >>> implementation of the method) unless the stack is unwound. Yes, the >>> comment could point the reader to Context>>#resume:through: which runs >>> the ensure: & ifCurtailed: blocks on unwind. Bit otherwise ifCurtailed: is >>> not somehow magically not executed. It is what it is ;-) >>> >>> As I said earlier, ifCurtailed: only evaluates its argument if a >>> non-local return or exception return is taken and the normal return path is >>> not taken. See Context>>#resume:through: which runs the ensure: & >>> ifCurtailed: blocks. >>> >>> Can I confirm that your dissatisfaction is with the comment? Or do you >>> really think the ifCurtailed: method does not execute verbatim in the >>> absence of unwinds? If the former, you're welcome to submit an improved >>> comment. If the latter, you're mistaken. >>> >>> >> >> Of course I agree that the ifCurtailed: method does execute verbatim in >> the absence of unwind. But the method does not only execute in the absence >> of unwinds. So my "dissatisfaction" is not just with the comment. While it >> could be somewhat be addressed by a comment, I think this is an instance >> where the vm is caught cheating. The shown Smalltalk code is not what gets >> executed in the presence of unwinds (as opposed to the code shown in >> #ensure: ). The execution of the argument block is hidden inside the vm >> >> > To be more pedantic, neither #ensure: nor #ifCurtailed: disclose what is > really happening on the unwind path, but at least #ensure: shows some code > that conceptually matches its semantics. > In both cases, there is magic happening inside #valueNoContextSwitch, > which, although it does not take any arguments, it knows how to (call a > method that knows how to) invoke, if necessary, its caller's argument. > Yes, by walking the stack and peeking inside the contexts' temps and then > acting upon them anything is possible, but the resulting code is anything > but readable. > > I would argue for passing the #ensure: and #ifCurtailed: arguments to the > #valueNoContextSwitch method/primitive, thus making it possible to avoid > #resume:through: - I think such methods are fine for simulation/debugger, > but not for runtime. > > > -1. Putting this in the vm adds a whole level of execution suspension & > resumption which isn’t there. Since Smalltalk has first class activation > records it can (and does) elegantly implement a number of very complex > control structures (such as unwind protect evaluation, and exception > delivery) above the vm. > Sorry, I disagree. And I would not put exception delivery in the same boat - that one does exactly what you say, it implements something in the image, above the vm, not just elegantly, but also putting more power in the hands of the developer. But everything is out there in the open, browsable, readable, debuggable and easily understandable. In this case we have a message sent to a context by the vm, which is not what I would call above the vm. If one browses the code, reads the code and the comments, of both #ifCurtailed: and #valueNoContextSwitch, nothing makes sense, there is no indication whatsoever of what is happening under the hood, no mention of the message that the vm sends to the context. Nor is anything visible in the debugger. Maybe this is indeed all justified for performance reasons, and since I am not the one who implemented it or who would implement an alternative, you can of course ignore my opinion. It is but a tiny corner of the image. But I think it is an important one, and you seem to deny that there is even any readability problem with these methods. Oh, well Anyway, I only now noticed that the discussion is off list - if I did that, it was unintentional, I just clicked reply without checking that it goes to list or not -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at fniephaus.com Tue Sep 1 07:23:18 2020 From: lists at fniephaus.com (Fabio Niephaus) Date: Tue, 1 Sep 2020 09:23:18 +0200 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: <54F715E8-1BF1-4BFF-8E8C-AB609A2479FF@gmail.com> Message-ID: On Tue, Sep 1, 2020 at 5:32 AM Florin Mateoc wrote: > > > > > On Mon, Aug 31, 2020 at 8:25 PM Eliot Miranda wrote: >> >> >> >> >> On Aug 31, 2020, at 5:11 PM, Florin Mateoc wrote: >> >>  >> >> >> On Mon, Aug 31, 2020 at 6:29 PM Florin Mateoc wrote: >>> >>> >>> >>> >>> On Mon, Aug 31, 2020 at 6:00 PM Eliot Miranda wrote: >>>> >>>> >>>> >>>> >>>> On Mon, Aug 31, 2020 at 2:00 PM Florin Mateoc wrote: >>>>> >>>>> >>>>> I think this is especially confusing since the comment says that the primitive always fails, and then the expectation is that the Smalltalk code that follows is executed instead. But that code does not do what the method actually does >>>> >>>> >>>> I disagree. It does exactly what the method does (it *is* the implementation of the method) unless the stack is unwound. Yes, the comment could point the reader to Context>>#resume:through: which runs the ensure: & ifCurtailed: blocks on unwind. Bit otherwise ifCurtailed: is not somehow magically not executed. It is what it is ;-) >>>> >>>> As I said earlier, ifCurtailed: only evaluates its argument if a non-local return or exception return is taken and the normal return path is not taken. See Context>>#resume:through: which runs the ensure: & ifCurtailed: blocks. >>>> >>>> Can I confirm that your dissatisfaction is with the comment? Or do you really think the ifCurtailed: method does not execute verbatim in the absence of unwinds? If the former, you're welcome to submit an improved comment. If the latter, you're mistaken. >>>> >>> >>> >>> Of course I agree that the ifCurtailed: method does execute verbatim in the absence of unwind. But the method does not only execute in the absence of unwinds. So my "dissatisfaction" is not just with the comment. While it could be somewhat be addressed by a comment, I think this is an instance where the vm is caught cheating. The shown Smalltalk code is not what gets executed in the presence of unwinds (as opposed to the code shown in #ensure: ). The execution of the argument block is hidden inside the vm >>> >> >> To be more pedantic, neither #ensure: nor #ifCurtailed: disclose what is really happening on the unwind path, but at least #ensure: shows some code that conceptually matches its semantics. >> In both cases, there is magic happening inside #valueNoContextSwitch, which, although it does not take any arguments, it knows how to (call a method that knows how to) invoke, if necessary, its caller's argument. >> Yes, by walking the stack and peeking inside the contexts' temps and then acting upon them anything is possible, but the resulting code is anything but readable. >> >> I would argue for passing the #ensure: and #ifCurtailed: arguments to the #valueNoContextSwitch method/primitive, thus making it possible to avoid #resume:through: - I think such methods are fine for simulation/debugger, but not for runtime. >> >> >> -1. Putting this in the vm adds a whole level of execution suspension & resumption which isn’t there. Since Smalltalk has first class activation records it can (and does) elegantly implement a number of very complex control structures (such as unwind protect evaluation, and exception delivery) above the vm. > > > Sorry, I disagree. And I would not put exception delivery in the same boat - that one does exactly what you say, it implements something in the image, above the vm, not just elegantly, but also putting more power in the hands of the developer. But everything is out there in the open, browsable, readable, debuggable and easily understandable. > In this case we have a message sent to a context by the vm, which is not what I would call above the vm. If one browses the code, reads the code and the comments, of both #ifCurtailed: and #valueNoContextSwitch, nothing makes sense, there is no indication whatsoever of what is happening under the hood, no mention of the message that the vm sends to the context. Nor is anything visible in the debugger. Maybe this is indeed all justified for performance reasons, and since I am not the one who implemented it or who would implement an alternative, you can of course ignore my opinion. It is but a tiny corner of the image. But I think it is an important one, and you seem to deny that there is even any readability problem with these methods. Oh, well I must admit it took quite a while to get this right in TruffleSqueak, and the code for supporting it in both TruffleSqueak and RSqueak is quite messy (see [1] and [2]). aboutToReturn:through: is not mentioned in the Blue Book, so it was probably added later on. [3] mentions it briefly, but I do think better in-image documentation would be very useful. Let me rephrase Florin's question: What keeps us from using the following ifCurtailed: implementation (inspired by Clément's version in [4])? ============================== ifCurtailed: curtailBlock "{Code comment with good documentation of the mechanism}" | result curtailed | curtailed := true. [ result := self valueNoContextSwitch. curtailed := false ] ensure: [ curtailed ifTrue: [ curtailBlock value ] ]. ^ result ============================== Cheers, Fabio [1] https://github.com/hpi-swa/trufflesqueak/blob/d1f5bf327d774f30d163f019006fd8df15fc2784/src/de.hpi.swa.trufflesqueak/src/de/hpi/swa/trufflesqueak/nodes/AboutToReturnNode.java#L39 [2] https://github.com/hpi-swa/RSqueak/blob/d33005c8aa7c11b7af349b0585f5faa140c4db72/rsqueakvm/interpreter_bytecodes.py#L543 [3] http://www.mirandabanda.org/cogblog/2009/01/14/under-cover-contexts-and-the-big-frame-up/ [4] http://pharobooks.gforge.inria.fr/PharoByExampleTwo-Eng/latest/Exceptions.pdf > > Anyway, I only now noticed that the discussion is off list - if I did that, it was unintentional, I just clicked reply without checking that it goes to list or not From notifications at github.com Tue Sep 1 10:19:52 2020 From: notifications at github.com (Christoph Thiede) Date: Tue, 01 Sep 2020 03:19:52 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] DropPlugin: Unify numFiles fallback value before DragDrop has been recorded (#514) In-Reply-To: References: Message-ID: @marceltaeumel @nicolas-cellier-aka-nice Friendly reminder that this PR is complete, conflict-free, and ready to merge :-) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/514#issuecomment-684732808 -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Tue Sep 1 15:12:16 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Tue, 1 Sep 2020 08:12:16 -0700 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: Message-ID: Hi Florin, > On Aug 31, 2020, at 8:32 PM, Florin Mateoc wrote: > >> On Mon, Aug 31, 2020 at 8:25 PM Eliot Miranda wrote: >> >>>> On Mon, Aug 31, 2020 at 6:29 PM Florin Mateoc wrote: >>>> >>>>> On Mon, Aug 31, 2020 at 6:00 PM Eliot Miranda wrote: >>>>> >>>>>> On Mon, Aug 31, 2020 at 2:00 PM Florin Mateoc wrote: >>>>>> >>>>>> I think this is especially confusing since the comment says that the primitive always fails, and then the expectation is that the Smalltalk code that follows is executed instead. But that code does not do what the method actually does >>>>> >>>>> I disagree. It does exactly what the method does (it *is* the implementation of the method) unless the stack is unwound. Yes, the comment could point the reader to Context>>#resume:through: which runs the ensure: & ifCurtailed: blocks on unwind. Bit otherwise ifCurtailed: is not somehow magically not executed. It is what it is ;-) >>>>> >>>>> As I said earlier, ifCurtailed: only evaluates its argument if a non-local return or exception return is taken and the normal return path is not taken. See Context>>#resume:through: which runs the ensure: & ifCurtailed: blocks. >>>>> >>>>> Can I confirm that your dissatisfaction is with the comment? Or do you really think the ifCurtailed: method does not execute verbatim in the absence of unwinds? If the former, you're welcome to submit an improved comment. If the latter, you're mistaken. >>>>> >>>> >>>> Of course I agree that the ifCurtailed: method does execute verbatim in the absence of unwind. But the method does not only execute in the absence of unwinds. So my "dissatisfaction" is not just with the comment. While it could be somewhat be addressed by a comment, I think this is an instance where the vm is caught cheating. The shown Smalltalk code is not what gets executed in the presence of unwinds (as opposed to the code shown in #ensure: ). The execution of the argument block is hidden inside the vm >>>> >>> >>> To be more pedantic, neither #ensure: nor #ifCurtailed: disclose what is really happening on the unwind path, but at least #ensure: shows some code that conceptually matches its semantics. >>> In both cases, there is magic happening inside #valueNoContextSwitch, which, although it does not take any arguments, it knows how to (call a method that knows how to) invoke, if necessary, its caller's argument. >>> Yes, by walking the stack and peeking inside the contexts' temps and then acting upon them anything is possible, but the resulting code is anything but readable. >>> >>> I would argue for passing the #ensure: and #ifCurtailed: arguments to the #valueNoContextSwitch method/primitive, thus making it possible to avoid #resume:through: - I think such methods are fine for simulation/debugger, but not for runtime. >> >> -1. Putting this in the vm adds a whole level of execution suspension & resumption which isn’t there. Since Smalltalk has first class activation records it can (and does) elegantly implement a number of very complex control structures (such as unwind protect evaluation, and exception delivery) above the vm. > > Sorry, I disagree. There is no need to apologize. We disagree. That is clear. > And I would not put exception delivery in the same boat - that one does exactly what you say, it implements something in the image, above the vm, not just elegantly, but also putting more power in the hands of the developer. But everything is out there in the open, browsable, readable, debuggable and easily understandable. > In this case we have a message sent to a context by the vm, which is not what I would call above the vm. Your criticism doesn’t make sense to me. aboutToReturn:to: is the result of the VM detecting a non-local return attempting to return past and unwind protect frame. [Fabio, this is not described by the blue book because Smalltalk-80 prior to the late 80’s didn’t have unwind protect; I think I’m right in saying that Peter Deutsch added it to ObjectWorks v5; I don’t know when it was added to Smalltalk-V]. Similarly cannotReturn: is the result of an attempt to return to a nil sender. cannotResume: is the result of an attempt to result a process with an invalid suspendedContext. doesNotUnderstand: is the result of an attempt to send a message that is not understood. attemptToAssign:to:withIndex: is the result of an attempt to assign to the inst var of a read-only object. So aboutToReturn:to: is one of several send-backs from the VM made when errors occur. There is nothing unusual about it. It is in house style, harmonious with the overall system architecture. And that the response, just like the response to the other send-backs, is implemented in Smalltalk does indeed lift things above the vm. > If one browses the code, reads the code and the comments, of both #ifCurtailed: and #valueNoContextSwitch, nothing makes sense, there is no indication whatsoever of what is happening under the hood, no mention of the message that the vm sends to the context. Nor is anything visible in the debugger. Maybe this is indeed all justified for performance reasons, and since I am not the one who implemented it or who would implement an alternative, you can of course ignore my opinion. It is but a tiny corner of the image. But I think it is an important one, and you seem to deny that there is even any readability problem with these methods. Oh, well I invited you to submit an improved comment. I pointed you to the implementation of the evaluation of the unwinds. > Anyway, I only now noticed that the discussion is off list - if I did that, it was unintentional, I just clicked reply without checking that it goes to list or not The discussion is on list. I hit reply all. Perhaps I shouldn’t have. -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Tue Sep 1 15:36:01 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Tue, 1 Sep 2020 08:36:01 -0700 Subject: [Vm-dev] [squeak-dev] Squeak on a cellphone may need better blocking behavior In-Reply-To: <0f9fb44b-cd77-9563-9158-fc9593ee934c@leastfixedpoint.com> References: <0f9fb44b-cd77-9563-9158-fc9593ee934c@leastfixedpoint.com> Message-ID: Hi Tony, > On Sep 1, 2020, at 6:50 AM, Tony Garnock-Jones wrote: > > It occurs to me that to get better power efficiency, Squeak may need to > learn how to go to sleep more often. At present it's using about a > quarter of a core on my phone when I'm not doing anything to it. > > JIT could help that, I guess; but more generally, it'd be nice just not > to be awake when there's nothing pressing to do... The solution is a modified event architecture and jettisoning relinquishProcessorForMilliseconds:. Search the archives (squeak-dev & vm-dev) for “event driven vm”. This is work that should have been done a long time ago (I did this for the VisualWorks vm back at the turn of the century or thereabouts). But it isn’t going to get done unless someone steps up. My input queue is full to overflowing. > Tony _,,,^..^,,,_ (phone) From florin.mateoc at gmail.com Tue Sep 1 16:03:48 2020 From: florin.mateoc at gmail.com (Florin Mateoc) Date: Tue, 1 Sep 2020 12:03:48 -0400 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: Message-ID: Hi Eliot, On Tue, Sep 1, 2020 at 11:12 AM Eliot Miranda wrote: > > Hi Florin, > > On Aug 31, 2020, at 8:32 PM, Florin Mateoc > wrote: > > > On Mon, Aug 31, 2020 at 8:25 PM Eliot Miranda > wrote: > >> >> On Mon, Aug 31, 2020 at 6:29 PM Florin Mateoc >> wrote: >> >>> >>> On Mon, Aug 31, 2020 at 6:00 PM Eliot Miranda >>> wrote: >>> >>>> >>>> On Mon, Aug 31, 2020 at 2:00 PM Florin Mateoc >>>> wrote: >>>> >>>>> >>>>> I think this is especially confusing since the comment says that the >>>>> primitive always fails, and then the expectation is that the Smalltalk code >>>>> that follows is executed instead. But that code does not do what the method >>>>> actually does >>>>> >>>> >>>> I disagree. It does exactly what the method does (it *is* the >>>> implementation of the method) unless the stack is unwound. Yes, the >>>> comment could point the reader to Context>>#resume:through: which runs >>>> the ensure: & ifCurtailed: blocks on unwind. Bit otherwise ifCurtailed: is >>>> not somehow magically not executed. It is what it is ;-) >>>> >>>> As I said earlier, ifCurtailed: only evaluates its argument if a >>>> non-local return or exception return is taken and the normal return path is >>>> not taken. See Context>>#resume:through: which runs the ensure: & >>>> ifCurtailed: blocks. >>>> >>>> Can I confirm that your dissatisfaction is with the comment? Or do you >>>> really think the ifCurtailed: method does not execute verbatim in the >>>> absence of unwinds? If the former, you're welcome to submit an improved >>>> comment. If the latter, you're mistaken. >>>> >>>> >>> Of course I agree that the ifCurtailed: method does execute verbatim in >>> the absence of unwind. But the method does not only execute in the absence >>> of unwinds. So my "dissatisfaction" is not just with the comment. While it >>> could be somewhat be addressed by a comment, I think this is an instance >>> where the vm is caught cheating. The shown Smalltalk code is not what gets >>> executed in the presence of unwinds (as opposed to the code shown in >>> #ensure: ). The execution of the argument block is hidden inside the vm >>> >>> >> To be more pedantic, neither #ensure: nor #ifCurtailed: disclose what is >> really happening on the unwind path, but at least #ensure: shows some code >> that conceptually matches its semantics. >> In both cases, there is magic happening inside #valueNoContextSwitch, >> which, although it does not take any arguments, it knows how to (call a >> method that knows how to) invoke, if necessary, its caller's argument. >> Yes, by walking the stack and peeking inside the contexts' temps and then >> acting upon them anything is possible, but the resulting code is anything >> but readable. >> >> I would argue for passing the #ensure: and #ifCurtailed: arguments to the >> #valueNoContextSwitch method/primitive, thus making it possible to avoid >> #resume:through: - I think such methods are fine for simulation/debugger, >> but not for runtime. >> >> >> -1. Putting this in the vm adds a whole level of execution suspension & >> resumption which isn’t there. Since Smalltalk has first class activation >> records it can (and does) elegantly implement a number of very complex >> control structures (such as unwind protect evaluation, and exception >> delivery) above the vm. >> > > Sorry, I disagree. > > > There is no need to apologize. We disagree. That is clear. > > And I would not put exception delivery in the same boat - that one does > exactly what you say, it implements something in the image, above the vm, > not just elegantly, but also putting more power in the hands of the > developer. But everything is out there in the open, browsable, readable, > debuggable and easily understandable. > In this case we have a message sent to a context by the vm, which is not > what I would call above the vm. > > > Your criticism doesn’t make sense to me. aboutToReturn:to: is the result > of the VM detecting a non-local return attempting to return past and unwind > protect frame. [Fabio, this is not described by the blue book because > Smalltalk-80 prior to the late 80’s didn’t have unwind protect; I think I’m > right in saying that Peter Deutsch added it to ObjectWorks v5; I don’t know > when it was added to Smalltalk-V]. Similarly cannotReturn: is the result > of an attempt to return to a nil sender. cannotResume: is the result of an > attempt to result a process with an invalid suspendedContext. > doesNotUnderstand: is the result of an attempt to send a message that is > not understood. attemptToAssign:to:withIndex: is the result of an attempt > to assign to the inst var of a read-only object. > > So aboutToReturn:to: is one of several send-backs from the VM made when > errors occur. There is nothing unusual about it. It is in house style, > harmonious with the overall system architecture. And that the response, > just like the response to the other send-backs, is implemented in Smalltalk > does indeed lift things above the vm. > > While I was not initially aware about #aboutToReturn:to:, it is not so much about the fact that the vm sends a message (as you say, that part is in house style), it is what we do with it. You are right, we are doing it on the image side. Except the in-image part of this whole uses, as I mentioned, simulation/debugger kind of code, which might as well have been done in the vm. It is this one-two punch that makes it different than the other vm sent messages that you listed. If one browses the code, reads the code and the comments, of both > #ifCurtailed: and #valueNoContextSwitch, nothing makes sense, there is no > indication whatsoever of what is happening under the hood, no mention of > the message that the vm sends to the context. Nor is anything visible in > the debugger. Maybe this is indeed all justified for performance reasons, > and since I am not the one who implemented it or who would implement an > alternative, you can of course ignore my opinion. It is but a tiny corner > of the image. But I think it is an important one, and you seem to deny that > there is even any readability problem with these methods. Oh, well > > > I invited you to submit an improved comment. I pointed you to the > implementation of the evaluation of the unwinds. > How about adding something like: "The abnormal termination is detected by the vm and signalled as an #aboutToReturn:to: message sent to a reified current context, with the context of the #ifCurtailed: invocation as an argument. The current context then walks the stack to unwind and execute any unwind blocks (including the one protected by the #ifCurtailed: invocation) - see Context>>#resume:through" > Anyway, I only now noticed that the discussion is off list - if I did > that, it was unintentional, I just clicked reply without checking that it > goes to list or not > > > The discussion is on list. I hit reply all. Perhaps I shouldn’t have. > The messages had suddenly stopped appearing on the list for me - although it was still August at the time in my timezone, the list had already moved on to September :) -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Tue Sep 1 16:34:48 2020 From: notifications at github.com (Christoph Thiede) Date: Tue, 01 Sep 2020 09:34:48 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] How to build on Win32 using WSL/Ubuntu | Missing headers (#510) In-Reply-To: References: Message-ID: Hi all, here are my current results of building the spur versions on Windows, using commit 16ffd5b3c4c6e48968277e40543ca1f96b984473 + patch from https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/498#issuecomment-647189330 - cygwin32/cygwin64 for `build.win32x86`: ```console $ ./mvm -f $ ./build/vm/SqueakConsole ..\relative\path\to\valid\squeak.image Could not open the Squeak image file <...> Aborting... Smalltalk stack dump: ``` - cygwin32 for `build.win64x64`: ```console $ ./mvm -f $ ./build/vm/SqueakConsole ..\relative\path\to\valid\squeak.image ``` - cygwin64 for `build.win64x64`: ```console $ ./mvm -f rm: cannot remove 'build/vm/ADPCMCodecPlugin.lib': No such file or directory make[1]: [/cygdrive/c/Users/Christoph/OneDrive/Dokumente/Squeak/Christoph/git/opensmalltalk-vm/build.win64x64/common/Makefile.plugin:139: build/vm/ADPCMCodecPlugin.lib] Error 1 (ignored) x86_64-w64-mingw32-ar rc build/vm/ADPCMCodecPlugin.lib build/ADPCMCodecPlugin/ADPCMCodecPlugin.o make[1]: x86_64-w64-mingw32-ar: No such file or directory make[1]: *** [/cygdrive/c/Users/Christoph/OneDrive/Dokumente/Squeak/Christoph/git/opensmalltalk- vm/build.win64x64/common/Makefile.plugin:140: build/vm/ADPCMCodecPlugin.lib] Error 127 make[1]: Leaving directory „/cygdrive/c/Users/Christoph/OneDrive/Dokumente/Squeak/Christoph/git/opensmalltalk- vm/build.win64x64/squeak.cog.spur“ make: *** [../common/Makefile:271: build/vm/ADPCMCodecPlugin.lib] Error 2 ``` Additional notes: - When I run `SqueakConsole.exe` from Cygwin, the output listed above is appended by a "Segmentation fault" line. When run in PowerShell, this line is not displayed, but everything else looks identically. - Running `Squeak.exe` (without "Console") did not work better, but as is known does not log errors to the console. - Despite I passed the image path to the executable, I have to choose it manually in a dialog. - Same problems when using `squeak.stack.spur` instead of `squeak.cog.spur`. So this is not a JIT problem (is this correct?). If anyone succeeds to build, we should really encapsulate the necessary tech stack. I believe this could make things really easier ... 😅 -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/510#issuecomment-684984446 -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rowledge.org Tue Sep 1 17:13:35 2020 From: tim at rowledge.org (tim Rowledge) Date: Tue, 1 Sep 2020 10:13:35 -0700 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: Message-ID: > On 2020-09-01, at 8:12 AM, Eliot Miranda wrote: > > [Fabio, this is not described by the blue book because Smalltalk-80 prior to the late 80’s didn’t have unwind protect; I think I’m right in saying that Peter Deutsch added it to ObjectWorks v5; I don’t know when it was added to Smalltalk-V]. The ObjectWorks version was probably added in the release for mid-1990; I spent that xmas adding the VM support to the BrouHaHa/Archimedes system. I can remember it reasonably well because it was damn hard and I almost convinced myself there was a memory hardware problem in my Acorn protoype machine and that lead me to spend actual money on an A540. That was £2500, which is about US$7500 now. As a comparison, a Range Rover cost £2000 then... tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim <-------- The information went data way --------> From eliot.miranda at gmail.com Tue Sep 1 17:58:38 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Tue, 1 Sep 2020 10:58:38 -0700 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: Message-ID: > On Sep 1, 2020, at 9:04 AM, Florin Mateoc wrote: > >  > Hi Eliot, > >> On Tue, Sep 1, 2020 at 11:12 AM Eliot Miranda wrote: >> >> Hi Florin, >> >>>> On Aug 31, 2020, at 8:32 PM, Florin Mateoc wrote: >>>> >>>>> On Mon, Aug 31, 2020 at 8:25 PM Eliot Miranda wrote: >>>>> >>>>>>> On Mon, Aug 31, 2020 at 6:29 PM Florin Mateoc wrote: >>>>>>> >>>>>>>> On Mon, Aug 31, 2020 at 6:00 PM Eliot Miranda wrote: >>>>>>>> >>>>>>>>> On Mon, Aug 31, 2020 at 2:00 PM Florin Mateoc wrote: >>>>>>>>> >>>>>>>>> I think this is especially confusing since the comment says that the primitive always fails, and then the expectation is that the Smalltalk code that follows is executed instead. But that code does not do what the method actually does >>>>>>>> >>>>>>>> I disagree. It does exactly what the method does (it *is* the implementation of the method) unless the stack is unwound. Yes, the comment could point the reader to Context>>#resume:through: which runs the ensure: & ifCurtailed: blocks on unwind. Bit otherwise ifCurtailed: is not somehow magically not executed. It is what it is ;-) >>>>>>>> >>>>>>>> As I said earlier, ifCurtailed: only evaluates its argument if a non-local return or exception return is taken and the normal return path is not taken. See Context>>#resume:through: which runs the ensure: & ifCurtailed: blocks. >>>>>>>> >>>>>>>> Can I confirm that your dissatisfaction is with the comment? Or do you really think the ifCurtailed: method does not execute verbatim in the absence of unwinds? If the former, you're welcome to submit an improved comment. If the latter, you're mistaken. >>>>>>>> >>>>>>> >>>>>>> Of course I agree that the ifCurtailed: method does execute verbatim in the absence of unwind. But the method does not only execute in the absence of unwinds. So my "dissatisfaction" is not just with the comment. While it could be somewhat be addressed by a comment, I think this is an instance where the vm is caught cheating. The shown Smalltalk code is not what gets executed in the presence of unwinds (as opposed to the code shown in #ensure: ). The execution of the argument block is hidden inside the vm >>>>>>> >>>>>> >>>>>> To be more pedantic, neither #ensure: nor #ifCurtailed: disclose what is really happening on the unwind path, but at least #ensure: shows some code that conceptually matches its semantics. >>>>>> In both cases, there is magic happening inside #valueNoContextSwitch, which, although it does not take any arguments, it knows how to (call a method that knows how to) invoke, if necessary, its caller's argument. >>>>>> Yes, by walking the stack and peeking inside the contexts' temps and then acting upon them anything is possible, but the resulting code is anything but readable. >>>>>> >>>>>> I would argue for passing the #ensure: and #ifCurtailed: arguments to the #valueNoContextSwitch method/primitive, thus making it possible to avoid #resume:through: - I think such methods are fine for simulation/debugger, but not for runtime. >>>>> >>>>> -1. Putting this in the vm adds a whole level of execution suspension & resumption which isn’t there. Since Smalltalk has first class activation records it can (and does) elegantly implement a number of very complex control structures (such as unwind protect evaluation, and exception delivery) above the vm. >>>> >>>> Sorry, I disagree. >>> >>> There is no need to apologize. We disagree. That is clear. >>> >>> And I would not put exception delivery in the same boat - that one does exactly what you say, it implements something in the image, above the vm, not just elegantly, but also putting more power in the hands of the developer. But everything is out there in the open, browsable, readable, debuggable and easily understandable. >>> In this case we have a message sent to a context by the vm, which is not what I would call above the vm. >> >> Your criticism doesn’t make sense to me. aboutToReturn:to: is the result of the VM detecting a non-local return attempting to return past and unwind protect frame. [Fabio, this is not described by the blue book because Smalltalk-80 prior to the late 80’s didn’t have unwind protect; I think I’m right in saying that Peter Deutsch added it to ObjectWorks v5; I don’t know when it was added to Smalltalk-V]. Similarly cannotReturn: is the result of an attempt to return to a nil sender. cannotResume: is the result of an attempt to result a process with an invalid suspendedContext. doesNotUnderstand: is the result of an attempt to send a message that is not understood. attemptToAssign:to:withIndex: is the result of an attempt to assign to the inst var of a read-only object. >> >> So aboutToReturn:to: is one of several send-backs from the VM made when errors occur. There is nothing unusual about it. It is in house style, harmonious with the overall system architecture. And that the response, just like the response to the other send-backs, is implemented in Smalltalk does indeed lift things above the vm. >> > > While I was not initially aware about #aboutToReturn:to:, it is not so much about the fact that the vm sends a message (as you say, that part is in house style), it is what we do with it. You are right, we are doing it on the image side. Except the in-image part of this whole uses, as I mentioned, simulation/debugger kind of code, which might as well have been done in the vm. It is this one-two punch that makes it different than the other vm sent messages that you listed. And as I already explained, putting this in the vm would necessitate adding a whole new level of execution suspension/return while the vm remembers the continuation of the return as it evaluates the unwinds, which can themselves raise errors. Putting this in the vm adds significant complications there while all the required mechanism is already available above the vm. Do, as I already stayed, putting evaluation off winds in the vm does not make (sound engineering) sense to me. >>> If one browses the code, reads the code and the comments, of both #ifCurtailed: and #valueNoContextSwitch, nothing makes sense, there is no indication whatsoever of what is happening under the hood, no mention of the message that the vm sends to the context. Nor is anything visible in the debugger. Maybe this is indeed all justified for performance reasons, and since I am not the one who implemented it or who would implement an alternative, you can of course ignore my opinion. It is but a tiny corner of the image. But I think it is an important one, and you seem to deny that there is even any readability problem with these methods. Oh, well >> >> I invited you to submit an improved comment. I pointed you to the implementation of the evaluation of the unwinds. > > How about adding something like: > > "The abnormal termination is detected by the vm and signalled as an #aboutToReturn:to: message sent to a reified current context, with the context of the #ifCurtailed: invocation as an argument. > The current context then walks the stack to unwind and execute any unwind blocks (including the one protected by the #ifCurtailed: invocation) - see Context>>#resume:through" Sounds good. Are you going to submit to inbox? > >> >>> Anyway, I only now noticed that the discussion is off list - if I did that, it was unintentional, I just clicked reply without checking that it goes to list or not >> >> The discussion is on list. I hit reply all. Perhaps I shouldn’t have. > > The messages had suddenly stopped appearing on the list for me - although it was still August at the time in my timezone, the list had already moved on to September :) -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Tue Sep 1 18:00:16 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Tue, 1 Sep 2020 11:00:16 -0700 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: Message-ID: Hi Tim, > On Sep 1, 2020, at 10:13 AM, tim Rowledge wrote: > >  > > >> On 2020-09-01, at 8:12 AM, Eliot Miranda wrote: >> >> [Fabio, this is not described by the blue book because Smalltalk-80 prior to the late 80’s didn’t have unwind protect; I think I’m right in saying that Peter Deutsch added it to ObjectWorks v5; I don’t know when it was added to Smalltalk-V]. > > The ObjectWorks version was probably added in the release for mid-1990; I spent that xmas adding the VM support to the BrouHaHa/Archimedes system. I can remember it reasonably well because it was damn hard and I almost convinced myself there was a memory hardware problem in my Acorn protoype machine and that lead me to spend actual money on an A540. That was £2500, which is about US$7500 now. As a comparison, a Range Rover cost £2000 then... It was earlier than this. It was in HPS/Objectworks 2.5 which Peter and others demoed at OOPSLA ‘87. > > > tim > -- > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim > <-------- The information went data way --------> > > From notifications at github.com Tue Sep 1 18:07:33 2020 From: notifications at github.com (Eliot Miranda) Date: Tue, 01 Sep 2020 11:07:33 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] How to build on Win32 using WSL/Ubuntu | Missing headers (#510) In-Reply-To: References: Message-ID: Hi Christoph, please read my message here: http://forum.world.st/Win64-Builds-broken-slow-build-times-tp5116826p5120506.html It explains the bug and how to fix it. _,,,^..^,,,_ (phone) > On Sep 1, 2020, at 9:34 AM, Christoph Thiede wrote: > >  > Hi all, > > here are my current results of building the spur versions on Windows, using commit 16ffd5b + patch from #498 (comment) > > cygwin32/cygwin64 for build.win32x86: > $ ./mvm -f > > $ ./build/vm/SqueakConsole ..\relative\path\to\valid\squeak.image > Could not open the Squeak image file > <...> > Aborting... > Smalltalk stack dump: > > cygwin32 for build.win64x64: > $ ./mvm -f > > $ ./build/vm/SqueakConsole ..\relative\path\to\valid\squeak.image > > cygwin64 for build.win64x64: > $ ./mvm -f > > rm: cannot remove 'build/vm/ADPCMCodecPlugin.lib': No such file or directory > make[1]: [/cygdrive/c/Users/Christoph/OneDrive/Dokumente/Squeak/Christoph/git/opensmalltalk-vm/build.win64x64/common/Makefile.plugin:139: build/vm/ADPCMCodecPlugin.lib] Error 1 (ignored) > x86_64-w64-mingw32-ar rc build/vm/ADPCMCodecPlugin.lib build/ADPCMCodecPlugin/ADPCMCodecPlugin.o > make[1]: x86_64-w64-mingw32-ar: No such file or directory > make[1]: *** [/cygdrive/c/Users/Christoph/OneDrive/Dokumente/Squeak/Christoph/git/opensmalltalk- vm/build.win64x64/common/Makefile.plugin:140: build/vm/ADPCMCodecPlugin.lib] Error 127 > make[1]: Leaving directory „/cygdrive/c/Users/Christoph/OneDrive/Dokumente/Squeak/Christoph/git/opensmalltalk- vm/build.win64x64/squeak.cog.spur“ > make: *** [../common/Makefile:271: build/vm/ADPCMCodecPlugin.lib] Error 2 > > Additional notes: > > When I run SqueakConsole.exe from Cygwin, the output listed above is appended by a "Segmentation fault" line. When run in PowerShell, this line is not displayed, but everything else looks identically. > Running Squeak.exe (without "Console") did not work better, but as is known does not log errors to the console. > Despite I passed the image path to the executable, I have to choose it manually in a dialog. > Same problems when using squeak.stack.spur instead of squeak.cog.spur. So this is not a JIT problem (is this correct?). > If anyone succeeds to build, we should really encapsulate the necessary tech stack. I believe this could make things really easier ... 😅 > > — > You are receiving this because you commented. > Reply to this email directly, view it on GitHub, or unsubscribe. -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/510#issuecomment-685041019 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Tue Sep 1 18:15:13 2020 From: notifications at github.com (Christoph Thiede) Date: Tue, 01 Sep 2020 11:15:13 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] How to build on Win32 using WSL/Ubuntu | Missing headers (#510) In-Reply-To: References: Message-ID: Thanks Eliot, [@nicolas-cellier-aka-nice wrote](http://forum.world.st/Win64-Builds-broken-slow-build-times-tp5116826p5120507.html) that could fix the cygwin builds on his machine. This solution did not work for me, so is it possible that there is another problem? Otherwise, I will try soon again to build using MSVC ... -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/510#issuecomment-685046044 -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rowledge.org Tue Sep 1 18:29:50 2020 From: tim at rowledge.org (tim Rowledge) Date: Tue, 1 Sep 2020 11:29:50 -0700 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: Message-ID: <216E0C9A-7F7D-451E-B8E0-05D4A9B043D9@rowledge.org> > On 2020-09-01, at 11:00 AM, Eliot Miranda wrote: > > > > It was earlier than this. It was in HPS/Objectworks 2.5 which Peter and others demoed at OOPSLA ‘87. Ah, right. Makes sense. We would have had time to digest the idea and Active Book probably specifically asked for it around mid-90. Before the Great Betrayal. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Strange OpCodes: RTS: Rewind Tape and Shred From florin.mateoc at gmail.com Tue Sep 1 18:37:00 2020 From: florin.mateoc at gmail.com (Florin Mateoc) Date: Tue, 1 Sep 2020 14:37:00 -0400 Subject: [Vm-dev] questions about a couple of primitives In-Reply-To: References: Message-ID: On Tue, Sep 1, 2020 at 1:58 PM Eliot Miranda wrote: > > > > On Sep 1, 2020, at 9:04 AM, Florin Mateoc wrote: > >  > Hi Eliot, > > On Tue, Sep 1, 2020 at 11:12 AM Eliot Miranda > wrote: > >> >> Hi Florin, >> >> On Aug 31, 2020, at 8:32 PM, Florin Mateoc >> wrote: >> >> >> On Mon, Aug 31, 2020 at 8:25 PM Eliot Miranda >> wrote: >> >>> >>> On Mon, Aug 31, 2020 at 6:29 PM Florin Mateoc >>> wrote: >>> >>>> >>>> On Mon, Aug 31, 2020 at 6:00 PM Eliot Miranda >>>> wrote: >>>> >>>>> >>>>> On Mon, Aug 31, 2020 at 2:00 PM Florin Mateoc >>>>> wrote: >>>>> >>>>>> >>>>>> I think this is especially confusing since the comment says that the >>>>>> primitive always fails, and then the expectation is that the Smalltalk code >>>>>> that follows is executed instead. But that code does not do what the method >>>>>> actually does >>>>>> >>>>> >>>>> I disagree. It does exactly what the method does (it *is* the >>>>> implementation of the method) unless the stack is unwound. Yes, the >>>>> comment could point the reader to Context>>#resume:through: which >>>>> runs the ensure: & ifCurtailed: blocks on unwind. Bit >>>>> otherwise ifCurtailed: is not somehow magically not executed. It is what >>>>> it is ;-) >>>>> >>>>> As I said earlier, ifCurtailed: only evaluates its argument if a >>>>> non-local return or exception return is taken and the normal return path is >>>>> not taken. See Context>>#resume:through: which runs the ensure: & >>>>> ifCurtailed: blocks. >>>>> >>>>> Can I confirm that your dissatisfaction is with the comment? Or do >>>>> you really think the ifCurtailed: method does not execute verbatim in the >>>>> absence of unwinds? If the former, you're welcome to submit an improved >>>>> comment. If the latter, you're mistaken. >>>>> >>>>> >>>> Of course I agree that the ifCurtailed: method does execute verbatim in >>>> the absence of unwind. But the method does not only execute in the absence >>>> of unwinds. So my "dissatisfaction" is not just with the comment. While it >>>> could be somewhat be addressed by a comment, I think this is an instance >>>> where the vm is caught cheating. The shown Smalltalk code is not what gets >>>> executed in the presence of unwinds (as opposed to the code shown in >>>> #ensure: ). The execution of the argument block is hidden inside the vm >>>> >>>> >>> To be more pedantic, neither #ensure: nor #ifCurtailed: disclose what is >>> really happening on the unwind path, but at least #ensure: shows some code >>> that conceptually matches its semantics. >>> In both cases, there is magic happening inside #valueNoContextSwitch, >>> which, although it does not take any arguments, it knows how to (call a >>> method that knows how to) invoke, if necessary, its caller's argument. >>> Yes, by walking the stack and peeking inside the contexts' temps and >>> then acting upon them anything is possible, but the resulting code is >>> anything but readable. >>> >>> I would argue for passing the #ensure: and #ifCurtailed: arguments to >>> the #valueNoContextSwitch method/primitive, thus making it possible to >>> avoid #resume:through: - I think such methods are fine for >>> simulation/debugger, but not for runtime. >>> >>> >>> -1. Putting this in the vm adds a whole level of execution suspension & >>> resumption which isn’t there. Since Smalltalk has first class activation >>> records it can (and does) elegantly implement a number of very complex >>> control structures (such as unwind protect evaluation, and exception >>> delivery) above the vm. >>> >> >> Sorry, I disagree. >> >> >> There is no need to apologize. We disagree. That is clear. >> >> And I would not put exception delivery in the same boat - that one does >> exactly what you say, it implements something in the image, above the vm, >> not just elegantly, but also putting more power in the hands of the >> developer. But everything is out there in the open, browsable, readable, >> debuggable and easily understandable. >> In this case we have a message sent to a context by the vm, which is not >> what I would call above the vm. >> >> >> Your criticism doesn’t make sense to me. aboutToReturn:to: is the result >> of the VM detecting a non-local return attempting to return past and unwind >> protect frame. [Fabio, this is not described by the blue book because >> Smalltalk-80 prior to the late 80’s didn’t have unwind protect; I think I’m >> right in saying that Peter Deutsch added it to ObjectWorks v5; I don’t know >> when it was added to Smalltalk-V]. Similarly cannotReturn: is the result >> of an attempt to return to a nil sender. cannotResume: is the result of an >> attempt to result a process with an invalid suspendedContext. >> doesNotUnderstand: is the result of an attempt to send a message that is >> not understood. attemptToAssign:to:withIndex: is the result of an attempt >> to assign to the inst var of a read-only object. >> >> So aboutToReturn:to: is one of several send-backs from the VM made when >> errors occur. There is nothing unusual about it. It is in house style, >> harmonious with the overall system architecture. And that the response, >> just like the response to the other send-backs, is implemented in Smalltalk >> does indeed lift things above the vm. >> >> > While I was not initially aware about #aboutToReturn:to:, it is not so > much about the fact that the vm sends a message (as you say, that part is > in house style), it is what we do with it. You are right, we are doing it > on the image side. Except the in-image part of this whole uses, as I > mentioned, simulation/debugger kind of code, which might as well have been > done in the vm. It is this one-two punch that makes it different than the > other vm sent messages that you listed. > > > And as I already explained, putting this in the vm would necessitate > adding a whole new level of execution suspension/return while the vm > remembers the continuation of the return as it evaluates the unwinds, which > can themselves raise errors. Putting this in the vm adds significant > complications there while all the required mechanism is already available > above the vm. Do, as I already stayed, putting evaluation off winds in the > vm does not make (sound engineering) sense to me. > > Sorry, i wasn't clear: I only meant that the code is obscure enough that, from a readability point of view, it might as well have been hidden away in the vm, not that it should have been implemented there. > > If one browses the code, reads the code and the comments, of both >> #ifCurtailed: and #valueNoContextSwitch, nothing makes sense, there is no >> indication whatsoever of what is happening under the hood, no mention of >> the message that the vm sends to the context. Nor is anything visible in >> the debugger. Maybe this is indeed all justified for performance reasons, >> and since I am not the one who implemented it or who would implement an >> alternative, you can of course ignore my opinion. It is but a tiny corner >> of the image. But I think it is an important one, and you seem to deny that >> there is even any readability problem with these methods. Oh, well >> >> >> I invited you to submit an improved comment. I pointed you to the >> implementation of the evaluation of the unwinds. >> > > How about adding something like: > > "The abnormal termination is detected by the vm and signalled as an > #aboutToReturn:to: message sent to a reified current context, with the > context of the #ifCurtailed: invocation as an argument. > The current context then walks the stack to unwind and execute any unwind > blocks (including the one protected by the #ifCurtailed: invocation) - see > Context>>#resume:through" > > > Sounds good. Are you going to submit to inbox? > Will do. Thank you > > >> Anyway, I only now noticed that the discussion is off list - if I did >> that, it was unintentional, I just clicked reply without checking that it >> goes to list or not >> >> >> The discussion is on list. I hit reply all. Perhaps I shouldn’t have. >> > > The messages had suddenly stopped appearing on the list for me - although > it was still August at the time in my timezone, the list had already moved > on to September :) > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Tue Sep 1 21:56:37 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Tue, 1 Sep 2020 21:56:37 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2798.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2798.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2798 Author: eem Time: 1 September 2020, 2:56:29.93321 pm UUID: e250e397-13bb-4ced-832a-82af2d5cea11 Ancestors: VMMaker.oscog-eem.2797 Interpreters: Clean up setjmp/longjmp. Use only _setjmp:/_longjmp:_:. To get Win64 working it is easier to use a setjmp/longjmp pair that does not do stack unwinding. It is more difficult to stitch teh stack properly so that Kernel32's checking on stack unwinding does not raise an error. So now we're using _setjmp/longjmp everywhere and can fix things on WIN32 either to to invoke longjmpex or to use a _setjmp/_longjmp replacement a la Win64. Fix regressions in simulation : methodReturnString: (rcvr must be objectMemory). SoundPlugin needs snd_Stop et al. =============== Diff against VMMaker.oscog-eem.2797 =============== Item was added: + ----- Method: CoInterpreter>>_longjmp:_: (in category 'cog jit support') ----- + _longjmp: aJumpBuf _: returnValue + "Hack simulation of _setjmp/_longjmp, intended to invoke the most minimal setjmp/longjmp + pair available on the platform; no saving/restoring signal masks, no stack unwinding, etc. + Signal the exception that simulates a longjmp back to the interpreter." + + self halt: 'This should not be encountered now we use ceInvokeInterpreter!!!!'. + (aJumpBuf == reenterInterpreter + and: [returnValue ~= 2 "2 == returnToThreadSchedulingLoopVia:"]) ifTrue: + [self assert: (self isOnRumpCStack: cogit processor sp). + self assertValidExecutionPointe: instructionPointer r: framePointer s: stackPointer imbar: true line: nil]. + aJumpBuf returnValue: returnValue; signal! Item was changed: ----- Method: CoInterpreter>>callbackEnter: (in category 'callback support') ----- callbackEnter: callbackID "Re-enter the interpreter for executing a callback" | currentCStackPointer currentCFramePointer wasInMachineCode calledFromMachineCode | "For now, do not allow a callback unless we're in a primitiveResponse" (self asserta: primitiveFunctionPointer ~= 0) ifFalse: [^false]. self assert: primFailCode = 0. "Check if we've exceeded the callback depth" (self asserta: jmpDepth < MaxJumpBuf) ifFalse: [^false]. jmpDepth := jmpDepth + 1. wasInMachineCode := self isMachineCodeFrame: framePointer. calledFromMachineCode := instructionPointer <= objectMemory startOfMemory. "Suspend the currently active process" suspendedCallbacks at: jmpDepth put: self activeProcess. "We need to preserve newMethod explicitly since it is not activated yet and therefore no context has been created for it. If the caller primitive for any reason decides to fail we need to make sure we execute the correct method and not the one 'last used' in the call back" suspendedMethods at: jmpDepth put: newMethod. self flag: 'need to debug this properly. Conceptually it is the right thing to do but it crashes in practice'. false ifTrue: ["Signal external semaphores since a signalSemaphoreWithIndex: request may have been issued immediately prior to this callback before the VM has any chance to do a signalExternalSemaphores in checkForEventsMayContextSwitch:" self signalExternalSemaphores. "If no process is awakened by signalExternalSemaphores then transfer to the highest priority runnable one." (suspendedCallbacks at: jmpDepth) = self activeProcess ifTrue: [self transferTo: self wakeHighestPriority from: CSCallbackLeave]] ifFalse: [self transferTo: self wakeHighestPriority from: CSCallbackLeave]. "Typically, invoking the callback means that some semaphore has been signaled to indicate the callback. Force an interrupt check as soon as possible." self forceInterruptCheck. "Save the previous CStackPointers..." currentCStackPointer := CStackPointer. currentCFramePointer := CFramePointer. cogit assertCStackWellAligned. + (self _setjmp: (jmpBuf at: jmpDepth)) = 0 ifTrue: "Fill in callbackID" - (self setjmp: (jmpBuf at: jmpDepth)) = 0 ifTrue: "Fill in callbackID" [callbackID at: 0 put: jmpDepth. self enterSmalltalkExecutive. self assert: false "NOTREACHED"]. "Restore the previous CStackPointers..." self setCFramePointer: currentCFramePointer setCStackPointer: currentCStackPointer. "Transfer back to the previous process so that caller can push result" self putToSleep: self activeProcess yieldingIf: preemptionYields. self transferTo: (suspendedCallbacks at: jmpDepth) from: CSCallbackLeave. newMethod := suspendedMethods at: jmpDepth. "see comment above" argumentCount := self argumentCountOf: newMethod. self assert: wasInMachineCode = (self isMachineCodeFrame: framePointer). calledFromMachineCode ifTrue: [instructionPointer asUnsignedInteger >= objectMemory startOfMemory ifTrue: [self iframeSavedIP: framePointer put: instructionPointer. instructionPointer := cogit ceReturnToInterpreterPC]] ifFalse: ["Even if the context was flushed to the heap and rebuilt in transferTo:from: above it will remain an interpreted frame because the context's pc would remain a bytecode pc. So the instructionPointer must also be a bytecode pc." self assert: (self isMachineCodeFrame: framePointer) not. self assert: instructionPointer > objectMemory startOfMemory]. self assert: primFailCode = 0. jmpDepth := jmpDepth-1. ^true! Item was removed: - ----- Method: CoInterpreter>>siglong:jmp: (in category 'cog jit support') ----- - siglong: aJumpBuf jmp: returnValue - "Hack simulation of sigsetjmp/siglongjmp. - Signal the exception that simulates a longjmp back to the interpreter." - - (aJumpBuf == reenterInterpreter - and: [returnValue ~= 2 "2 == returnToThreadSchedulingLoopVia:"]) ifTrue: - [self assert: (self isOnRumpCStack: cogit processor sp). - self assertValidExecutionPointe: instructionPointer r: framePointer s: stackPointer imbar: true line: nil]. - aJumpBuf returnValue: returnValue; signal! Item was changed: ----- Method: CoInterpreterMT>>enterSmalltalkExecutiveImplementation (in category 'initialization') ----- enterSmalltalkExecutiveImplementation "Main entry-point into the interpreter at each execution level, where an execution level is either the start of execution or reentry for a callback. Capture the C stack pointers so that calls from machine-code into the C run-time occur at this level. This is the actual implementation, separated from enterSmalltalkExecutive so the simulator can wrap it in an exception handler and hence simulate the setjmp/longjmp. Override to return if a longjmp to reenterInterpreter passes a parameter greater than 1. This causes a return to threadSchedulingLoop:startingVM: and is used to surrender control to another thread." self assertSaneThreadAndProcess. cogit assertCStackWellAligned. cogit ceCaptureCStackPointers. "Setjmp for reentry into interpreter from elsewhere, e.g. machine-code trampolines." + (self _setjmp: reenterInterpreter) > 1 ifTrue: - (self sigset: reenterInterpreter jmp: 0) > 1 ifTrue: [^0]. (self isMachineCodeFrame: framePointer) ifTrue: [self returnToExecutive: false postContextSwitch: true "NOTREACHED"]. self setMethod: (self iframeMethod: framePointer). instructionPointer = cogit ceReturnToInterpreterPC ifTrue: [instructionPointer := self iframeSavedIP: framePointer]. self assertValidExecutionPointe: instructionPointer r: framePointer s: stackPointer imbar: true line: #'__LINE__'. self interpret. "NOTREACHED" ^0! Item was changed: ----- Method: CoInterpreterMT>>returnToSchedulingLoopAndReleaseVMOrWakeThread:source: (in category 'process primitive support') ----- returnToSchedulingLoopAndReleaseVMOrWakeThread: vmThread source: source | savedReenterInterpreter | self cCode: [self flag: 'this is just for debugging. Note the current C stack pointers'. cogThreadManager currentVMThread cStackPointer: CStackPointer; cFramePointer: CFramePointer] inSmalltalk: [| range | range := self cStackRangeForThreadIndex: cogThreadManager getVMOwner. self assert: (range includes: CStackPointer). self assert: (range includes: CFramePointer)]. "We must use a copy of reenterInterpreter since we're giving up the VM to another vmThread." self cCode: [self memcpy: savedReenterInterpreter asVoidPointer _: reenterInterpreter _: (self sizeof: #'jmp_buf')] inSmalltalk: [savedReenterInterpreter := reenterInterpreter]. self recordThreadSwitchTo: (vmThread ifNotNil: [vmThread index] ifNil: [0]) source: source. vmThread ifNotNil: [cogThreadManager wakeVMThreadFor: vmThread index] ifNil: [cogThreadManager releaseVM]. "2 implies returning to the threadSchedulingLoop." + self _longjmp: savedReenterInterpreter _: ReturnToThreadSchedulingLoop! - self siglong: savedReenterInterpreter jmp: ReturnToThreadSchedulingLoop! Item was added: + ----- Method: CurrentImageCoInterpreterFacade>>cReturnAddressAddress (in category 'accessing') ----- + cReturnAddressAddress + ^self addressForLabel: #CReturnAddress! Item was changed: ----- Method: Interpreter>>callbackEnter: (in category 'callback support') ----- callbackEnter: callbackID "Re-enter the interpreter for executing a callback" | result activeProc | "For now, do not allow a callback unless we're in a primitiveResponse" primitiveIndex = 0 ifTrue:[^false]. "Check if we've exceeded the callback depth" jmpDepth >= jmpMax ifTrue:[^false]. jmpDepth := jmpDepth + 1. "Suspend the currently active process" activeProc := self fetchPointer: ActiveProcessIndex ofObject: self schedulerPointer. suspendedCallbacks at: jmpDepth put: activeProc. "We need to preserve newMethod explicitly since it is not activated yet and therefore no context has been created for it. If the caller primitive for any reason decides to fail we need to make sure we execute the correct method and not the one 'last used' in the call back" suspendedMethods at: jmpDepth put: newMethod. self transferTo: self wakeHighestPriority. "Typically, invoking the callback means that some semaphore has been signaled to indicate the callback. Force an interrupt check right away." self forceInterruptCheck. + result := self _setjmp: (jmpBuf at: jmpDepth). - result := self setjmp: (jmpBuf at: jmpDepth). result == 0 ifTrue:["Fill in callbackID" callbackID at: 0 put: jmpDepth. "This is ugly but the inliner treats interpret() in very special and strange ways and calling any kind of 'self interpret' either directly or even via cCode:inSmalltalk: will cause this entire method to vanish." self cCode: 'interpret()'. ]. "Transfer back to the previous process so that caller can push result" activeProc := self fetchPointer: ActiveProcessIndex ofObject: self schedulerPointer. self putToSleep: activeProc. activeProc := suspendedCallbacks at: jmpDepth. newMethod := suspendedMethods at: jmpDepth. "see comment above" self transferTo: activeProc. jmpDepth := jmpDepth-1. ^true! Item was changed: ----- Method: Interpreter>>callbackLeave: (in category 'callback support') ----- callbackLeave: cbID "Leave from a previous callback" "For now, do not allow a callback unless we're in a primitiveResponse" primitiveIndex = 0 ifTrue:[^false]. "Check if this is the top-level callback" cbID = jmpDepth ifFalse:[^false]. cbID < 1 ifTrue:[^false]. "Pop the arguments of the return primitive" self pop: argumentCount. "This is ugly but necessary, or otherwise the Mac will not build" + self _longjmp: (jmpBuf at: jmpDepth) _: 1. - self long: (jmpBuf at: jmpDepth) jmp: 1. "NOTREACHED" ^nil! Item was changed: ----- Method: SoundPlugin>>initialiseModule (in category 'initialize-release') ----- initialiseModule + ^self soundInit! - ^self cCode: 'soundInit()' inSmalltalk:[true]! Item was changed: ----- Method: SoundPlugin>>shutdownModule (in category 'initialize-release') ----- shutdownModule + ^self soundShutdown! - ^self cCode: 'soundShutdown()' inSmalltalk:[true]! Item was added: + ----- Method: SoundPlugin>>snd_Stop (in category 'simulation') ----- + snd_Stop + ! Item was added: + ----- Method: SoundPlugin>>soundInit (in category 'simulation') ----- + soundInit + + ^true! Item was added: + ----- Method: SoundPlugin>>soundShutdown (in category 'simulation') ----- + soundShutdown + + ^true! Item was changed: ----- Method: StackInterpreter class>>declareCVarsIn: (in category 'translation') ----- declareCVarsIn: aCCodeGenerator | vmClass | self class == thisContext methodClass ifFalse: [^self]. "Don't duplicate decls in subclasses" vmClass := aCCodeGenerator vmClass. "Generate primitiveTable etc based on vmClass, not just StackInterpreter" aCCodeGenerator + addHeaderFile: ' /* for e.g. alloca */'; + addHeaderFile: ''; + addHeaderFile: ' /* for wint_t */'; + addHeaderFile: '"vmCallback.h"'; + addHeaderFile: '"sqMemoryFence.h"'; + addHeaderFile: '"sqSetjmpShim.h"'; + addHeaderFile: '"dispdbg.h"'. + LowcodeVM ifTrue: + [aCCodeGenerator addHeaderFile: '"sqLowcodeFFI.h"']. - addHeaderFile:' /* for e.g. alloca */'; - addHeaderFile:''; - addHeaderFile:' /* for wint_t */'; - addHeaderFile:'"vmCallback.h"'; - addHeaderFile:'"sqMemoryFence.h"'; - addHeaderFile:'"dispdbg.h"'. - LowcodeVM ifTrue: [ aCCodeGenerator addHeaderFile:'"sqLowcodeFFI.h"']. vmClass declareInterpreterVersionIn: aCCodeGenerator defaultName: 'Stack'. aCCodeGenerator var: #interpreterProxy type: #'struct VirtualMachine*'. aCCodeGenerator declareVar: #sendTrace type: 'volatile int'; + declareVar: #byteCount type: #usqLong. "see dispdbg.h" - declareVar: #byteCount type: #usqInt. "These need to be pointers or unsigned." self declareC: #(instructionPointer method newMethod) as: #usqInt in: aCCodeGenerator. "These are all pointers; char * because Slang has no support for C pointer arithmetic." self declareC: #(localIP localSP localFP stackPointer framePointer stackLimit breakSelector) as: #'char *' in: aCCodeGenerator. aCCodeGenerator var: #breakSelectorLength declareC: 'sqInt breakSelectorLength = MinSmallInteger'. self declareC: #(stackPage overflowedPage) as: #'StackPage *' in: aCCodeGenerator. aCCodeGenerator removeVariable: 'stackPages'. "this is an implicit receiver in the translated code." "This defines bytecodeSetSelector as 0 if MULTIPLEBYTECODESETS is not defined, for the benefit of the interpreter on slow machines." aCCodeGenerator addConstantForBinding: (self bindingOf: #MULTIPLEBYTECODESETS). MULTIPLEBYTECODESETS == false ifTrue: [aCCodeGenerator removeVariable: 'bytecodeSetSelector']. BytecodeSetHasExtensions == false ifTrue: [aCCodeGenerator removeVariable: 'extA'; removeVariable: 'extB']. aCCodeGenerator var: #methodCache declareC: 'sqIntptr_t methodCache[MethodCacheSize + 1 /* ', (MethodCacheSize + 1) printString, ' */]'. NewspeakVM ifTrue: [aCCodeGenerator var: #nsMethodCache declareC: 'sqIntptr_t nsMethodCache[NSMethodCacheSize + 1 /* ', (NSMethodCacheSize + 1) printString, ' */]'] ifFalse: [aCCodeGenerator removeVariable: #nsMethodCache; removeVariable: 'localAbsentReceiver'; removeVariable: 'localAbsentReceiverOrZero']. AtCacheTotalSize isInteger ifTrue: [aCCodeGenerator var: #atCache declareC: 'sqInt atCache[AtCacheTotalSize + 1 /* ', (AtCacheTotalSize + 1) printString, ' */]']. aCCodeGenerator var: #primitiveTable declareC: 'void (*primitiveTable[MaxPrimitiveIndex + 2 /* ', (MaxPrimitiveIndex + 2) printString, ' */])(void) = ', vmClass primitiveTableString. vmClass primitiveTable do: [:symbolOrNot| (symbolOrNot isSymbol and: [symbolOrNot ~~ #primitiveFail]) ifTrue: [(aCCodeGenerator methodNamed: symbolOrNot) ifNotNil: [:tMethod| tMethod returnType: #void]]]. vmClass objectMemoryClass hasSpurMemoryManagerAPI ifTrue: [aCCodeGenerator var: #primitiveAccessorDepthTable type: 'signed char' sizeString: 'MaxPrimitiveIndex + 2 /* ', (MaxPrimitiveIndex + 2) printString, ' */' array: vmClass primitiveAccessorDepthTable] ifFalse: [aCCodeGenerator removeVariable: #primitiveAccessorDepthTable]. aCCodeGenerator var: #displayBits type: #'void *'. self declareC: #(displayWidth displayHeight displayDepth) as: #int in: aCCodeGenerator. aCCodeGenerator var: #primitiveFunctionPointer declareC: 'void (*primitiveFunctionPointer)()'; var: #externalPrimitiveTable declareC: 'void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* ', (MaxExternalPrimitiveTableSize + 1) printString, ' */])(void)'; var: #interruptCheckChain declareC: 'void (*interruptCheckChain)(void) = 0'; var: #showSurfaceFn declareC: 'int (*showSurfaceFn)(sqIntptr_t, int, int, int, int)'; var: #jmpBuf declareC: 'jmp_buf jmpBuf[MaxJumpBuf + 1 /* ', (MaxJumpBuf + 1) printString, ' */]'; var: #suspendedCallbacks declareC: 'usqInt suspendedCallbacks[MaxJumpBuf + 1 /* ', (MaxJumpBuf + 1) printString, ' */]'; var: #suspendedMethods declareC: 'usqInt suspendedMethods[MaxJumpBuf + 1 /* ', (MaxJumpBuf + 1) printString, ' */]'. self declareCAsUSqLong: #(nextPollUsecs nextWakeupUsecs longRunningPrimitiveGCUsecs longRunningPrimitiveStartUsecs longRunningPrimitiveStopUsecs "these are high-frequency enough that they're overflowing quite quickly on modern hardware" statProcessSwitch statIOProcessEvents statForceInterruptCheck statCheckForEvents statStackOverflow statStackPageDivorce statIdleUsecs) in: aCCodeGenerator. aCCodeGenerator var: #nextProfileTick type: #sqLong. aCCodeGenerator var: #reenterInterpreter type: 'jmp_buf'. LowcodeVM ifTrue: [aCCodeGenerator var: #lowcodeCalloutState type: #'sqLowcodeCalloutState*'. self declareC: #(nativeSP nativeStackPointer shadowCallStackPointer) as: #'char *' in: aCCodeGenerator] ifFalse: [#(lowcodeCalloutState nativeSP nativeStackPointer shadowCallStackPointer) do: [:var| aCCodeGenerator removeVariable: var]]. aCCodeGenerator var: #primitiveDoMixedArithmetic declareC: 'char primitiveDoMixedArithmetic = 1'.! Item was changed: ----- Method: StackInterpreter class>>preambleCCode (in category 'translation') ----- preambleCCode ^ '/* Disable Intel compiler inlining of warning which is used for breakpoints */ #pragma auto_inline(off) sqInt warnpid, erroronwarn; EXPORT(void) warning(char *s) { /* Print an error message but don''t necessarily exit. */ if (erroronwarn) error(s); if (warnpid) printf("\n%s pid %ld\n", s, (long)warnpid); else printf("\n%s\n", s); } EXPORT(void) warningat(char *s, int l) { /* ditto with line number. */ /* use alloca to call warning so one does not have to remember to set two breakpoints... */ char *sl = alloca(strlen(s) + 16); sprintf(sl, "%s %d", s, l); warning(sl); } #pragma auto_inline(on) - - /* - * Define sigsetjmp and siglongjmp to be the most minimal setjmp/longjmp available on the platform. - * Note: on windows 64 via mingw-w64, the 2nd argument NULL to _setjmp prevents stack unwinding - * On windows 32 via MSVC _longjmpex prevents stack unwinding. Not supported on windows 64. - */ - #undef sigsetjmp - #undef siglongjmp - #if _MSC_VER - # if _WIN64 - # define sigsetjmp(jb,ssmf) _setjmp(jb) - # define siglongjmp(jb,v) longjmp(jb,v) - # else - # define sigsetjmp(jb,ssmf) _setjmp(jb) - # define siglongjmp(jb,v) _longjmpex(jb,v) - # endif - #elif _WIN64 && __GNUC__ - # define sigsetjmp(jb,ssmf) _setjmp(jb,NULL) - # define siglongjmp(jb,v) longjmp(jb,v) - #elif _WIN32 - # define sigsetjmp(jb,ssmf) setjmp(jb) - # define siglongjmp(jb,v) longjmp(jb,v) - #else - # define sigsetjmp(jb,ssmf) _setjmp(jb) - # define siglongjmp(jb,v) _longjmp(jb,v) - #endif - - #define odd(v) ((int)(v)&1) - #define even(v) (!!odd(v)) '! Item was added: + ----- Method: StackInterpreter>>_longjmp:_: (in category 'simulation') ----- + _longjmp: aJumpBuf _: returnValue + "Hack simulation of _setjmp/_longjmp, intended to invoke the most minimal setjmp/longjmp + pair available on the platform; no saving/restoring signal masks, no stack unwinding, etc. + Signal the exception that simulates a longjmp back to the interpreter." + + aJumpBuf == reenterInterpreter ifTrue: + [self assertValidExecutionPointe: instructionPointer r: framePointer s: stackPointer imbar: true line: nil]. + aJumpBuf returnValue: returnValue; signal! Item was added: + ----- Method: StackInterpreter>>_setjmp: (in category 'primitive support') ----- + _setjmp: aJumpBuf + "Hack simulation of _setjmp/_longjmp, intended to invoke the most minimal setjmp/longjmp + pair available on the platform; no saving/restoring signal masks, no stack unwinding, etc. + Assign to reenterInterpreter the exception that when raised simulates a _longjmp back to the interpreter." + + reenterInterpreter := ReenterInterpreter new returnValue: 0; yourself. + ^0! Item was changed: ----- Method: StackInterpreter>>activateFailingPrimitiveMethod (in category 'primitive support') ----- activateFailingPrimitiveMethod "Assuming the primFailCode (and any other relevant failure state) has been set, switch the VM to the interpreter if necessary (if in the CoInterpreter executing machine code), and activate the newMethod (which is expected to have a primitive)." self assert: primFailCode ~= 0. self assert: (objectMemory addressCouldBeObj: newMethod). self assert: (objectMemory isCompiledMethod: newMethod). self assert: (self primitiveIndexOf: newMethod) ~= 0. self justActivateNewMethod: true. "Frame must be interpreted" + self _longjmp: reenterInterpreter _: ReturnToInterpreter. - self siglong: reenterInterpreter jmp: ReturnToInterpreter. "NOTREACHED" ^nil! Item was changed: ----- Method: StackInterpreter>>callbackEnter: (in category 'callback support') ----- callbackEnter: callbackID "Re-enter the interpreter to execute a (non-ALien,non-FFI) callback (as used by the Python bridge)." | savedReenterInterpreter | "For now, do not allow a callback unless we're in a primitiveResponse" (self asserta: primitiveFunctionPointer ~= 0) ifFalse: [^false]. self assert: primFailCode = 0. "Check if we've exceeded the callback depth" (self asserta: jmpDepth < MaxJumpBuf) ifFalse: [^false]. jmpDepth := jmpDepth + 1. "Suspend the currently active process" suspendedCallbacks at: jmpDepth put: self activeProcess. "We need to preserve newMethod explicitly since it is not activated yet and therefore no context has been created for it. If the caller primitive for any reason decides to fail we need to make sure we execute the correct method and not the one 'last used' in the call back" suspendedMethods at: jmpDepth put: newMethod. "Signal external semaphores since a signalSemaphoreWithIndex: request may have been issued immediately prior to this callback before the VM has any chance to do a signalExternalSemaphores in checkForEventsMayContextSwitch:" self signalExternalSemaphores. "If no process is awakened by signalExternalSemaphores then transfer to the highest priority runnable one." (suspendedCallbacks at: jmpDepth) = self activeProcess ifTrue: [self transferTo: self wakeHighestPriority]. "Typically, invoking the callback means that some semaphore has been signaled to indicate the callback. Force an interrupt check as soon as possible." self forceInterruptCheck. "Save the previous interpreter entry jmp_buf." self memcpy: savedReenterInterpreter asVoidPointer _: reenterInterpreter _: (self sizeof: #'jmp_buf'). + (self _setjmp: (jmpBuf at: jmpDepth)) = 0 ifTrue: "Fill in callbackID" - (self setjmp: (jmpBuf at: jmpDepth)) = 0 ifTrue: "Fill in callbackID" [callbackID at: 0 put: jmpDepth. self enterSmalltalkExecutive. self assert: false "NOTREACHED"]. "Restore the previous interpreter entry jmp_buf." self memcpy: reenterInterpreter _: (self cCoerceSimple: savedReenterInterpreter to: #'void *') _: (self sizeof: #'jmp_buf'). "Transfer back to the previous process so that caller can push result" self putToSleep: self activeProcess yieldingIf: preemptionYields. self transferTo: (suspendedCallbacks at: jmpDepth). newMethod := suspendedMethods at: jmpDepth. "see comment above" argumentCount := self argumentCountOf: newMethod. self assert: primFailCode = 0. jmpDepth := jmpDepth - 1. ^true! Item was changed: ----- Method: StackInterpreter>>callbackLeave: (in category 'callback support') ----- callbackLeave: cbID "Leave from a previous callback" "For now, do not allow a callback return unless we're in a primitiveResponse" (self asserta: primitiveFunctionPointer ~= 0) ifFalse: [^false]. "Check if this is the top-level callback" cbID = jmpDepth ifFalse:[^false]. cbID < 1 ifTrue:[^false]. "This is ugly but necessary, or otherwise the Mac will not build" + self _longjmp: (jmpBuf at: jmpDepth) _: 1. - self long: (jmpBuf at: jmpDepth) jmp: 1. "NOTREACHED" ^nil! Item was changed: ----- Method: StackInterpreter>>enterSmalltalkExecutiveImplementation (in category 'initialization') ----- enterSmalltalkExecutiveImplementation "Main entry-point into the interpreter at each execution level, where an execution level is either the start of execution or reentry for a callback. This is the actual implementation, separated from enterSmalltalkExecutive so the simulator can wrap it in an exception handler and hence simulate the setjmp/longjmp." "Setjmp for reentry into interpreter from elsewhere, e.g. FFI exception primitive failure." + self _setjmp: reenterInterpreter. - self sigset: reenterInterpreter jmp: 0. self setMethod: (self frameMethod: framePointer). self assertValidExecutionPointe: instructionPointer r: framePointer s: stackPointer imbar: true line: #'__LINE__'. self interpret. ^0! Item was removed: - ----- Method: StackInterpreter>>long:jmp: (in category 'simulation') ----- - long: aJumpBuf jmp: returnValue - "Hack simulation of setjmp/longjmp. - Signal the exception that simulates a longjmp back to the interpreter." - - aJumpBuf == reenterInterpreter ifTrue: - [self assertValidExecutionPointe: instructionPointer r: framePointer s: stackPointer imbar: true line: nil]. - aJumpBuf returnValue: returnValue; signal! Item was changed: ----- Method: StackInterpreter>>methodReturnString: (in category 'plugin primitive support') ----- methodReturnString: aCString "Attempt to answer a ByteString for a given C string as the result of a primitive." self deny: self failed. aCString ifNil: [primFailCode := PrimErrOperationFailed] ifNotNil: + [(objectMemory stringForCString: aCString) - [(self stringForCString: aCString) ifNil: [primFailCode := PrimErrNoMemory] ifNotNil: [:result| self pop: argumentCount+1 thenPush: result]]. ^0! Item was changed: ----- Method: StackInterpreter>>returnAs:ThroughCallback:Context: (in category 'callback support') ----- returnAs: returnTypeOop ThroughCallback: vmCallbackContext Context: callbackMethodContext "callbackMethodContext is an activation of invokeCallback:[stack:registers:jmpbuf:]. Its sender is the VM's state prior to the callback. Reestablish that state (via longjmp), and mark callbackMethodContext as dead." | calloutMethodContext theFP thePage | self assert: primFailCode = 0. self assert: (objectMemory isIntegerObject: returnTypeOop). self assert: (objectMemory isImmediate: vmCallbackContext asInteger) not. self assert: ((objectMemory addressCouldBeObj: callbackMethodContext) and: [objectMemory isContext: callbackMethodContext]). self assert: (debugCallbackPath := 0) = 0. ((objectMemory isIntegerObject: returnTypeOop) and: [self isLiveContext: callbackMethodContext]) ifFalse: [self assert: (debugCallbackPath := 1) = 1. ^false]. calloutMethodContext := self externalInstVar: SenderIndex ofContext: callbackMethodContext. (self isLiveContext: calloutMethodContext) ifFalse: [self assert: (debugCallbackPath := 2) = 2. ^false]. self assert: (debugCallbackReturns := debugCallbackReturns + 1) > 0. "self assert: debugCallbackReturns < 3802." "We're about to leave this stack page; must save the current frame's instructionPointer." self push: instructionPointer. self externalWriteBackHeadFramePointers. "Mark callbackMethodContext as dead; the common case is that it is the current frame. We go the extra mile for the debugger." (self isSingleContext: callbackMethodContext) ifTrue: [self assert: (debugCallbackPath := debugCallbackPath bitOr: 4) > 0. self markContextAsDead: callbackMethodContext] ifFalse: [self assert: (debugCallbackPath := debugCallbackPath bitOr: 8) > 0. theFP := self frameOfMarriedContext: callbackMethodContext. self assert: (self frameReceiver: theFP) = (objectMemory splObj: ClassAlien). framePointer = theFP "common case" ifTrue: [self assert: (debugCallbackPath := debugCallbackPath bitOr: 16) > 0. (self isBaseFrame: theFP) ifFalse: "calloutMethodContext is immediately below on the same page. Make it current." [self assert: (debugCallbackPath := debugCallbackPath bitOr: 32) > 0. instructionPointer := (self frameCallerSavedIP: theFP) asUnsignedInteger. stackPointer := theFP + (self frameStackedReceiverOffset: theFP) + objectMemory wordSize. framePointer := self frameCallerFP: theFP. self setMethod: (self frameMethodObject: framePointer). self restoreCStackStateForCallbackContext: vmCallbackContext. self assertValidExecutionPointe: instructionPointer r: framePointer s: stackPointer. "N.B. siglongjmp is defines as _longjmp on non-win32 platforms. This matches the use of _setjmp in ia32abicc.c." + self _longjmp: vmCallbackContext trampoline _: (self integerValueOf: returnTypeOop). - self siglong: vmCallbackContext trampoline jmp: (self integerValueOf: returnTypeOop). ^true]. stackPages freeStackPage: stackPage] ifFalse: [self assert: (debugCallbackPath := debugCallbackPath bitOr: 64) > 0. self externalDivorceFrame: theFP andContext: callbackMethodContext. self markContextAsDead: callbackMethodContext]]. "Make the calloutMethodContext the active frame. The case where calloutMethodContext is immediately below callbackMethodContext on the same page is handled above." (self isStillMarriedContext: calloutMethodContext) ifTrue: [self assert: (debugCallbackPath := debugCallbackPath bitOr: 128) > 0. theFP := self frameOfMarriedContext: calloutMethodContext. thePage := stackPages stackPageFor: theFP. "findSPOf:on: points to the word beneath the instructionPointer, but there is no instructionPointer on the top frame of the current page." self assert: thePage ~= stackPage. stackPointer := thePage headFP = theFP ifTrue: [thePage headSP] ifFalse: [(self findSPOf: theFP on: thePage) - objectMemory wordSize]. framePointer := theFP. self assert: stackPointer < framePointer] ifFalse: [self assert: (debugCallbackPath := debugCallbackPath bitOr: 256) > 0. thePage := self makeBaseFrameFor: calloutMethodContext. self setStackPointersFromPage: thePage]. instructionPointer := self popStack. self setMethod: (objectMemory fetchPointer: MethodIndex ofObject: calloutMethodContext). self setStackPageAndLimit: thePage. self restoreCStackStateForCallbackContext: vmCallbackContext. primitiveFunctionPointer := vmCallbackContext savedPrimFunctionPointer. "N.B. siglongjmp is defined as _longjmp on non-win32 platforms. This matches the use of _setjmp in ia32abicc.c." + self _longjmp: vmCallbackContext trampoline _: (self integerValueOf: returnTypeOop). - self siglong: vmCallbackContext trampoline jmp: (self integerValueOf: returnTypeOop). "NOTREACHED" ^true! Item was removed: - ----- Method: StackInterpreter>>siglong:jmp: (in category 'primitive support') ----- - siglong: aJumpBuf jmp: returnValue - ^self long: aJumpBuf jmp: returnValue! Item was removed: - ----- Method: StackInterpreter>>sigset:jmp: (in category 'primitive support') ----- - sigset: aJumpBuf jmp: sigSaveMask - "Hack simulation of sigsetjmp/siglongjmp. - Assign to reenterInterpreter the exception that when - raised simulates a longjmp back to the interpreter." - - reenterInterpreter := ReenterInterpreter new returnValue: 0; yourself. - ^0! From noreply at github.com Tue Sep 1 22:05:04 2020 From: noreply at github.com (Eliot Miranda) Date: Tue, 01 Sep 2020 15:05:04 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 9f7314: CogVM source as per VMMaker.oscog-eem.2798 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 9f73148b8da4bc00278b83faa8da6b1c418fa54f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9f73148b8da4bc00278b83faa8da6b1c418fa54f Author: Eliot Miranda Date: 2020-09-01 (Tue, 01 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2798 Interpreters: Clean up setjmp/longjmp. Use only _setjmp:/_longjmp:_:. To get Win64 working it is easier to use a setjmp/longjmp pair that does not do stack unwinding. It is more difficult to stitch teh stack properly so that Kernel32's checking on stack unwinding does not raise an error. So now we're using _setjmp/longjmp everywhere and can fix things on WIN32 either to to invoke longjmpex or to use a _setjmp/_longjmp replacement a la Win64. [ci skip] From noreply at github.com Tue Sep 1 22:17:01 2020 From: noreply at github.com (Eliot Miranda) Date: Tue, 01 Sep 2020 15:17:01 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 04266e: Add the minimal _setjmp/_longjmp for Win64 adapted... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 04266ed7e556efbb12527d09430c5e176971f1f8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/04266ed7e556efbb12527d09430c5e176971f1f8 Author: Eliot Miranda Date: 2020-09-01 (Tue, 01 Sep 2020) Changed paths: M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.flags R build.win64x64/common/Makefile.msvc.msvc.rules M build.win64x64/common/Makefile.msvc.plugin M build.win64x64/common/Makefile.msvc.rules M build.win64x64/common/Makefile.msvc.tools M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqSetjmpShim.h A platforms/win32/misc/_setjmp-x64.asm Log Message: ----------- Add the minimal _setjmp/_longjmp for Win64 adapted from Julia Lang. Make sure all external plgins use it too. This commit may break the 32-bit WIN32 builds. We'll rescue them when time allows, either by adding a _setjmp-x86.asm or by modifying sqSetjmpShim to map _setjmp/_longjmp to setjmpex/longjmpex. From no-reply at appveyor.com Tue Sep 1 22:20:32 2020 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 01 Sep 2020 22:20:32 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2149 Message-ID: <20200901222032.1.E766546AC384F903@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Sep 1 22:40:54 2020 From: builds at travis-ci.org (Travis CI) Date: Tue, 01 Sep 2020 22:40:54 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2150 (Cog - 04266ed) In-Reply-To: Message-ID: <5f4ecdf588f92_13f8cc20a010c117579@travis-tasks-5b7cd86c96-4bxxl.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2150 Status: Still Failing Duration: 23 mins and 11 secs Commit: 04266ed (Cog) Author: Eliot Miranda Message: Add the minimal _setjmp/_longjmp for Win64 adapted from Julia Lang. Make sure all external plgins use it too. This commit may break the 32-bit WIN32 builds. We'll rescue them when time allows, either by adding a _setjmp-x86.asm or by modifying sqSetjmpShim to map _setjmp/_longjmp to setjmpex/longjmpex. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/9f73148b8da4...04266ed7e556 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/723255360?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Wed Sep 2 13:56:49 2020 From: noreply at github.com (Marcel Taeumel) Date: Wed, 02 Sep 2020 06:56:49 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] a749b6: X11 DropPlugin: Don't specify numFiles= 1 before D... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: a749b6b54909d6f3eea544fdffe17271d00a7f95 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a749b6b54909d6f3eea544fdffe17271d00a7f95 Author: Christoph Thiede Date: 2020-08-19 (Wed, 19 Aug 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- X11 DropPlugin: Don't specify numFiles= 1 before DragDrop Instead, set numFiles= 0 analogously to the Win32 implementation of the plugin. Commit: dae0bf5670efa757c482ada192534244efe2d688 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dae0bf5670efa757c482ada192534244efe2d688 Author: Christoph Thiede Date: 2020-08-21 (Fri, 21 Aug 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/unix/vm-display-X11/sqUnixXdnd.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Merge branch 'Cog' into dnd-unify-numfiles Commit: fc9c3177b2f3021fead719ba444ebba46ecb2446 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fc9c3177b2f3021fead719ba444ebba46ecb2446 Author: Marcel Taeumel Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Merge pull request #514 from LinqLover/dnd-unify-numfiles DropPlugin: Unify numFiles fallback value before DragDrop has been recorded Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/04266ed7e556...fc9c3177b2f3 From notifications at github.com Wed Sep 2 13:56:50 2020 From: notifications at github.com (Marcel Taeumel) Date: Wed, 02 Sep 2020 13:56:50 +0000 (UTC) Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] DropPlugin: Unify numFiles fallback value before DragDrop has been recorded (#514) In-Reply-To: References: Message-ID: Merged #514 into Cog. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/514#event-3719972062 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Sep 2 13:59:57 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 02 Sep 2020 13:59:57 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2150 Message-ID: <20200902135957.1.EF9A276983C12626@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Wed Sep 2 14:20:28 2020 From: builds at travis-ci.org (Travis CI) Date: Wed, 02 Sep 2020 14:20:28 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2151 (Cog - fc9c317) In-Reply-To: Message-ID: <5f4faa2bd187_13fd8a3db8f3817578b@travis-tasks-57cc47bfc6-n5ghf.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2151 Status: Errored Duration: 23 mins and 5 secs Commit: fc9c317 (Cog) Author: Marcel Taeumel Message: Merge pull request #514 from LinqLover/dnd-unify-numfiles DropPlugin: Unify numFiles fallback value before DragDrop has been recorded View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/04266ed7e556...fc9c3177b2f3 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/723448587?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Wed Sep 2 14:33:58 2020 From: notifications at github.com (Christoph Thiede) Date: Wed, 02 Sep 2020 07:33:58 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] How to build on Win32 using WSL/Ubuntu | Missing headers (#510) In-Reply-To: References: Message-ID: Closed #510. -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/510#event-3720155307 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Wed Sep 2 14:33:58 2020 From: notifications at github.com (Christoph Thiede) Date: Wed, 02 Sep 2020 07:33:58 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] How to build on Win32 using WSL/Ubuntu | Missing headers (#510) In-Reply-To: References: Message-ID: I have to apologize for a stupid rookie mistake. The 32-bit builds "did not work" for me because I was trying to open a 64-bit image file in it, which Marcel kindly made we aware of ... So to correct the above description, I can say: - cygwin32/cygwin64 for `build.win32x86`: works! - Still, `build.win64x64` is crashing despite applying Nicolas' patch, but this should be discussed in #498. Because I did not ask a specific question, I'm going to close this now - yahoo, I can finally start developing for the OSVM Windows platform! :tada: -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/510#issuecomment-685777077 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Wed Sep 2 15:11:26 2020 From: notifications at github.com (Christoph Thiede) Date: Wed, 02 Sep 2020 08:11:26 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Win32 event generation mixes up timeGetTime() and GetMessageTime() (#509) In-Reply-To: References: Message-ID: Just thinking aloud: At the moment, there are three different time sources used in the win32 implementation: - `Time self millisecondClockValue` based on `#utcMicrosecondClock` which counts since from 1901. - `Time eventMillisecondClock` based on `ioMSecs()` which counts since system start. (used for DnD events) - `MSG>>time` (used for most events) - `GetMessageTime()` (used for mouse events, too, but only for checking time deltas) I just validated my assumption that `GetMessageTime()` returns values similar to `MSG>>time`, deviation could only result from a long event processing time on the VM side. As regular events are not recorded by the VM during DnD, this problem does not seem to be relevant, so I will patch `recordDragDropEvent()` to use `GetMessageTime()` now, too. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/509#issuecomment-685801137 -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at clipperadams.com Wed Sep 2 16:20:01 2020 From: sean at clipperadams.com (Sean DeNigris) Date: Wed, 2 Sep 2020 12:20:01 -0400 Subject: [Vm-dev] Unity Happens One Step at a Time (was Re: [squeak-dev] Porting my programs from Squeak 3.10.2 to 3.5) Message-ID: I've been pontificating about unity between dialects, convinced more than ever that we need each other and have more of a simple (not easy) communication problem than anything else, and pestering the principals of various communities, so I decided to put some concrete action behind it - some "skin in the game" as we say in the U.S. After reading Trygve's frustration with Squeak image/VM management, and Eliot's mention of Pharo's solution, I've extended PharoLauncher to manage and run Squeak (and GToolkit) VMs/images. The current limitation vs. launching standard Pharo images is that you have to download the VMs and images and manually install them due to differences in URL and other conventions. However once the files are in place, you can create templates allowing images to be created at will from different Squeak versions and automatically run with the correct VM. Auto-installation could probably be done if someone cares enough but it scratched my itch for the moment to manage GT images. I’m sure Cuis support could be added, but the hooks are now available and someone more familiar with its VM/image installation might have an easier time. Until my latest PR [1] is merged, brave souls can play with it and give feedback by loading my issue branch [2] into the latest Launcher release [3]. NB only tested on Mac. It seemed Trygve was at his wits' end, but maybe this and other small gestures will let him know how important he is to our community if not motivate him to resume his important work. I challenge you, as a member of our wider Squeak/Pharo/Cuis family: what small action can you take today that unites us rather than divides us? We can be each others' supporters even if technical, vision and other differences keep our codebases somewhat distinct. I believe the seeds of wars are planted when I lack the grace to give those around me the benefit of the doubt that they mean well and are trying their best. There is more than enough of that already in the world. Let’s invent a *better* future… Your brother, Sean 1. https://github.com/pharo-project/pharo-launcher/pull/503 2. https://github.com/seandenigris/pharo-launcher/tree/enh_vm-image-custom-hooks 3. https://pharo.org/download From notifications at github.com Wed Sep 2 16:22:48 2020 From: notifications at github.com (Christoph Thiede) Date: Wed, 02 Sep 2020 09:22:48 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) Message-ID: Before this patch, the timestamps recorded for DragDrop events in the win32 implementation were not comparable to the timestamps recorded for regular mouse or keyboard events. This was the case because it used `ioMicroMSecs()` which returns the milliseconds elapsed since the VM was started (see `sqWin32Heartbeat.c`). However, for other events, the timestamp is retrieved from the `MSG` structure where the time is counted since the *system* start. In the DnD module (see `sqWin32DragDrop.c`), no `MSG` instances are retrieved because it is implemented based on the [`IDropTarget` interface](https://docs.microsoft.com/en-us/windows/win32/api/oleidl/nn-oleidl-idroptarget) from the `ole2.h` header instead of `Winuser.h`. Nevertheless, we can get the required timestamp using the [`GetTickCount()`](https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-gettickcount) function from `sysinfoapi.h` which returns the milliseconds elapsed since the system start as well. By the way, it is already used for recording window events (see `recordWindowEvent()`, however, as far as I see, its use would not even have been necessary in this case because the single caller of that function could also have passed `messageTouse->time` to it). Closes #509. ## How can I test this? For observing the consequences of this PR, please install [this changeset](https://github.com/OpenSmalltalk/opensmalltalk-vm/files/5163502/test-fix-win-evt-timestamps.1.cs.zip) into both an unpatched and patched VM and watch the outputs in the Transcript window while moving your mouse and dragging files from your Win32 host system over/into the image (works best when disabling the 'TranscriptStream forceUpdate' preference). ## Merger notes Please review! And please squash this PR when merging. :-) You can view, comment on, or merge this pull request online at: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518 -- Commit Summary -- * Early WIP * Merge branch 'Cog' into fix-win-evt-timestamps * Fix timestamps for DragDrop events on Windows * Use GetTickCount() instead of GetMessageTime(). * [skip-ci] Improve comment -- File Changes -- M .gitignore (4) M platforms/win32/vm/sqWin32Window.c (3) -- Patch Links -- https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518.patch https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Sep 2 16:33:24 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 02 Sep 2020 16:33:24 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2151 Message-ID: <20200902163324.1.52AF4FBD29FF0E85@appveyor.com> An HTML attachment was scrubbed... URL: From commits at source.squeak.org Wed Sep 2 17:33:14 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Wed, 2 Sep 2020 17:33:14 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2799.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2799.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2799 Author: eem Time: 2 September 2020, 10:33:06.369398 am UUID: 80ed3233-a0ed-4818-ad21-8311a85e70f9 Ancestors: VMMaker.oscog-eem.2798 Support for compact ARMv8 (& similar) integer multiply overflow detection. Simulator breakpoint convenience. =============== Diff against VMMaker.oscog-eem.2798 =============== Item was added: + ----- Method: Boolean>>removeBreakpoint: (in category '*VMMaker-breakpoints') ----- + removeBreakpoint: address + ^nil! Item was changed: SharedPool subclass: #CogRTLOpcodes instanceVariableNames: '' + classVariableNames: 'AddCqR AddCqRR AddCwR AddRR AddRRR AddRdRd AddRsRs AddcCqR AddcRR AlignmentNops AndCqR AndCqRR AndCwR AndRR ArithmeticShiftRightCqR ArithmeticShiftRightCqRR ArithmeticShiftRightRR Call CallFull CallR ClzRR CmpC32R CmpCqR CmpCwR CmpRR CmpRdRd CmpRsRs ConvertRRd ConvertRRs ConvertRdR ConvertRdRs ConvertRsR ConvertRsRd DivRdRd DivRsRs Fill32 FirstJump FirstShortJump Jump JumpAbove JumpAboveOrEqual JumpBelow JumpBelowOrEqual JumpCarry JumpFPEqual JumpFPGreater JumpFPGreaterOrEqual JumpFPLess JumpFPLessOrEqual JumpFPNotEqual JumpFPOrdered JumpFPUnordered JumpFull JumpGreater JumpGreaterOrEqual JumpLess JumpLessOrEqual JumpLong JumpLongNonZero JumpLongZero JumpMulOverflow JumpNegative JumpNoCarry JumpNoMulOverflow JumpNoOverflow JumpNonNegative JumpNonZero JumpOverflow JumpR JumpZero Label LastJump LastRTLCode Literal LoadEffectiveAddressMwrR LogicalShiftLeftCqR LogicalShiftLeftCqRR LogicalShiftLeftRR LogicalShiftRightCqR LogicalShiftRightCqRR LogicalShiftRightRR Mo veA32R MoveAbR MoveAwR MoveC32R MoveCqR MoveCwR MoveM16rR MoveM32rR MoveM32rRs MoveM64rRd MoveM8rR MoveMbrR MoveMs8rR MoveMwrR MoveRA32 MoveRAb MoveRAw MoveRM16r MoveRM32r MoveRM8r MoveRMbr MoveRMwr MoveRR MoveRRd MoveRX16rR MoveRX32rR MoveRXbrR MoveRXwrR MoveRdM64r MoveRdR MoveRdRd MoveRsM32r MoveRsRs MoveX16rRR MoveX32rRR MoveXbrRR MoveXwrRR MulRdRd MulRsRs NativePopR NativePushR NativeRetN NegateR Nop NotR OrCqR OrCqRR OrCwR OrRR PopR PrefetchAw PushCq PushCw PushR RetN RotateLeftCqR RotateRightCqR SignExtend16RR SignExtend32RR SignExtend8RR SqrtRd SqrtRs Stop SubCqR SubCwR SubRR SubRRR SubRdRd SubRsRs SubbCqR SubbRR TstCqR XorCqR XorCwR XorRR XorRdRd XorRsRs ZeroExtend16RR ZeroExtend32RR ZeroExtend8RR' - classVariableNames: 'AddCqR AddCqRR AddCwR AddRR AddRRR AddRdRd AddRsRs AddcCqR AddcRR AlignmentNops AndCqR AndCqRR AndCwR AndRR ArithmeticShiftRightCqR ArithmeticShiftRightCqRR ArithmeticShiftRightRR Call CallFull CallR ClzRR CmpC32R CmpCqR CmpCwR CmpRR CmpRdRd CmpRsRs ConvertRRd ConvertRRs ConvertRdR ConvertRdRs ConvertRsR ConvertRsRd DivRdRd DivRsRs Fill32 FirstJump FirstShortJump Jump JumpAbove JumpAboveOrEqual JumpBelow JumpBelowOrEqual JumpCarry JumpFPEqual JumpFPGreater JumpFPGreaterOrEqual JumpFPLess JumpFPLessOrEqual JumpFPNotEqual JumpFPOrdered JumpFPUnordered JumpFull JumpGreater JumpGreaterOrEqual JumpLess JumpLessOrEqual JumpLong JumpLongNonZero JumpLongZero JumpNegative JumpNoCarry JumpNoOverflow JumpNonNegative JumpNonZero JumpOverflow JumpR JumpZero Label LastJump LastRTLCode Literal LoadEffectiveAddressMwrR LogicalShiftLeftCqR LogicalShiftLeftCqRR LogicalShiftLeftRR LogicalShiftRightCqR LogicalShiftRightCqRR LogicalShiftRightRR MoveA32R MoveAbR MoveAwR MoveC32R Mo veCqR MoveCwR MoveM16rR MoveM32rR MoveM32rRs MoveM64rRd MoveM8rR MoveMbrR MoveMs8rR MoveMwrR MoveRA32 MoveRAb MoveRAw MoveRM16r MoveRM32r MoveRM8r MoveRMbr MoveRMwr MoveRR MoveRRd MoveRX16rR MoveRX32rR MoveRXbrR MoveRXwrR MoveRdM64r MoveRdR MoveRdRd MoveRsM32r MoveRsRs MoveX16rRR MoveX32rRR MoveXbrRR MoveXwrRR MulRdRd MulRsRs NativePopR NativePushR NativeRetN NegateR Nop NotR OrCqR OrCqRR OrCwR OrRR PopR PrefetchAw PushCq PushCw PushR RetN RotateLeftCqR RotateRightCqR SignExtend16RR SignExtend32RR SignExtend8RR SqrtRd SqrtRs Stop SubCqR SubCwR SubRR SubRRR SubRdRd SubRsRs SubbCqR SubbRR TstCqR XorCqR XorCwR XorRR XorRdRd XorRsRs ZeroExtend16RR ZeroExtend32RR ZeroExtend8RR' poolDictionaries: '' category: 'VMMaker-JIT'! !CogRTLOpcodes commentStamp: 'eem 12/26/2015 14:00' prior: 0! I am a pool for the Register-Transfer-Language to which Cog compiles. I define unique integer values for all RTL opcodes. See CogAbstractInstruction for instances of instructions with the opcodes that I define.! Item was changed: ----- Method: CogRTLOpcodes class>>initialize (in category 'class initialization') ----- (excessive size, no diff calculated) From noreply at github.com Wed Sep 2 17:46:33 2020 From: noreply at github.com (Eliot Miranda) Date: Wed, 02 Sep 2020 10:46:33 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] f632ee: CogVM source as per VMMaker.oscog-eem.2799/ClosedV... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: f632ee2888014ee88330ee994e13c9c609b57b5f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f632ee2888014ee88330ee994e13c9c609b57b5f Author: Eliot Miranda Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M nsspur64src/vm/cogitARMv8.c M spur64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitARMv8.c M spursista64src/vm/cogitARMv8.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2799/ClosedVMMaker-eem.98 Ha! I am *STUPID*. Integer overflow is not only determined by the upper 64-bits of a 64x64=>128 bit multiply being either all zero or all ones (0 or -1), but by the upper 64-bits being an extension of the most significant bit of the lower 64 bits!! From no-reply at appveyor.com Wed Sep 2 17:49:34 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 02 Sep 2020 17:49:34 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2152 Message-ID: <20200902174934.1.947FBAE6F1708631@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Wed Sep 2 18:09:10 2020 From: builds at travis-ci.org (Travis CI) Date: Wed, 02 Sep 2020 18:09:10 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2153 (Cog - f632ee2) In-Reply-To: Message-ID: <5f4fdfc5a0a40_13f7ea431e8ec153879@travis-tasks-589b48d8c8-r784v.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2153 Status: Errored Duration: 22 mins and 7 secs Commit: f632ee2 (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2799/ClosedVMMaker-eem.98 Ha! I am *STUPID*. Integer overflow is not only determined by the upper 64-bits of a 64x64=>128 bit multiply being either all zero or all ones (0 or -1), but by the upper 64-bits being an extension of the most significant bit of the lower 64 bits!! View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/fc9c3177b2f3...f632ee288801 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/723533923?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Wed Sep 2 18:10:44 2020 From: notifications at github.com (Eliot Miranda) Date: Wed, 02 Sep 2020 11:10:44 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Win32 event generation mixes up timeGetTime() and GetMessageTime() (#509) In-Reply-To: References: Message-ID: Hi Christophe, clearly we want the most simple solution that is consistent across all platforms. So yes, please feel free to harmonize the time stamps in a logical manner. Since you're looking at time on Windows please also consider this, which is a proposal of mine for keeping the VM's microsecond clock in sync with wall time in an efficient manner while providing a monotonic microsecond clock. I haven't had time to implement it and I could really do with a collaborator to help me. http://forum.world.st/Time-millisecondClockValue-was-The-Trunk-Morphic-mt-1080-mcz-td4877661.html#a4877918 And this link shows it's a pressing issue for Windows users: https://www.google.com/search?q=%22Windows+image+has+system+time+delay+of+40+seconds%22 -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/509#issuecomment-685907914 -------------- next part -------------- An HTML attachment was scrubbed... URL: From lewis at mail.msen.com Wed Sep 2 20:05:22 2020 From: lewis at mail.msen.com (David T. Lewis) Date: Wed, 2 Sep 2020 16:05:22 -0400 Subject: [Vm-dev] [squeak-dev] Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5) In-Reply-To: References: Message-ID: <20200902200522.GA56319@shell.msen.com> On Wed, Sep 02, 2020 at 12:20:01PM -0400, Sean DeNigris wrote: > I've been pontificating about unity between dialects, convinced more than ever that we need each other and have more of a simple (not easy) communication problem than anything else, and pestering the principals of various communities, so I decided to put some concrete action behind it - some "skin in the game" as we say in the U.S. > > After reading Trygve's frustration with Squeak image/VM management, and Eliot's mention of Pharo's solution, I've extended PharoLauncher to manage and run Squeak (and GToolkit) VMs/images. > > The current limitation vs. launching standard Pharo images is that you have to download the VMs and images and manually install them due to differences in URL and other conventions. However once the files are in place, you can create templates allowing images to be created at will from different Squeak versions and automatically run with the correct VM. Auto-installation could probably be done if someone cares enough but it scratched my itch for the moment to manage GT images. I???m sure Cuis support could be added, but the hooks are now available and someone more familiar with its VM/image installation might have an easier time. > That's very cool Sean, thank you :-) > Until my latest PR [1] is merged, brave souls can play with it and give feedback by loading my issue branch [2] into the latest Launcher release [3]. NB only tested on Mac. > > It seemed Trygve was at his wits' end, but maybe this and other small gestures will let him know how important he is to our community if not motivate him to resume his important work. > > I challenge you, as a member of our wider Squeak/Pharo/Cuis family: what small action can you take today that unites us rather than divides us? We can be each others' supporters even if technical, vision and other differences keep our codebases somewhat distinct. I believe the seeds of wars are planted when I lack the grace to give those around me the benefit of the doubt that they mean well and are trying their best. There is more than enough of that already in the world. Let???s invent a *better* future??? > I can't take any more actions today, but just the other day I published a Pharo/Tonel version of one the the packages that I develop in Squeak, so maybe I get half a "brownie point" for that. Thanks for your efforts and good words, Dave > Your brother, > Sean > > 1. https://github.com/pharo-project/pharo-launcher/pull/503 > 2. https://github.com/seandenigris/pharo-launcher/tree/enh_vm-image-custom-hooks > 3. https://pharo.org/download > From notifications at github.com Wed Sep 2 21:19:18 2020 From: notifications at github.com (Christoph Thiede) Date: Wed, 02 Sep 2020 14:19:18 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Win32 event generation mixes up timeGetTime() and GetMessageTime() (#509) In-Reply-To: References: Message-ID: Hi Elliot, > clearly we want the most simple solution that is consistent across all platforms. So yes, please feel free to harmonize the time stamps in a logical manner. While I do not totally see why across-platform consistency is relevant over different platforms (when you reopen an image on a different platform, there will be a jump in the millisecondClock anyway?), regular event timestamps appear to be consistent (time since host system start) over Windows/Linux. With my PR #518, timestamps for DnD events are consistent, too. Also thank you for the interesting links, but I think they do not affect this PR because `GetTickCount()` only relies on the host system's clock and such is out of scope for us to sync. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/509#issuecomment-686014248 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 01:55:39 2020 From: notifications at github.com (IcedQuinn) Date: Wed, 02 Sep 2020 18:55:39 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) Message-ID: Building via mvm scripts results in a VM that segfaults when attempting to load a Pharo 8 image. Building via cmake requires some tweaks to compile (for example, SDL had to be told not to build Wayland support due to symbol duplication bugs) as well as adding `-Wl,--whole-archive /usr/lib/libexecinfo.a -Wl,--no-whole-archive` to the linker flags. The compiled virtual machine results in a primitive failed exception and the VM is unusably slow. `pharo` script must be modified to point the platform library path to `/lib` where libmusl lives. cap flag has to be set to get around scheduling error `setcap cap_sys_nice=eip lib/pharo/pharo` The error: `PrimitiveFailed: primitive #'insufficient object memory' in File class failed` VM brand: `phcogspurlinuxspurmhdlssdl264+sdl2` -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 02:37:39 2020 From: notifications at github.com (Eliot Miranda) Date: Wed, 02 Sep 2020 19:37:39 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: I suggest you take this up with the "PharoVM" team who claim the VM as their own and profess to have the expertise to support it. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-686203911 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 02:37:40 2020 From: notifications at github.com (Eliot Miranda) Date: Wed, 02 Sep 2020 19:37:40 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Closed #519. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#event-3722605592 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 09:28:12 2020 From: notifications at github.com (IcedQuinn) Date: Thu, 03 Sep 2020 02:28:12 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: this is an incredibly rude way to ask if the problem persists with other smalltalk images. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-686369377 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 09:41:51 2020 From: notifications at github.com (David Stes) Date: Thu, 03 Sep 2020 02:41:51 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Sunupdate (#496) In-Reply-To: References: Message-ID: Reminder about this patch submitted a few months ago : Change void * to GENERAL_NAME* in : -#define sk_GENERAL_NAME_freefunc void()(void) +#define sk_GENERAL_NAME_freefunc void()(GENERAL_NAME) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/496#issuecomment-686376469 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 09:49:18 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 03 Sep 2020 02:49:18 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Hello there and welcome. This might seem very strange to you, but there is a bit of history that leads to this outcome. You report seems to indicate that you used a Pharo-issued VM and a Pharo image. In that case, your inital question might be better answered at https://github.com/pharo-project/opensmalltalk-vm That repo states > This is a fork of OpenSmalltalk-vm. We are doing our best to keep compatibility and contribute back, as long as it fits the objective of Pharo community. For seveal reasons, including a perceivedly low amount of "keep compatibility and contribute back" we cannot offer any support for VMs from that repo. If you have used a VM from this repo and the error pops up with a non-Pharo image, please say so and we can reopen this issue. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-686380078 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 09:53:01 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 03 Sep 2020 02:53:01 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Sunupdate (#496) In-Reply-To: References: Message-ID: thanks. sorry… -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/496#issuecomment-686381850 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 10:03:50 2020 From: notifications at github.com (IcedQuinn) Date: Thu, 03 Sep 2020 03:03:50 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: the VM was from this repo, that is why i reported it here. the cmake files in this repo default to turning "pharo branding" on. i launched a squeak 5 image and it did appear to throw out any primitive failures and the stock code browser was working correctly. the VM also said to report here how to get it working since it did not recognize where libc was. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-686387398 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 10:20:32 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 03 Sep 2020 03:20:32 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Reopened #519. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#event-3724001446 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 10:22:26 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 03 Sep 2020 03:22:26 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Thanks, can you give a few more hints about the primivite failures? Please use the `mvm` script for now. Where there any significant warnings or errors during compilation with MUSL? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-686396165 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Thu Sep 3 10:31:43 2020 From: noreply at github.com (Tobias Pape) Date: Thu, 03 Sep 2020 03:31:43 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 799e0f: Merge pull request #4 from OpenSmalltalk/Cog Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 799e0f6dd1a27e73f2c1cd45886bf008fa79b6ab https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/799e0f6dd1a27e73f2c1cd45886bf008fa79b6ab Author: David Stes <55844484+cstes at users.noreply.github.com> Date: 2020-04-30 (Thu, 30 Apr 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.msvc M build.win32x86/common/SETPATH.BAT M build.win64x64/common/Makefile M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.tools M build.win64x64/common/SETPATH.BAT M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/ia32abi.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/Mac OS/vm/sqMacTime.c M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m M platforms/minheadless/common/sqaio.h M platforms/minheadless/generic/sqPlatformSpecific-Generic.c M platforms/minheadless/unix/sqUnixHeartbeat.c M platforms/minheadless/windows/sqWin32Heartbeat.c M platforms/minheadless/windows/sqWin32Time.c M platforms/unix/config/Makefile.in M platforms/unix/config/acinclude.m4 M platforms/unix/config/aclocal.m4 M platforms/unix/config/ax_append_flag.m4 M platforms/unix/config/ax_cflags_warn_all.m4 A platforms/unix/config/ax_compiler_vendor.m4 M platforms/unix/config/ax_have_epoll.m4 A platforms/unix/config/ax_prepend_flag.m4 M platforms/unix/config/ax_pthread.m4 M platforms/unix/config/config.guess M platforms/unix/config/config.h.in M platforms/unix/config/config.sub M platforms/unix/config/configure M platforms/unix/config/configure.ac M platforms/unix/config/make.cfg.in M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c M platforms/unix/vm/sqaio.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32DirectInput.c M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32DnsInfo.c M platforms/win32/vm/sqWin32ExternalPrims.c M platforms/win32/vm/sqWin32GUID.c M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32SpurAlloc.c M platforms/win32/vm/sqWin32Threads.c M platforms/win32/vm/sqWin32Time.c M platforms/win32/vm/sqWin32Utils.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c M processors/IA32/bochs/cpu/cpu.cc M processors/IA32/bochs/cpu/proc_ctrl.cc M src/plugins/B2DPlugin/B2DPlugin.c Log Message: ----------- Merge pull request #4 from OpenSmalltalk/Cog update april 30 Commit: 5cd3557620083d378f18fbffa6996764867938da https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5cd3557620083d378f18fbffa6996764867938da Author: David Stes <55844484+cstes at users.noreply.github.com> Date: 2020-05-02 (Sat, 02 May 2020) Changed paths: A build.sunos32x86/HowToBuild A build.sunos32x86/squeak.cog.spur/build/mvm A build.sunos32x86/squeak.cog.spur/plugins.ext A build.sunos32x86/squeak.cog.spur/plugins.int A build.sunos32x86/squeak.stack.spur/build/mvm A build.sunos32x86/squeak.stack.spur/plugins.ext A build.sunos32x86/squeak.stack.spur/plugins.int A build.sunos64x64/HowToBuild A build.sunos64x64/squeak.cog.spur/build/mvm A build.sunos64x64/squeak.cog.spur/plugins.ext A build.sunos64x64/squeak.cog.spur/plugins.int A build.sunos64x64/squeak.stack.spur/build/mvm A build.sunos64x64/squeak.stack.spur/plugins.ext A build.sunos64x64/squeak.stack.spur/plugins.int M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/vm/sqAtomicOps.h M platforms/Cross/vm/sqMemoryFence.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/unix/plugins/SqueakSSL/openssl_overlay.h M platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc M platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c M platforms/unix/vm/aio.c M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixMain.c M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M scripts/checkSCCSversion Log Message: ----------- Merge pull request #5 from OpenSmalltalk/Cog may 2 pull request Commit: 371a2707769c8403610c25f59817d2175d458b9f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/371a2707769c8403610c25f59817d2175d458b9f Author: stes Date: 2020-07-09 (Thu, 09 Jul 2020) Changed paths: M build.sunos64x64/HowToBuild M platforms/unix/plugins/SqueakSSL/openssl_overlay.h Log Message: ----------- Change #define sk_GENERAL_NAME_freefunc for SunPRO C compiler Commit: f02e420fcf47e7d4b8038c740e21fdc8928a8e89 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f02e420fcf47e7d4b8038c740e21fdc8928a8e89 Author: Tobias Pape Date: 2020-09-03 (Thu, 03 Sep 2020) Changed paths: M build.sunos64x64/HowToBuild M platforms/unix/plugins/SqueakSSL/openssl_overlay.h Log Message: ----------- Merge pull request #496 from cstes/sunupdate Let's see if something breaks :D Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/f632ee288801...f02e420fcf47 From notifications at github.com Thu Sep 3 10:31:44 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 03 Sep 2020 03:31:44 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Sunupdate (#496) In-Reply-To: References: Message-ID: Merged #496 into Cog. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/496#event-3724041456 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Sep 3 10:35:08 2020 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 03 Sep 2020 10:35:08 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2153 Message-ID: <20200903103508.1.35233D54416CFAE7@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Thu Sep 3 10:54:13 2020 From: builds at travis-ci.org (Travis CI) Date: Thu, 03 Sep 2020 10:54:13 +0000 Subject: [Vm-dev] Failed: OpenSmalltalk/opensmalltalk-vm#2154 (Cog - f02e420) In-Reply-To: Message-ID: <5f50cb555baee_13f9fd499d348112562@travis-tasks-5657d8964-drl86.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2154 Status: Failed Duration: 21 mins and 45 secs Commit: f02e420 (Cog) Author: Tobias Pape Message: Merge pull request #496 from cstes/sunupdate Let's see if something breaks :D View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/f632ee288801...f02e420fcf47 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/723738618?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 15:07:13 2020 From: notifications at github.com (Eliot Miranda) Date: Thu, 03 Sep 2020 08:07:13 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: > On Sep 3, 2020, at 2:28 AM, IcedQuinn wrote: > >  > this is an incredibly rude way to ask if the problem persists with other smalltalk images. > The PharoVM team’s behaviour is far worse than merely rude. Your own assumption that I would support the PharoVM after all they have done and continue to do to steal credit and not contribute back could also be construed as rude, but perhaps it is merely ignorant. If the problem occurs in other images and non-Pharo builds of OpenSmalltalk perhaps you could provide steps to reproduce the problem. Until that time my response to requests for support with a Pharo branded vm with be a firm rejection. > — > You are receiving this because you modified the open/close state. > Reply to this email directly, view it on GitHub, or unsubscribe. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-686556780 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 15:08:45 2020 From: notifications at github.com (Eliot Miranda) Date: Thu, 03 Sep 2020 08:08:45 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Closed #519. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#event-3725227943 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 15:32:30 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 03 Sep 2020 08:32:30 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Reopened #519. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#event-3725339519 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 15:32:29 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 03 Sep 2020 08:32:29 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Ok, reopening and awaiting input on the Squeak primitve errors :) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-686573340 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 3 15:32:54 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 03 Sep 2020 08:32:54 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: (this is coordinated with @eliotmiranda , I'm assigning myself here) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-686573673 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 4 02:24:10 2020 From: notifications at github.com (IcedQuinn) Date: Thu, 03 Sep 2020 19:24:10 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Closed #519. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#event-3727553258 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 4 02:24:10 2020 From: notifications at github.com (IcedQuinn) Date: Thu, 03 Sep 2020 19:24:10 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: i apologize for cloning your repository and attempting to use it. you may wish to modify your public README to better indicate new users are not welcome. i will not be returning. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-686861668 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 4 07:20:36 2020 From: notifications at github.com (Tobias Pape) Date: Fri, 04 Sep 2020 00:20:36 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: :( -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-686965293 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 4 12:58:40 2020 From: notifications at github.com (smalltalking) Date: Fri, 04 Sep 2020 05:58:40 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: > you may wish to modify your public README to better indicate new users are not welcome. That would be a lie, as new users are welcome here. What should be written there is that the Pharo VMs in this repository are obsolete and unsupported. I see little to no value in having them built by the CI, but someone seems to disagree with that idea, as they are still there. Their presence may even be a source of confusion. If Pharo 8 was really released with a VM from this repository, then that was a mistake by the Pharo team. If you need a Pharo VM, you'll find it at [https://github.com/pharo-project/opensmalltalk-vm](https://github.com/pharo-project/opensmalltalk-vm). -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-687128055 -------------- next part -------------- An HTML attachment was scrubbed... URL: From pierce at samadhiweb.com Sat Sep 5 01:47:24 2020 From: pierce at samadhiweb.com (Pierce Ng) Date: Sat, 5 Sep 2020 09:47:24 +0800 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: <20200905014724.GA32696@localhost.localdomain> On Thu, Sep 03, 2020 at 03:03:50AM -0700, IcedQuinn wrote: > the VM was from this repo, that is why i reported it here. the cmake > files in this repo default to turning "pharo branding" on. i launched > a squeak 5 image and it did appear to throw out any primitive failures > and the stock code browser was working correctly. the VM also said to > report here how to get it working since it did not recognize where > libc was. Hi, I've built the OpenSmalltalk VM on Alpine Linux for use with Pharo. Entire build process happens within Docker. Take a look: https://github.com/pharo-contributions/Docker-Alpine/tree/master/vm.build The modified source to build on Alpine comes from my fork: https://github.com/PierceNg/opensmalltalk-vm/tree/pierce_alpine_839a5ca The hex string at the end of the branch name is the OpenSmalltalk commitish the branch is based on. This VM runs my blog in an Alpine Linux Docker container. HTH. Pierce From notifications at github.com Sat Sep 5 10:29:02 2020 From: notifications at github.com (Tobias Pape) Date: Sat, 05 Sep 2020 03:29:02 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Hi Pierce, thanks for the info, but I don't see how these changes can alleviate the primitive erros. But that said, maybe i can investigate the whole thing with the docker image, thank you. -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-687586463 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Sat Sep 5 10:29:05 2020 From: notifications at github.com (Tobias Pape) Date: Sat, 05 Sep 2020 03:29:05 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Reopened #519. -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#event-3732814039 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Sat Sep 5 23:17:05 2020 From: notifications at github.com (Ken Dickey) Date: Sat, 05 Sep 2020 16:17:05 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] MUSL deltas (mostly harmless) (#450) In-Reply-To: References: Message-ID: Greetings all, The vm-display-fbdev (a.k.a. framebuffer display) has been integrated into opensmalltalk-vm. Thanks Eliot! This has been tested with both Squeak and Cuis images on amd64 and arm64/aarch64. This requires Linux framebuffer support (/dev/fb0) and libevdev ('/usr/include/libevdev-1.0/libevdev/libevdev.h'). Hardware tested: LePotato (aml-s905x-cc; Armbian Linux; libc) Raspberry Pi 3 & 4 (Alpine Linux; MUSL) A very old Dell amd64 box (Alpine Linux; MUSL) Right now the MUSL builds require manual help. E.g. cd build.linux64ARMv8/squeak.cog.spur/build ./mvm y ## answer to 'clean?' --> breaks on vm-display-fbdev build cd vm-display-fbdev make cd .. ./mvm n ## answer NO to 'clean?' The build then proceeds to completion and checks out fine. Does anyone out there know about how to get 'automake' ('platforms/unix/config/configure' script) to do the right thing here? Desired goal is for -DMUSL and -DUSEEVDEV CFLAGS to be set and have the 'mvm' script make vm-display-fbdev without manual intervention. Thanks a bunch for any help! -KenD -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/450#issuecomment-687674852 -------------- next part -------------- An HTML attachment was scrubbed... URL: From sean at clipperadams.com Sun Sep 6 03:51:16 2020 From: sean at clipperadams.com (Sean DeNigris) Date: Sat, 5 Sep 2020 23:51:16 -0400 Subject: [Vm-dev] OpenSmalltalk Cooperation Weekly Roundup Message-ID: <1B43C6A2-F068-4BA0-8203-24A6F0D08248@clipperadams.com> A few highlights of cooperation between Cuis, Pharo, and Squeak this week... Squeak (and GToolkit) support has been officially added to PharoLauncher. Thanks to Christophe Demarey for merging my extensions so quickly! It is included in the [latest CI build](https://ci.inria.fr/pharo-ci-jenkins2/job/PharoLauncher-Pipeline/job/dev/lastSuccessfulBuild/artifact/) by default. If you'd rather play with it in the [latest released version](https://github.com/pharo-project/pharo-launcher/releases/tag/2.2), you can load the `enh_vm-image-custom-hooks` issue branch from [my fork](https://github.com/seandenigris/pharo-launcher) and make sure the `PharoLauncher-Squeak` package gets loaded. [RISCV](https://github.com/darth-cheney/safe-bet ) is now available in Pharo, as well as Squeak, thanks to Eric Gade (aka darth-cheney) [OSProcess-Tonel](https://github.com/dtlewis290/OSProcess-Tonel ), which allows OSP to be run in Pharo, has received an update, thanks to David Lewis. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Sun Sep 6 08:42:56 2020 From: notifications at github.com (Pierce Ng) Date: Sun, 06 Sep 2020 01:42:56 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: I read the first message again. ``` PrimitiveFailed: primitive #'insufficient object memory' in File class failed ``` This looks familiar. When a Pharo 8 image starts, at some point it sends ```#primFileMasks``` to File, and I get a primitive failed error like the above on my laptop running Ubuntu 20.04. The version of OpenSmalltalk VM that I built on this laptop is as follows: ``` % ./pharo --version 5.0-202007070220 Wed Jul 8 19:29:26 +08 2020 clang [Production Spur 64-bit VM] CoInterpreter VMMaker.oscog-eem.2772 uuid: 925a3892-829d-4417-bd5b-1a6a26678025 Jul 8 2020 StackToRegisterMappingCogit VMMaker.oscog-eem.2771 uuid: a7ba3af0-70cc-4104-be1b-8895f533ed7b Jul 8 2020 VM: 202007070220 pierce at Mailin:work/git/opensmalltalk/opensmalltalk-vm Date: Mon Jul 6 19:20:02 2020 CommitHash: 839a5cab0 Plugins: 202007070220 pierce at Mailin:work/git/opensmalltalk/opensmalltalk-vm Linux Mailin 5.4.0-39-generic #43-Ubuntu SMP Fri Jun 19 10:28:31 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux plugin path: /home/pierce/pkg/osvmp8/ [default: /home/pierce/pkg/osvmp8/] ``` I have an older version of the VM as well, built on another laptop that has since crashed: ``` % ./pharo -version 5.0-201808291622 Thu Sep 20 22:32:45 +08 2018 gcc 5.4.0 [Production Spur 64-bit VM] CoInterpreter VMMaker.oscog-eem.2437 uuid: 0e97c106-dd0b-437b-b1aa-e15257288c3f Sep 20 2018 StackToRegisterMappingCogit VMMaker.oscog-eem.2432 uuid: 7b14d114-0e04-4e46-b8a7-4b5e6d87f5fe Sep 20 2018 VM: 201808291622 pierce at othas:src/st/opensmalltalk-vm Date: Wed Aug 29 09:22:35 2018 CommitHash: d952580 Plugins: 201808291622 pierce at othas:src/st/opensmalltalk-vm Linux othas 4.4.0-134-generic #160-Ubuntu SMP Wed Aug 15 14:58:00 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux plugin path: /home/pierce/pkg/osvmp6/ [default: /home/pierce/pkg/osvmp6/] ``` With this version, ```File primFileMasks``` produces the following which I hope is the expected output: ``` #(61440 49152 40960 32768 24576 16384 8192 4096) ``` If I copy the older VM's ```FileAttributePlugin.so``` over the newer VM's, it produces the same output on Pharo 8 with the newer VM, no primitive error. I don't know the VM internals enough to investigate, but looks like it is possible to start bisecting from VMMaker.oscog-eem.2772 and VMMaker.oscog-eem.2437 or thereabouts. -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-687727374 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Sun Sep 6 13:02:44 2020 From: notifications at github.com (smalltalking) Date: Sun, 06 Sep 2020 06:02:44 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: The main difference I see is that the "old" code created an Array while the "new" tries to create a WordArray. https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3a4ebae28c183dd49ea9e494cd7bcd2ec0d687fa#diff-04cbc775a3686446b844a93e1520e706R755 -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-687784008 -------------- next part -------------- An HTML attachment was scrubbed... URL: From gettimothy at zoho.com Sun Sep 6 15:52:27 2020 From: gettimothy at zoho.com (gettimothy) Date: Sun, 06 Sep 2020 11:52:27 -0400 Subject: [Vm-dev] OpenSmalltalk Cooperation Weekly Roundup In-Reply-To: <1B43C6A2-F068-4BA0-8203-24A6F0D08248@clipperadams.com> References: <1B43C6A2-F068-4BA0-8203-24A6F0D08248@clipperadams.com> Message-ID: <174641e649b.dad7362410345.6026580629560750215@zoho.com> Great stuff, thanks for this effort! ---- On Sat, 05 Sep 2020 23:51:16 -0400 Sean DeNigris wrote ---- A few highlights of cooperation between Cuis, Pharo, and Squeak this week... Squeak (and GToolkit) support has been officially added to PharoLauncher. Thanks to Christophe Demarey for merging my extensions so quickly! It is included in the [latest CI build](https://ci.inria.fr/pharo-ci-jenkins2/job/PharoLauncher-Pipeline/job/dev/lastSuccessfulBuild/artifact/) by default. If you'd rather play with it in the [latest released version](https://github.com/pharo-project/pharo-launcher/releases/tag/2.2), you can load the `enh_vm-image-custom-hooks` issue branch from [my fork](https://github.com/seandenigris/pharo-launcher) and make sure the `PharoLauncher-Squeak` package gets loaded. [RISCV](https://github.com/darth-cheney/safe-bet) is now available in Pharo, as well as Squeak, thanks to Eric Gade (aka darth-cheney) [OSProcess-Tonel](https://github.com/dtlewis290/OSProcess-Tonel), which allows OSP to be run in Pharo, has received an update, thanks to David Lewis. -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Sun Sep 6 16:14:40 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sun, 6 Sep 2020 16:14:40 0000 Subject: [Vm-dev] VM Maker: FileAttributesPlugin.oscog-eem.56.mcz Message-ID: Eliot Miranda uploaded a new version of FileAttributesPlugin to project VM Maker: http://source.squeak.org/VMMaker/FileAttributesPlugin.oscog-eem.56.mcz ==================== Summary ==================== Name: FileAttributesPlugin.oscog-eem.56 Author: eem Time: 6 September 2020, 9:14:39.365605 am UUID: b6bd12ab-9540-4cea-9032-a39fb4fb7308 Ancestors: FileAttributesPlugin.oscog-eem.55 Fix regression in FileAttributesPlugin>>primitiveFileMasks in Pharo images. Only Squeak/Cuis can expect WordArray to be present in the specialObjctsArray. Pharo is missing out on native support for the four widths of non-obhect array, but that's its perogative, and the Vm has to remain backward-compatible. Mea culpa. =============== Diff against FileAttributesPlugin.oscog-eem.55 =============== Item was changed: ----- Method: FileAttributesPlugin>>primitiveFileMasks (in category 'file primitives') ----- primitiveFileMasks + "Answer an array (or word array) of well known file masks" - "Answer an array of well known file masks" + self cppIf: PharoVM + ifTrue: [self primitiveFileMasksAsArray] + ifFalse: [self primitiveFileMasksAsWordArray]! - | masksObj masks | - - masksObj := interpreterProxy instantiateClass: interpreterProxy classWordArray indexableSize: 8. - masksObj ifNil: [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. - masks := self cCoerceSimple: (interpreterProxy firstIndexableField: masksObj) to: #'int *'. - masks at: 0 put: (self cCode: [#S_IFMT] inSmalltalk: [16rF000]). - - self cppIf: #S_IFSOCK defined ifTrue: - [masks at: 1 put: (self cCode: [#S_IFSOCK] inSmalltalk: [16rC000])]. - - self cppIf: #S_IFLNK defined ifTrue: - [masks at: 2 put: (self cCode: [#S_IFLNK] inSmalltalk: [16rA000])]. - - masks at: 3 put: (self cCode: [#S_IFREG] inSmalltalk: [16r8000]). - - self cppIf: #S_IFBLK defined ifTrue: - [masks at: 4 put: (self cCode: [#S_IFBLK] inSmalltalk: [16r6000])]. - - masks at: 5 put: (self cCode: [#S_IFDIR] inSmalltalk: [16r4000]). - - masks at: 6 put: (self cCode: [#S_IFCHR] inSmalltalk: [16r2000]). - - self cppIf: #S_IFIFO defined ifTrue: - [masks at: 7 put: (self cCode: [#S_IFIFO] inSmalltalk: [16r1000])]. - - interpreterProxy methodReturnValue: masksObj! Item was added: + ----- Method: FileAttributesPlugin>>primitiveFileMasksAsArray (in category 'file primitives') ----- + primitiveFileMasksAsArray + "Answer an array of well known file masks" + + + + | masksArray masks nilObj | + masksArray := interpreterProxy instantiateClass: interpreterProxy classArray indexableSize: 8. + masksArray ifNil: [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. + + masks := self cCoerceSimple: (interpreterProxy firstIndexableField: masksArray) to: #'sqInt *'. + nilObj := interpreterProxy nilObject. + + self cppIf: #S_IFSOCK defined + ifTrue: [masks at: 1 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFSOCK] inSmalltalk: [16rC000]))] + ifFalse: [masks at: 1 put: nilObj]. + + self cppIf: #S_IFLNK defined + ifTrue: [masks at: 2 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFLNK] inSmalltalk: [16rA000]))] + ifFalse: [masks at: 1 put: nilObj]. + + masks at: 3 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFREG] inSmalltalk: [16r8000])). + + self cppIf: #S_IFBLK defined + ifTrue: [masks at: 4 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFBLK] inSmalltalk: [16r6000]))] + ifFalse: [masks at: 1 put: nilObj]. + + masks at: 5 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFDIR] inSmalltalk: [16r4000])). + + masks at: 6 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFCHR] inSmalltalk: [16r2000])). + + self cppIf: #S_IFIFO defined + ifTrue: [masks at: 7 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFIFO] inSmalltalk: [16r1000]))] + ifFalse: [masks at: 1 put: nilObj]. + + interpreterProxy methodReturnValue: masksArray! Item was added: + ----- Method: FileAttributesPlugin>>primitiveFileMasksAsWordArray (in category 'file primitives') ----- + primitiveFileMasksAsWordArray + "Answer an array of well known file masks" + + + + | masksObj masks | + masksObj := interpreterProxy instantiateClass: interpreterProxy classWordArray indexableSize: 8. + masksObj ifNil: [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. + masks := self cCoerceSimple: (interpreterProxy firstIndexableField: masksObj) to: #'int *'. + masks at: 0 put: (self cCode: [#S_IFMT] inSmalltalk: [16rF000]). + + self cppIf: #S_IFSOCK defined ifTrue: + [masks at: 1 put: (self cCode: [#S_IFSOCK] inSmalltalk: [16rC000])]. + + self cppIf: #S_IFLNK defined ifTrue: + [masks at: 2 put: (self cCode: [#S_IFLNK] inSmalltalk: [16rA000])]. + + masks at: 3 put: (self cCode: [#S_IFREG] inSmalltalk: [16r8000]). + + self cppIf: #S_IFBLK defined ifTrue: + [masks at: 4 put: (self cCode: [#S_IFBLK] inSmalltalk: [16r6000])]. + + masks at: 5 put: (self cCode: [#S_IFDIR] inSmalltalk: [16r4000]). + + masks at: 6 put: (self cCode: [#S_IFCHR] inSmalltalk: [16r2000]). + + self cppIf: #S_IFIFO defined ifTrue: + [masks at: 7 put: (self cCode: [#S_IFIFO] inSmalltalk: [16r1000])]. + + interpreterProxy methodReturnValue: masksObj! From noreply at github.com Sun Sep 6 16:18:41 2020 From: noreply at github.com (Eliot Miranda) Date: Sun, 06 Sep 2020 09:18:41 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] e58cec: CogVM source as per FileAttributesPlugin.oscog-eem.56 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: e58cec1e82b60535dbe666b511c1c2198f7921f9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e58cec1e82b60535dbe666b511c1c2198f7921f9 Author: Eliot Miranda Date: 2020-09-06 (Sun, 06 Sep 2020) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- CogVM source as per FileAttributesPlugin.oscog-eem.56 Fix regression in FileAttributesPlugin>>primitiveFileMasks in Pharo images. Only Squeak/Cuis can expect WordArray to be present in the specialObjectsArray. Pharo is missing out on native support for the four widths of non-object arrays, but that's its perogative, and the VM has to remain backward-compatible. Mea culpa. From notifications at github.com Sun Sep 6 16:21:34 2020 From: notifications at github.com (Eliot Miranda) Date: Sun, 06 Sep 2020 09:21:34 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Should be fixed by https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e58cec1e82b60535dbe666b511c1c2198f7921f9. Please test to confirm and close if ok. -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-687832590 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sun Sep 6 16:22:13 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 06 Sep 2020 16:22:13 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2154 Message-ID: <20200906162213.1.120451767122509B@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sun Sep 6 16:39:39 2020 From: builds at travis-ci.org (Travis CI) Date: Sun, 06 Sep 2020 16:39:39 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2155 (Cog - e58cec1) In-Reply-To: Message-ID: <5f5510cb2ca52_13fbc8d4b673c393fd@travis-tasks-5bff74f56b-6wb4m.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2155 Status: Still Failing Duration: 20 mins and 19 secs Commit: e58cec1 (Cog) Author: Eliot Miranda Message: CogVM source as per FileAttributesPlugin.oscog-eem.56 Fix regression in FileAttributesPlugin>>primitiveFileMasks in Pharo images. Only Squeak/Cuis can expect WordArray to be present in the specialObjectsArray. Pharo is missing out on native support for the four widths of non-object arrays, but that's its perogative, and the VM has to remain backward-compatible. Mea culpa. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/f02e420fcf47...e58cec1e82b6 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/724685256?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Sun Sep 6 16:56:21 2020 From: notifications at github.com (Tobias Pape) Date: Sun, 06 Sep 2020 09:56:21 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Thank you! -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-687840921 -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Sun Sep 6 21:21:18 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sun, 6 Sep 2020 21:21:18 0000 Subject: [Vm-dev] VM Maker: Cog-eem.406.mcz Message-ID: Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.406.mcz ==================== Summary ==================== Name: Cog-eem.406 Author: eem Time: 6 September 2020, 2:21:17.20077 pm UUID: 907886af-dbe6-4d02-afb2-07c0b1e1754b Ancestors: Cog-eem.405 Modernize the CogProcessorAlien disassembly and error and log primitives. =============== Diff against Cog-eem.405 =============== Item was changed: ----- Method: ProcessorSimulatorPlugin>>primitiveDisassembleAt:InMemory: (in category 'primitives') ----- + "cpuAlien " primitiveDisassembleAt: address "" InMemory: memory "" - "cpuAlien " primitiveDisassembleAt: address "" InMemory: memory "" "Return an Array of the instruction length and its decompilation as a string for the instruction at address in memory." + | cpuAlien cpu instrLenOrErr resultObj log logLen logObj | - | cpuAlien cpu instrLenOrErr resultObj log logLen logObj logObjData | - cpuAlien := self primitive: #primitiveDisassembleAtInMemory parameters: #(SmallInteger WordsOrBytes) receiver: #Oop. (cpu := self cCoerceSimple: (self startOfData: cpuAlien) to: #'void *') = 0 ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadReceiver]. instrLenOrErr := self disassembleFor: cpu At: address In: memory Size: (interpreterProxy byteSizeOf: memory cPtrAsOop). instrLenOrErr < 0 ifTrue: [^interpreterProxy primitiveFailForOSError: instrLenOrErr negated]. + log := self getlog: (self addressOf: logLen put: [:v| logLen := v]). - log := self getlog: (self cCode: [self addressOf: logLen] inSmalltalk: [logLen := 0]). resultObj := interpreterProxy instantiateClass: interpreterProxy classArray indexableSize: 2. + resultObj ifNil: - resultObj = 0 ifTrue: [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. "Easier keeping the damn thing on the stack than using pushRemappableOop:/popRemappableOop. Where is topRemappableOop when you need it?" interpreterProxy pushRemappableOop: resultObj. logObj := interpreterProxy instantiateClass: interpreterProxy classString indexableSize: logLen. - interpreterProxy failed ifTrue: - [interpreterProxy popRemappableOop. - ^interpreterProxy primitiveFailFor: PrimErrNoMemory]. - logObjData := interpreterProxy arrayValueOf: logObj. - self mem: logObjData cp: log y: logLen. resultObj := interpreterProxy popRemappableOop. + logObj ifNil: + [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. + self mem: (interpreterProxy firstIndexableField: logObj) cp: log y: logLen. interpreterProxy + storeInteger: 0 ofObject: resultObj withValue: instrLenOrErr; + storePointer: 1 ofObject: resultObj withValue: logObj. - storePointer: 0 - ofObject: resultObj - withValue: (interpreterProxy integerObjectOf: instrLenOrErr). - interpreterProxy storePointer: 1 ofObject: resultObj withValue: logObj. ^resultObj! Item was changed: ----- Method: ProcessorSimulatorPlugin>>primitiveErrorAndLog (in category 'primitives') ----- primitiveErrorAndLog + | log logLen resultObj logObj | - | log logLen resultObj logObj logObjData | - self primitive: #primitiveErrorAndLog parameters: #(). + log := self getlog: (self addressOf: logLen put: [:v| logLen := v]). - log := self getlog: (self cCode: [self addressOf: logLen] inSmalltalk: [logLen := 0]). resultObj := interpreterProxy instantiateClass: interpreterProxy classArray indexableSize: 2. + resultObj ifNil: - resultObj = 0 ifTrue: [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. + interpreterProxy storeInteger: 0 ofObject: resultObj withValue: self errorAcorn. - interpreterProxy - storePointer: 0 - ofObject: resultObj - withValue: (interpreterProxy integerObjectOf: self errorAcorn). logLen > 0 ifTrue: [interpreterProxy pushRemappableOop: resultObj. logObj := interpreterProxy instantiateClass: interpreterProxy classString indexableSize: logLen. - interpreterProxy failed ifTrue: - [interpreterProxy popRemappableOop. - ^interpreterProxy primitiveFailFor: PrimErrNoMemory]. - resultObj := interpreterProxy popRemappableOop. + logObj ifNil: + [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. + self mem: (interpreterProxy firstIndexableField: logObj) cp: log y: logLen. - logObjData := interpreterProxy arrayValueOf: logObj. - self mem: logObjData cp: log y: logLen. interpreterProxy storePointer: 1 ofObject: resultObj withValue: logObj]. + interpreterProxy methodReturnValue: resultObj! - interpreterProxy pop: 1 thenPush: resultObj! From commits at source.squeak.org Sun Sep 6 23:52:56 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sun, 6 Sep 2020 23:52:56 0000 Subject: [Vm-dev] VM Maker: Cog-eem.407.mcz Message-ID: Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.407.mcz ==================== Summary ==================== Name: Cog-eem.407 Author: eem Time: 6 September 2020, 4:52:54.530597 pm UUID: f2b34e4b-e15c-463a-af8f-47f3d8b5ccc5 Ancestors: Cog-eem.406 tiny cleanup - part of a cleanup across packages. =============== Diff against Cog-eem.406 =============== Item was changed: ----- Method: SpurMtoNBitImageConverter>>nilWordSize (in category 'bootstrap image') ----- nilWordSize | wordSizeSym | wordSizeSym := self findSymbol: #WordSize. targetHeap allOldSpaceObjectsDo: [:o| ((targetHeap rawNumSlotsOf: o) > ValueIndex and: [(targetHeap isFixedSizePointerFormat: (targetHeap formatOf: o)) and: [(targetHeap fetchPointer: KeyIndex ofObject: o) = wordSizeSym and: [(targetHeap fetchPointer: ValueIndex ofObject: o) = (targetHeap integerObjectOf: sourceHeap bytesPerOop)]]]) ifTrue: + [targetHeap storePointerUnchecked: ValueIndex ofObject: o withValue: targetHeap nilObject]]! - [targetHeap storePointer: ValueIndex ofObject: o withValue: targetHeap nilObject]]! From commits at source.squeak.org Sun Sep 6 23:58:57 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sun, 6 Sep 2020 23:58:57 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2800.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2800.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2800 Author: eem Time: 6 September 2020, 4:58:47.598839 pm UUID: a6116113-df13-435d-968d-e9b111676754 Ancestors: VMMaker.oscog-eem.2799 Use shared code for string results. Use storePointerUnchecked: storeInteger: in a few appropriate places. =============== Diff against VMMaker.oscog-eem.2799 =============== Item was changed: ----- Method: CogVMSimulator>>startInContextSuchThat: (in category 'simulation only') ----- startInContextSuchThat: aBlock "Change the active process's suspendedContext to its sender, which short-cuts the initialization of the system. This can be a short-cut to running code, e.g. when doing Smalltalk saveAs. Compiler recompileAll via e.g. vm startInContextSuchThat: [:ctxt| (vm stringOf: (vm penultimateLiteralOf: (vm methodForContext: ctxt))) = 'DoIt']" | context activeProc | activeProc := self activeProcess. context := objectMemory fetchPointer: SuspendedContextIndex ofObject: activeProc. [context = objectMemory nilObject ifTrue: [^self error: 'no context found']. aBlock value: context] whileFalse: [context := objectMemory fetchPointer: SenderIndex ofObject: context]. objectMemory storePointer: SuspendedContextIndex ofObject: activeProc withValue: context. "Now push a dummy return value." objectMemory + storePointerUnchecked: (self fetchStackPointerOf: context) + CtxtTempFrameStart - storePointer: (self fetchStackPointerOf: context) + CtxtTempFrameStart ofObject: context withValue: objectMemory nilObject. self storeInteger: StackPointerIndex ofObject: context withValue: (self fetchStackPointerOf: context) + 1! Item was changed: ----- Method: InterpreterPrimitives>>primitiveGetWindowLabel (in category 'I/O primitives') ----- primitiveGetWindowLabel "Primitive. Answer the OS window's label" - | ptr sz labelOop | - + self methodReturnString: self ioGetWindowLabel! - ptr := self ioGetWindowLabel. - ptr == nil ifTrue:[^self success: false]. - sz := self strlen: ptr. - labelOop := objectMemory instantiateClass: objectMemory classString indexableSize: sz. - 0 to: sz-1 do:[:i| objectMemory storeByte: i ofObject: labelOop withValue: (ptr at: i)]. - self pop: argumentCount+1 thenPush: labelOop! Item was changed: ----- Method: StackInterpreterSimulator>>startInContextSuchThat: (in category 'simulation only') ----- startInContextSuchThat: aBlock "Change the active process's suspendedContext to its sender, which short-cuts the initialization of the system. This can be a short-cut to running code, e.g. when doing Smalltalk saveAs. Compiler recompileAll via e.g. vm startInContextSuchThat: [:ctxt| (vm stringOf: (vm penultimateLiteralOf: (vm methodForContext: ctxt))) = 'DoIt']" | context activeProc | activeProc := self activeProcess. context := objectMemory fetchPointer: SuspendedContextIndex ofObject: activeProc. [context = objectMemory nilObject ifTrue: [self error: 'no context found']. aBlock value: context] whileFalse: [context := objectMemory fetchPointer: SenderIndex ofObject: context]. objectMemory storePointer: SuspendedContextIndex ofObject: activeProc withValue: context. "Now push a dummy return value." objectMemory + storePointerUnchecked: (self fetchStackPointerOf: context) + CtxtTempFrameStart - storePointer: (self fetchStackPointerOf: context) + CtxtTempFrameStart ofObject: context withValue: objectMemory nilObject. self storeInteger: StackPointerIndex ofObject: context withValue: (self fetchStackPointerOf: context) + 1! Item was changed: ----- Method: StackInterpreterSimulator>>startInSender (in category 'simulation only') ----- startInSender "Change the active process's suspendedContext to its sender, which short-cuts the initialization of the system. This can be a short-cut to running code, e.g. when doing Smalltalk saveAs. Compiler recompileAll" | activeContext activeProc senderContext | activeProc := self activeProcess. activeContext := objectMemory fetchPointer: SuspendedContextIndex ofObject: activeProc. senderContext := objectMemory fetchPointer: SenderIndex ofObject: activeContext. objectMemory storePointer: SuspendedContextIndex ofObject: activeProc withValue: senderContext. "Now push a dummy return value." objectMemory + storePointerUnchecked: (self fetchStackPointerOf: senderContext) + CtxtTempFrameStart - storePointer: (self fetchStackPointerOf: senderContext) + CtxtTempFrameStart ofObject: senderContext withValue: objectMemory nilObject. self storeInteger: StackPointerIndex ofObject: senderContext withValue: (self fetchStackPointerOf: senderContext) + 1! Item was changed: ----- Method: ThreadedFFIPlugin>>ffiLoadCalloutAddress: (in category 'symbol loading') ----- ffiLoadCalloutAddress: lit "Load the address of the foreign function from the given object" | addressPtr address ptr | "Lookup the address" addressPtr := interpreterProxy fetchPointer: 0 ofObject: lit. "Make sure it's an external handle" address := self ffiContentsOfHandle: addressPtr errCode: FFIErrorBadAddress. interpreterProxy failed ifTrue: [^0]. address = 0 ifTrue:"Go look it up in the module" [self externalFunctionHasStackSizeSlot ifTrue: + [interpreterProxy storeInteger: ExternalFunctionStackSizeIndex ofObject: lit withValue: -1]. - [interpreterProxy - storePointer: ExternalFunctionStackSizeIndex - ofObject: lit - withValue: (interpreterProxy integerObjectOf: -1)]. (interpreterProxy slotSizeOf: lit) < 5 ifTrue: [^self ffiFail: FFIErrorNoModule]. address := self ffiLoadCalloutAddressFrom: lit. interpreterProxy failed ifTrue: [^0]. "Store back the address" ptr := interpreterProxy firstIndexableField: addressPtr. ptr at: 0 put: address]. ^address! From notifications at github.com Mon Sep 7 02:06:20 2020 From: notifications at github.com (Pierce Ng) Date: Sun, 06 Sep 2020 19:06:20 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Eliot, Thank you. I made the below changes to FileAttributesPlugin.c. With these changes, ```File primFileMasks``` on Pharo 8 produces output and no longer throws primitive failed error. ``` --- a/src/plugins/FileAttributesPlugin/FileAttributesPlugin.c +++ b/src/plugins/FileAttributesPlugin/FileAttributesPlugin.c @@ -97,7 +97,7 @@ EXPORT(sqInt) primitiveClosedir(void); EXPORT(sqInt) primitiveFileAttribute(void); EXPORT(sqInt) primitiveFileAttributes(void); EXPORT(sqInt) primitiveFileExists(void); -static sqInt primitiveFileMasks(void); +EXPORT(sqInt) primitiveFileMasks(void); EXPORT(sqInt) primitiveLogicalDrives(void); EXPORT(sqInt) primitiveOpendir(void); EXPORT(sqInt) primitivePathMax(void); @@ -746,7 +746,7 @@ primitiveFileExists(void) /* Answer an array (or word array) of well known file masks */ /* FileAttributesPlugin>>#primitiveFileMasks */ -static sqInt +EXPORT(sqInt) primitiveFileMasks(void) { sqInt * masks; @@ -765,6 +765,7 @@ primitiveFileMasks(void) } masks = ((sqInt *) (firstIndexableField(masksArray))); nilObj = nilObject(); + masks[0] = (integerObjectOf(S_IFMT)); # if defined(S_IFSOCK) masks[1] = (integerObjectOf(S_IFSOCK)); # else ``` -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-687978877 -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Mon Sep 7 03:11:16 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 03:11:16 0000 Subject: [Vm-dev] VM Maker: FileAttributesPlugin.oscog-eem.57.mcz Message-ID: Eliot Miranda uploaded a new version of FileAttributesPlugin to project VM Maker: http://source.squeak.org/VMMaker/FileAttributesPlugin.oscog-eem.57.mcz ==================== Summary ==================== Name: FileAttributesPlugin.oscog-eem.57 Author: eem Time: 6 September 2020, 8:11:15.189519 pm UUID: 6f82e8ad-42c9-484c-8b96-2c7b400f9208 Ancestors: FileAttributesPlugin.oscog-eem.56 Recind the rush of blood to the head. Since the specialObjectsArray was only changed in Squeak in January make primitiveFileMasks use WordArrya only when available. Also, thanks to Pierce, fix the regression in forgetting to export the first switch-hitting version. Use common code for string return. =============== Diff against FileAttributesPlugin.oscog-eem.56 =============== Item was changed: ----- Method: FileAttributesPlugin>>primitiveFileMasks (in category 'file primitives') ----- primitiveFileMasks "Answer an array (or word array) of well known file masks" + + | maybeClassWordArray | + maybeClassWordArray := interpreterProxy classWordArray. + maybeClassWordArray = interpreterProxy nilObject - - self cppIf: PharoVM ifTrue: [self primitiveFileMasksAsArray] + ifFalse: [self primitiveFileMasksAsWordArrayUsing: maybeClassWordArray]! - ifFalse: [self primitiveFileMasksAsWordArray]! Item was changed: ----- Method: FileAttributesPlugin>>primitiveFileMasksAsArray (in category 'file primitives') ----- primitiveFileMasksAsArray "Answer an array of well known file masks" - | masksArray masks nilObj | masksArray := interpreterProxy instantiateClass: interpreterProxy classArray indexableSize: 8. masksArray ifNil: [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. masks := self cCoerceSimple: (interpreterProxy firstIndexableField: masksArray) to: #'sqInt *'. nilObj := interpreterProxy nilObject. self cppIf: #S_IFSOCK defined ifTrue: [masks at: 1 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFSOCK] inSmalltalk: [16rC000]))] ifFalse: [masks at: 1 put: nilObj]. self cppIf: #S_IFLNK defined ifTrue: [masks at: 2 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFLNK] inSmalltalk: [16rA000]))] ifFalse: [masks at: 1 put: nilObj]. masks at: 3 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFREG] inSmalltalk: [16r8000])). self cppIf: #S_IFBLK defined ifTrue: [masks at: 4 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFBLK] inSmalltalk: [16r6000]))] ifFalse: [masks at: 1 put: nilObj]. masks at: 5 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFDIR] inSmalltalk: [16r4000])). masks at: 6 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFCHR] inSmalltalk: [16r2000])). self cppIf: #S_IFIFO defined ifTrue: [masks at: 7 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFIFO] inSmalltalk: [16r1000]))] ifFalse: [masks at: 1 put: nilObj]. interpreterProxy methodReturnValue: masksArray! Item was removed: - ----- Method: FileAttributesPlugin>>primitiveFileMasksAsWordArray (in category 'file primitives') ----- - primitiveFileMasksAsWordArray - "Answer an array of well known file masks" - - - - | masksObj masks | - masksObj := interpreterProxy instantiateClass: interpreterProxy classWordArray indexableSize: 8. - masksObj ifNil: [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. - masks := self cCoerceSimple: (interpreterProxy firstIndexableField: masksObj) to: #'int *'. - masks at: 0 put: (self cCode: [#S_IFMT] inSmalltalk: [16rF000]). - - self cppIf: #S_IFSOCK defined ifTrue: - [masks at: 1 put: (self cCode: [#S_IFSOCK] inSmalltalk: [16rC000])]. - - self cppIf: #S_IFLNK defined ifTrue: - [masks at: 2 put: (self cCode: [#S_IFLNK] inSmalltalk: [16rA000])]. - - masks at: 3 put: (self cCode: [#S_IFREG] inSmalltalk: [16r8000]). - - self cppIf: #S_IFBLK defined ifTrue: - [masks at: 4 put: (self cCode: [#S_IFBLK] inSmalltalk: [16r6000])]. - - masks at: 5 put: (self cCode: [#S_IFDIR] inSmalltalk: [16r4000]). - - masks at: 6 put: (self cCode: [#S_IFCHR] inSmalltalk: [16r2000]). - - self cppIf: #S_IFIFO defined ifTrue: - [masks at: 7 put: (self cCode: [#S_IFIFO] inSmalltalk: [16r1000])]. - - interpreterProxy methodReturnValue: masksObj! Item was added: + ----- Method: FileAttributesPlugin>>primitiveFileMasksAsWordArrayUsing: (in category 'file primitives') ----- + primitiveFileMasksAsWordArrayUsing: classWordArray + "Answer an array of well known file masks" + + + | masksObj masks | + masksObj := interpreterProxy instantiateClass: classWordArray indexableSize: 8. + masksObj ifNil: [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. + masks := self cCoerceSimple: (interpreterProxy firstIndexableField: masksObj) to: #'int *'. + masks at: 0 put: (self cCode: [#S_IFMT] inSmalltalk: [16rF000]). + + self cppIf: #S_IFSOCK defined ifTrue: + [masks at: 1 put: (self cCode: [#S_IFSOCK] inSmalltalk: [16rC000])]. + + self cppIf: #S_IFLNK defined ifTrue: + [masks at: 2 put: (self cCode: [#S_IFLNK] inSmalltalk: [16rA000])]. + + masks at: 3 put: (self cCode: [#S_IFREG] inSmalltalk: [16r8000]). + + self cppIf: #S_IFBLK defined ifTrue: + [masks at: 4 put: (self cCode: [#S_IFBLK] inSmalltalk: [16r6000])]. + + masks at: 5 put: (self cCode: [#S_IFDIR] inSmalltalk: [16r4000]). + + masks at: 6 put: (self cCode: [#S_IFCHR] inSmalltalk: [16r2000]). + + self cppIf: #S_IFIFO defined ifTrue: + [masks at: 7 put: (self cCode: [#S_IFIFO] inSmalltalk: [16r1000])]. + + interpreterProxy methodReturnValue: masksObj! Item was changed: ----- Method: FileAttributesPlugin>>primitiveVersionString (in category 'file primitives') ----- primitiveVersionString "Answer a string containing the version string for this plugin." + interpreterProxy methodReturnString: self versionString! - interpreterProxy pop: 1 thenPush: (self stringFromCString: self versionString) - ! Item was removed: - ----- Method: FileAttributesPlugin>>stringFromCString: (in category 'private') ----- - stringFromCString: aCString - "Answer a new String copied from a null-terminated C string. - Caution: This may invoke the garbage collector." - - | len newString | - - len := self strlen: aCString. - newString := interpreterProxy - instantiateClass: interpreterProxy classString - indexableSize: len. - newString ifNil: [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. - self strncpy: (interpreterProxy arrayValueOf: newString) - _: aCString - _: len. "(char *)strncpy()" - ^ newString - ! From noreply at github.com Mon Sep 7 03:15:43 2020 From: noreply at github.com (Eliot Miranda) Date: Sun, 06 Sep 2020 20:15:43 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] b6f3f2: CogVM source as per FileAttributesPlugin.oscog-eem.57 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: b6f3f2f12e84dfd1c7f4defe27c1cdc909e63e8b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b6f3f2f12e84dfd1c7f4defe27c1cdc909e63e8b Author: Eliot Miranda Date: 2020-09-06 (Sun, 06 Sep 2020) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- CogVM source as per FileAttributesPlugin.oscog-eem.57 Recind the rush of blood to the head. Since the specialObjectsArray was only changed in Squeak in January make primitiveFileMasks use WordArray only when available (a WordArray is smaller and faster to access). Also, thanks to Pierce fix the regression in forgetting to export the first switch-hitting version. Use common code for string return. From no-reply at appveyor.com Mon Sep 7 03:19:10 2020 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 07 Sep 2020 03:19:10 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2155 Message-ID: <20200907031910.1.394F8734B2AF235D@appveyor.com> An HTML attachment was scrubbed... URL: From commits at source.squeak.org Mon Sep 7 03:21:00 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 03:21:00 0000 Subject: [Vm-dev] VM Maker: FileAttributesPlugin.oscog-eem.58.mcz Message-ID: Eliot Miranda uploaded a new version of FileAttributesPlugin to project VM Maker: http://source.squeak.org/VMMaker/FileAttributesPlugin.oscog-eem.58.mcz ==================== Summary ==================== Name: FileAttributesPlugin.oscog-eem.58 Author: eem Time: 6 September 2020, 8:20:59.63722 pm UUID: cc44bb82-2ef7-4610-9f12-d884da5a1d86 Ancestors: FileAttributesPlugin.oscog-eem.57 Sigh; no need to store nils in a new Array. =============== Diff against FileAttributesPlugin.oscog-eem.57 =============== Item was changed: ----- Method: FileAttributesPlugin>>primitiveFileMasksAsArray (in category 'file primitives') ----- primitiveFileMasksAsArray "Answer an array of well known file masks" + | masksArray masks | - | masksArray masks nilObj | masksArray := interpreterProxy instantiateClass: interpreterProxy classArray indexableSize: 8. masksArray ifNil: [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. masks := self cCoerceSimple: (interpreterProxy firstIndexableField: masksArray) to: #'sqInt *'. - nilObj := interpreterProxy nilObject. + self cppIf: #S_IFSOCK defined ifTrue: + [masks at: 1 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFSOCK] inSmalltalk: [16rC000]))]. - self cppIf: #S_IFSOCK defined - ifTrue: [masks at: 1 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFSOCK] inSmalltalk: [16rC000]))] - ifFalse: [masks at: 1 put: nilObj]. + self cppIf: #S_IFLNK defined ifTrue: + [masks at: 2 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFLNK] inSmalltalk: [16rA000]))]. - self cppIf: #S_IFLNK defined - ifTrue: [masks at: 2 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFLNK] inSmalltalk: [16rA000]))] - ifFalse: [masks at: 1 put: nilObj]. masks at: 3 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFREG] inSmalltalk: [16r8000])). + self cppIf: #S_IFBLK defined ifTrue: + [masks at: 4 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFBLK] inSmalltalk: [16r6000]))]. - self cppIf: #S_IFBLK defined - ifTrue: [masks at: 4 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFBLK] inSmalltalk: [16r6000]))] - ifFalse: [masks at: 1 put: nilObj]. masks at: 5 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFDIR] inSmalltalk: [16r4000])). masks at: 6 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFCHR] inSmalltalk: [16r2000])). + self cppIf: #S_IFIFO defined ifTrue: + [masks at: 7 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFIFO] inSmalltalk: [16r1000]))]. - self cppIf: #S_IFIFO defined - ifTrue: [masks at: 7 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFIFO] inSmalltalk: [16r1000]))] - ifFalse: [masks at: 1 put: nilObj]. interpreterProxy methodReturnValue: masksArray! From commits at source.squeak.org Mon Sep 7 03:24:49 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 03:24:49 0000 Subject: [Vm-dev] VM Maker: FileAttributesPlugin.oscog-eem.59.mcz Message-ID: Eliot Miranda uploaded a new version of FileAttributesPlugin to project VM Maker: http://source.squeak.org/VMMaker/FileAttributesPlugin.oscog-eem.59.mcz ==================== Summary ==================== Name: FileAttributesPlugin.oscog-eem.59 Author: eem Time: 6 September 2020, 8:24:48.563945 pm UUID: 9ba1691a-0301-4e11-9903-c2a0aa91cee4 Ancestors: FileAttributesPlugin.oscog-eem.58 And fix yet another regression in eliding the first element (S_IFMT) by mistake. =============== Diff against FileAttributesPlugin.oscog-eem.58 =============== Item was changed: ----- Method: FileAttributesPlugin>>primitiveFileMasksAsArray (in category 'file primitives') ----- primitiveFileMasksAsArray "Answer an array of well known file masks" | masksArray masks | masksArray := interpreterProxy instantiateClass: interpreterProxy classArray indexableSize: 8. masksArray ifNil: [^interpreterProxy primitiveFailFor: PrimErrNoMemory]. masks := self cCoerceSimple: (interpreterProxy firstIndexableField: masksArray) to: #'sqInt *'. + masks at: 0 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFMT] inSmalltalk: [16rF000])). + self cppIf: #S_IFSOCK defined ifTrue: [masks at: 1 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFSOCK] inSmalltalk: [16rC000]))]. self cppIf: #S_IFLNK defined ifTrue: [masks at: 2 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFLNK] inSmalltalk: [16rA000]))]. masks at: 3 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFREG] inSmalltalk: [16r8000])). self cppIf: #S_IFBLK defined ifTrue: [masks at: 4 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFBLK] inSmalltalk: [16r6000]))]. masks at: 5 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFDIR] inSmalltalk: [16r4000])). masks at: 6 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFCHR] inSmalltalk: [16r2000])). self cppIf: #S_IFIFO defined ifTrue: [masks at: 7 put: (interpreterProxy integerObjectOf: (self cCode: [#S_IFIFO] inSmalltalk: [16r1000]))]. interpreterProxy methodReturnValue: masksArray! From noreply at github.com Mon Sep 7 03:28:40 2020 From: noreply at github.com (Eliot Miranda) Date: Sun, 06 Sep 2020 20:28:40 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 62947b: CogVM source as per FileAttributesPlugin.oscog-eem.59 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 62947b65273df1c9b15754920e62842bfe85b39e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/62947b65273df1c9b15754920e62842bfe85b39e Author: Eliot Miranda Date: 2020-09-06 (Sun, 06 Sep 2020) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- CogVM source as per FileAttributesPlugin.oscog-eem.59 And fix yet another regression in eliding the first element (S_IFMT) in the Array version by mistake. From no-reply at appveyor.com Mon Sep 7 03:32:45 2020 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 07 Sep 2020 03:32:45 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2156 Message-ID: <20200907033245.1.0A5C6ACEB5072EAA@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Sep 7 03:36:54 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 07 Sep 2020 03:36:54 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2156 (Cog - b6f3f2f) In-Reply-To: Message-ID: <5f55aad641658_13fe6d7d1e4dc9791b@travis-tasks-7d69456988-vpnbp.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2156 Status: Still Failing Duration: 20 mins and 39 secs Commit: b6f3f2f (Cog) Author: Eliot Miranda Message: CogVM source as per FileAttributesPlugin.oscog-eem.57 Recind the rush of blood to the head. Since the specialObjectsArray was only changed in Squeak in January make primitiveFileMasks use WordArray only when available (a WordArray is smaller and faster to access). Also, thanks to Pierce fix the regression in forgetting to export the first switch-hitting version. Use common code for string return. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/e58cec1e82b6...b6f3f2f12e84 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/724787119?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Sep 7 03:52:39 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 07 Sep 2020 03:52:39 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2157 (Cog - 62947b6) In-Reply-To: Message-ID: <5f55ae86df9dd_13f952b613f782209a6@travis-tasks-7d69456988-4gxj8.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2157 Status: Still Failing Duration: 23 mins and 24 secs Commit: 62947b6 (Cog) Author: Eliot Miranda Message: CogVM source as per FileAttributesPlugin.oscog-eem.59 And fix yet another regression in eliding the first element (S_IFMT) in the Array version by mistake. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/b6f3f2f12e84...62947b65273d View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/724788611?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Mon Sep 7 12:45:47 2020 From: noreply at github.com (Tobias Pape) Date: Mon, 07 Sep 2020 05:45:47 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Message-ID: Branch: refs/heads/krono/288-withImageSize Home: https://github.com/OpenSmalltalk/opensmalltalk-vm From commits at source.squeak.org Mon Sep 7 20:41:11 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 20:41:11 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2801.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2801.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2801 Author: eem Time: 7 September 2020, 1:41:02.917292 pm UUID: 2b0b2f8d-d2f7-46f6-b2ff-ab143629b4ee Ancestors: VMMaker.oscog-eem.2800 Warning et al must take a const char * argument to avoid C++ warnings/errors. One can only pass a string constant to a const char * in C++. =============== Diff against VMMaker.oscog-eem.2800 =============== Item was changed: ----- Method: CoInterpreter>>error: (in category 'cog jit support') ----- error: aString + - super error: aString! Item was changed: ----- Method: CoInterpreter>>warning: (in category 'cog jit support') ----- warning: aString + - self transcript cr; nextPutAll: aString; flush! Item was added: + ----- Method: CoInterpreter>>warning:at: (in category 'cog jit support') ----- + warning: aString at: lineNumber + + + self transcript cr; nextPutAll: aString; space; print: lineNumber; flush! Item was changed: ----- Method: InterpreterProxy>>error: (in category 'other') ----- error: aString + - "In the real VM this prints aString to stderr and then calls exit(-1) or abort()." ^super error: aString! Item was changed: ----- Method: StackInterpreter class>>preambleCCode (in category 'translation') ----- preambleCCode ^ '/* Disable Intel compiler inlining of warning which is used for breakpoints */ #pragma auto_inline(off) sqInt warnpid, erroronwarn; EXPORT(void) + warning(const char *s) { /* Print an error message but don''t necessarily exit. */ - warning(char *s) { /* Print an error message but don''t necessarily exit. */ if (erroronwarn) error(s); if (warnpid) printf("\n%s pid %ld\n", s, (long)warnpid); else printf("\n%s\n", s); } EXPORT(void) + warningat(const char *s, int l) { /* ditto with line number. */ - warningat(char *s, int l) { /* ditto with line number. */ /* use alloca to call warning so one does not have to remember to set two breakpoints... */ char *sl = alloca(strlen(s) + 16); sprintf(sl, "%s %d", s, l); warning(sl); } #pragma auto_inline(on) '! From commits at source.squeak.org Mon Sep 7 20:55:58 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 20:55:58 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2802.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2802.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2802 Author: eem Time: 7 September 2020, 1:55:48.172053 pm UUID: 599172af-2cce-44a4-9004-23bd36c89807 Ancestors: VMMaker.oscog-eem.2801 No point inlining methodReturnString: ever. =============== Diff against VMMaker.oscog-eem.2801 =============== Item was changed: ----- Method: StackInterpreter>>methodReturnString: (in category 'plugin primitive support') ----- methodReturnString: aCString "Attempt to answer a ByteString for a given C string as the result of a primitive." + self deny: self failed. aCString ifNil: [primFailCode := PrimErrOperationFailed] ifNotNil: [(objectMemory stringForCString: aCString) ifNil: [primFailCode := PrimErrNoMemory] ifNotNil: [:result| self pop: argumentCount+1 thenPush: result]]. ^0! From noreply at github.com Mon Sep 7 21:27:08 2020 From: noreply at github.com (Eliot Miranda) Date: Mon, 07 Sep 2020 14:27:08 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 9d44f9: CogVM source as per Name: VMMaker.oscog-eem.2802 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 9d44f97ef7c1dd199ff93efef8f896aecf4c9694 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9d44f97ef7c1dd199ff93efef8f896aecf4c9694 Author: Eliot Miranda Date: 2020-09-07 (Mon, 07 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Mac OS/vm/sqMacMain.c M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/unix/vm/sqUnixMain.c M platforms/win32/vm/sqWin32Main.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per Name: VMMaker.oscog-eem.2802 Warning et al must take a const char * argument to avoid C++ warnings/errors. One can only pass a string constant to a const char * in C++. Use shared code for string results. Use storePointerUnchecked: storeInteger: in a few appropriate places. From no-reply at appveyor.com Mon Sep 7 21:33:50 2020 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 07 Sep 2020 21:33:50 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2157 Message-ID: <20200907213350.1.BF09C8133A86E616@appveyor.com> An HTML attachment was scrubbed... URL: From commits at source.squeak.org Mon Sep 7 21:42:42 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 21:42:42 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2803.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2803.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2803 Author: eem Time: 7 September 2020, 2:42:33.555473 pm UUID: 6584359e-d7b8-46dd-bb76-b631d9977a57 Ancestors: VMMaker.oscog-eem.2802 StackInterpreter: Fix a regression on Cygwin. Cygwin's setjmp.h defines _setjmp. Undefine to get to our own definition. =============== Diff against VMMaker.oscog-eem.2802 =============== Item was changed: ----- Method: StackInterpreter class>>preambleCCode (in category 'translation') ----- preambleCCode ^ '/* Disable Intel compiler inlining of warning which is used for breakpoints */ #pragma auto_inline(off) sqInt warnpid, erroronwarn; EXPORT(void) warning(const char *s) { /* Print an error message but don''t necessarily exit. */ if (erroronwarn) error(s); if (warnpid) printf("\n%s pid %ld\n", s, (long)warnpid); else printf("\n%s\n", s); } EXPORT(void) warningat(const char *s, int l) { /* ditto with line number. */ /* use alloca to call warning so one does not have to remember to set two breakpoints... */ char *sl = alloca(strlen(s) + 16); sprintf(sl, "%s %d", s, l); warning(sl); } #pragma auto_inline(on) + + /* Some setjmp.h''s, e.g. cygwin''s define _setjmp. Undefine to get to our own. */ + #if defined(_setjmp) + # undef _setjmp + #endif '! From builds at travis-ci.org Mon Sep 7 21:49:43 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 07 Sep 2020 21:49:43 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2158 (Cog - 9d44f97) In-Reply-To: Message-ID: <5f56aaf6a4853_13f98e74cda1493386@travis-tasks-586b5d99b8-zz7hk.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2158 Status: Errored Duration: 21 mins and 58 secs Commit: 9d44f97 (Cog) Author: Eliot Miranda Message: CogVM source as per Name: VMMaker.oscog-eem.2802 Warning et al must take a const char * argument to avoid C++ warnings/errors. One can only pass a string constant to a const char * in C++. Use shared code for string results. Use storePointerUnchecked: storeInteger: in a few appropriate places. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/62947b65273d...9d44f97ef7c1 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/725057714?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Mon Sep 7 21:50:08 2020 From: noreply at github.com (Eliot Miranda) Date: Mon, 07 Sep 2020 14:50:08 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] d04e68: Win32 cleanups: Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: d04e6837742b6821f623c5296cccde1f44745f6f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d04e6837742b6821f623c5296cccde1f44745f6f Author: Eliot Miranda Date: 2020-09-07 (Mon, 07 Sep 2020) Changed paths: M build.win32x86/common/Makefile.msvc.flags M build.win32x86/common/Makefile.msvc.tools M build.win64x64/common/Makefile.tools M platforms/win32/plugins/B3DAcceleratorPlugin/Makefile.msvc M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c Log Message: ----------- Win32 cleanups: if is not a function call. Clang-cl does not appear to support x86. B3DPlugin needs user32.dll From no-reply at appveyor.com Mon Sep 7 21:53:35 2020 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 07 Sep 2020 21:53:35 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2158 Message-ID: <20200907215335.1.D66D9BC51C4ADAF1@appveyor.com> An HTML attachment was scrubbed... URL: From noreply at github.com Mon Sep 7 21:54:05 2020 From: noreply at github.com (Eliot Miranda) Date: Mon, 07 Sep 2020 14:54:05 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1b896e: CogVM sources as per VMMaker.oscog-eem.2803 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 1b896e93195458099ac6cb27c5bb85dec66501d2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1b896e93195458099ac6cb27c5bb85dec66501d2 Author: Eliot Miranda Date: 2020-09-07 (Mon, 07 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/vm/sq.h M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM sources as per VMMaker.oscog-eem.2803 StackInterpreter: Fix a regression on Cygwin. Cygwin's setjmp.h defines _setjmp. Undefine to get to our own definition. Ensure various definitions for error agree to the letter. b3dMain.c should not need to define warning. From no-reply at appveyor.com Mon Sep 7 21:57:52 2020 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 07 Sep 2020 21:57:52 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2159 Message-ID: <20200907215752.1.F8F99D63CA72D01C@appveyor.com> An HTML attachment was scrubbed... URL: From commits at source.squeak.org Mon Sep 7 22:04:38 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 22:04:38 0000 Subject: [Vm-dev] VM Maker Inbox: VMMaker.oscog-eem.2803.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker Inbox: http://source.squeak.org/VMMakerInbox/VMMaker.oscog-eem.2803.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2803 Author: eem Time: 7 September 2020, 2:42:33.555473 pm UUID: 6584359e-d7b8-46dd-bb76-b631d9977a57 Ancestors: VMMaker.oscog-eem.2802 StackInterpreter: Fix a regression on Cygwin. Cygwin's setjmp.h defines _setjmp. Undefine to get to our own definition. =============== Diff against VMMaker.oscog-eem.2802 =============== Item was changed: ----- Method: StackInterpreter class>>preambleCCode (in category 'translation') ----- preambleCCode ^ '/* Disable Intel compiler inlining of warning which is used for breakpoints */ #pragma auto_inline(off) sqInt warnpid, erroronwarn; EXPORT(void) warning(const char *s) { /* Print an error message but don''t necessarily exit. */ if (erroronwarn) error(s); if (warnpid) printf("\n%s pid %ld\n", s, (long)warnpid); else printf("\n%s\n", s); } EXPORT(void) warningat(const char *s, int l) { /* ditto with line number. */ /* use alloca to call warning so one does not have to remember to set two breakpoints... */ char *sl = alloca(strlen(s) + 16); sprintf(sl, "%s %d", s, l); warning(sl); } #pragma auto_inline(on) + + /* Some setjmp.h''s, e.g. cygwin''s define _setjmp. Undefine to get to our own. */ + #if defined(_setjmp) + # undef _setjmp + #endif '! From commits at source.squeak.org Mon Sep 7 22:04:44 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 22:04:44 0000 Subject: [Vm-dev] VM Maker Inbox: VMMaker.oscog-eem.2803.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker Inbox: http://source.squeak.org/VMMakerInbox/VMMaker.oscog-eem.2803.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2803 Author: eem Time: 7 September 2020, 2:42:33.555473 pm UUID: 6584359e-d7b8-46dd-bb76-b631d9977a57 Ancestors: VMMaker.oscog-eem.2802 StackInterpreter: Fix a regression on Cygwin. Cygwin's setjmp.h defines _setjmp. Undefine to get to our own definition. =============== Diff against VMMaker.oscog-eem.2802 =============== Item was changed: ----- Method: StackInterpreter class>>preambleCCode (in category 'translation') ----- preambleCCode ^ '/* Disable Intel compiler inlining of warning which is used for breakpoints */ #pragma auto_inline(off) sqInt warnpid, erroronwarn; EXPORT(void) warning(const char *s) { /* Print an error message but don''t necessarily exit. */ if (erroronwarn) error(s); if (warnpid) printf("\n%s pid %ld\n", s, (long)warnpid); else printf("\n%s\n", s); } EXPORT(void) warningat(const char *s, int l) { /* ditto with line number. */ /* use alloca to call warning so one does not have to remember to set two breakpoints... */ char *sl = alloca(strlen(s) + 16); sprintf(sl, "%s %d", s, l); warning(sl); } #pragma auto_inline(on) + + /* Some setjmp.h''s, e.g. cygwin''s define _setjmp. Undefine to get to our own. */ + #if defined(_setjmp) + # undef _setjmp + #endif '! From commits at source.squeak.org Mon Sep 7 22:04:51 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 22:04:51 0000 Subject: [Vm-dev] VM Maker Inbox: VMMaker.oscog-eem.2803.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker Inbox: http://source.squeak.org/VMMakerInbox/VMMaker.oscog-eem.2803.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2803 Author: eem Time: 7 September 2020, 2:42:33.555473 pm UUID: 6584359e-d7b8-46dd-bb76-b631d9977a57 Ancestors: VMMaker.oscog-eem.2802 StackInterpreter: Fix a regression on Cygwin. Cygwin's setjmp.h defines _setjmp. Undefine to get to our own definition. =============== Diff against VMMaker.oscog-eem.2802 =============== Item was changed: ----- Method: StackInterpreter class>>preambleCCode (in category 'translation') ----- preambleCCode ^ '/* Disable Intel compiler inlining of warning which is used for breakpoints */ #pragma auto_inline(off) sqInt warnpid, erroronwarn; EXPORT(void) warning(const char *s) { /* Print an error message but don''t necessarily exit. */ if (erroronwarn) error(s); if (warnpid) printf("\n%s pid %ld\n", s, (long)warnpid); else printf("\n%s\n", s); } EXPORT(void) warningat(const char *s, int l) { /* ditto with line number. */ /* use alloca to call warning so one does not have to remember to set two breakpoints... */ char *sl = alloca(strlen(s) + 16); sprintf(sl, "%s %d", s, l); warning(sl); } #pragma auto_inline(on) + + /* Some setjmp.h''s, e.g. cygwin''s define _setjmp. Undefine to get to our own. */ + #if defined(_setjmp) + # undef _setjmp + #endif '! From commits at source.squeak.org Mon Sep 7 22:04:58 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 22:04:58 0000 Subject: [Vm-dev] VM Maker Inbox: VMMaker.oscog-eem.2803.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker Inbox: http://source.squeak.org/VMMakerInbox/VMMaker.oscog-eem.2803.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2803 Author: eem Time: 7 September 2020, 2:42:33.555473 pm UUID: 6584359e-d7b8-46dd-bb76-b631d9977a57 Ancestors: VMMaker.oscog-eem.2802 StackInterpreter: Fix a regression on Cygwin. Cygwin's setjmp.h defines _setjmp. Undefine to get to our own definition. =============== Diff against VMMaker.oscog-eem.2802 =============== Item was changed: ----- Method: StackInterpreter class>>preambleCCode (in category 'translation') ----- preambleCCode ^ '/* Disable Intel compiler inlining of warning which is used for breakpoints */ #pragma auto_inline(off) sqInt warnpid, erroronwarn; EXPORT(void) warning(const char *s) { /* Print an error message but don''t necessarily exit. */ if (erroronwarn) error(s); if (warnpid) printf("\n%s pid %ld\n", s, (long)warnpid); else printf("\n%s\n", s); } EXPORT(void) warningat(const char *s, int l) { /* ditto with line number. */ /* use alloca to call warning so one does not have to remember to set two breakpoints... */ char *sl = alloca(strlen(s) + 16); sprintf(sl, "%s %d", s, l); warning(sl); } #pragma auto_inline(on) + + /* Some setjmp.h''s, e.g. cygwin''s define _setjmp. Undefine to get to our own. */ + #if defined(_setjmp) + # undef _setjmp + #endif '! From commits at source.squeak.org Mon Sep 7 22:05:04 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 22:05:04 0000 Subject: [Vm-dev] VM Maker Inbox: VMMaker.oscog-eem.2803.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker Inbox: http://source.squeak.org/VMMakerInbox/VMMaker.oscog-eem.2803.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2803 Author: eem Time: 7 September 2020, 2:42:33.555473 pm UUID: 6584359e-d7b8-46dd-bb76-b631d9977a57 Ancestors: VMMaker.oscog-eem.2802 StackInterpreter: Fix a regression on Cygwin. Cygwin's setjmp.h defines _setjmp. Undefine to get to our own definition. =============== Diff against VMMaker.oscog-eem.2802 =============== Item was changed: ----- Method: StackInterpreter class>>preambleCCode (in category 'translation') ----- preambleCCode ^ '/* Disable Intel compiler inlining of warning which is used for breakpoints */ #pragma auto_inline(off) sqInt warnpid, erroronwarn; EXPORT(void) warning(const char *s) { /* Print an error message but don''t necessarily exit. */ if (erroronwarn) error(s); if (warnpid) printf("\n%s pid %ld\n", s, (long)warnpid); else printf("\n%s\n", s); } EXPORT(void) warningat(const char *s, int l) { /* ditto with line number. */ /* use alloca to call warning so one does not have to remember to set two breakpoints... */ char *sl = alloca(strlen(s) + 16); sprintf(sl, "%s %d", s, l); warning(sl); } #pragma auto_inline(on) + + /* Some setjmp.h''s, e.g. cygwin''s define _setjmp. Undefine to get to our own. */ + #if defined(_setjmp) + # undef _setjmp + #endif '! From commits at source.squeak.org Mon Sep 7 22:05:11 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 22:05:11 0000 Subject: [Vm-dev] VM Maker Inbox: VMMaker.oscog-eem.2803.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker Inbox: http://source.squeak.org/VMMakerInbox/VMMaker.oscog-eem.2803.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2803 Author: eem Time: 7 September 2020, 2:42:33.555473 pm UUID: 6584359e-d7b8-46dd-bb76-b631d9977a57 Ancestors: VMMaker.oscog-eem.2802 StackInterpreter: Fix a regression on Cygwin. Cygwin's setjmp.h defines _setjmp. Undefine to get to our own definition. =============== Diff against VMMaker.oscog-eem.2802 =============== Item was changed: ----- Method: StackInterpreter class>>preambleCCode (in category 'translation') ----- preambleCCode ^ '/* Disable Intel compiler inlining of warning which is used for breakpoints */ #pragma auto_inline(off) sqInt warnpid, erroronwarn; EXPORT(void) warning(const char *s) { /* Print an error message but don''t necessarily exit. */ if (erroronwarn) error(s); if (warnpid) printf("\n%s pid %ld\n", s, (long)warnpid); else printf("\n%s\n", s); } EXPORT(void) warningat(const char *s, int l) { /* ditto with line number. */ /* use alloca to call warning so one does not have to remember to set two breakpoints... */ char *sl = alloca(strlen(s) + 16); sprintf(sl, "%s %d", s, l); warning(sl); } #pragma auto_inline(on) + + /* Some setjmp.h''s, e.g. cygwin''s define _setjmp. Undefine to get to our own. */ + #if defined(_setjmp) + # undef _setjmp + #endif '! From commits at source.squeak.org Mon Sep 7 22:05:16 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 7 Sep 2020 22:05:16 0000 Subject: [Vm-dev] VM Maker Inbox: VMMaker.oscog-eem.2803.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker Inbox: http://source.squeak.org/VMMakerInbox/VMMaker.oscog-eem.2803.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2803 Author: eem Time: 7 September 2020, 2:42:33.555473 pm UUID: 6584359e-d7b8-46dd-bb76-b631d9977a57 Ancestors: VMMaker.oscog-eem.2802 StackInterpreter: Fix a regression on Cygwin. Cygwin's setjmp.h defines _setjmp. Undefine to get to our own definition. =============== Diff against VMMaker.oscog-eem.2802 =============== Item was changed: ----- Method: StackInterpreter class>>preambleCCode (in category 'translation') ----- preambleCCode ^ '/* Disable Intel compiler inlining of warning which is used for breakpoints */ #pragma auto_inline(off) sqInt warnpid, erroronwarn; EXPORT(void) warning(const char *s) { /* Print an error message but don''t necessarily exit. */ if (erroronwarn) error(s); if (warnpid) printf("\n%s pid %ld\n", s, (long)warnpid); else printf("\n%s\n", s); } EXPORT(void) warningat(const char *s, int l) { /* ditto with line number. */ /* use alloca to call warning so one does not have to remember to set two breakpoints... */ char *sl = alloca(strlen(s) + 16); sprintf(sl, "%s %d", s, l); warning(sl); } #pragma auto_inline(on) + + /* Some setjmp.h''s, e.g. cygwin''s define _setjmp. Undefine to get to our own. */ + #if defined(_setjmp) + # undef _setjmp + #endif '! From builds at travis-ci.org Mon Sep 7 22:12:14 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 07 Sep 2020 22:12:14 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2159 (Cog - d04e683) In-Reply-To: Message-ID: <5f56b03ddf891_13ff0d61e4be41520a7@travis-tasks-586b5d99b8-48qr2.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2159 Status: Errored Duration: 21 mins and 27 secs Commit: d04e683 (Cog) Author: Eliot Miranda Message: Win32 cleanups: if is not a function call. Clang-cl does not appear to support x86. B3DPlugin needs user32.dll View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/9d44f97ef7c1...d04e6837742b View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/725063616?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Sep 7 22:28:31 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 07 Sep 2020 22:28:31 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2160 (Cog - 1b896e9) In-Reply-To: Message-ID: <5f56b40f7f09e_13ff0dc5453dc16348a@travis-tasks-586b5d99b8-48qr2.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2160 Status: Errored Duration: 33 mins and 53 secs Commit: 1b896e9 (Cog) Author: Eliot Miranda Message: CogVM sources as per VMMaker.oscog-eem.2803 StackInterpreter: Fix a regression on Cygwin. Cygwin's setjmp.h defines _setjmp. Undefine to get to our own definition. Ensure various definitions for error agree to the letter. b3dMain.c should not need to define warning. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/d04e6837742b...1b896e931954 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/725064945?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Tue Sep 8 12:38:15 2020 From: notifications at github.com (Nicolas Cellier) Date: Tue, 08 Sep 2020 05:38:15 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] CogVM sources as per VMMaker.oscog-eem.2803 (1b896e9) In-Reply-To: References: Message-ID: Hi Eliot, unfortunately, it does not seem to work for mingw target (which is what we use, cygwin is just the compiling host, not the target). > ../../spur64src/vm/gcc3x-cointerp.c:13681:41: error: too few arguments to function call, expected 2, have 1 > if ((_setjmp(GIV(jmpBuf)[GIV(jmpDepth)])) == 0) { > ~~~~~~~ ^ > /usr/x86_64-w64-mingw32/sys-root/mingw/include/setjmp.h:242:3: note: '_setjmp' declared here > int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf _Buf, void *_Ctx); > ^ > Shouldn't we use a conflict-less `osvm_setjmp` and `osvm_longjmp` (or use sq prefix if you prefer) - and either define them as setjmp longjmp where it fits, or use our own implementation when it does not fit ? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1b896e93195458099ac6cb27c5bb85dec66501d2#commitcomment-42122148 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Tue Sep 8 16:41:59 2020 From: notifications at github.com (Eliot Miranda) Date: Tue, 08 Sep 2020 09:41:59 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] CogVM sources as per VMMaker.oscog-eem.2803 (1b896e9) In-Reply-To: References: Message-ID: I has hoping I could fix this in platforms/Cross/vm/sqSetjmpShim.h but so far I have not been able to. The issue is that mingw defines _setjmp, here's the definition that is used when clang is the compiler: # 242 "/usr/x86_64-w64-mingw32/sys-root/mingw/include/setjmp.h" 3 int __attribute__((__cdecl__)) __attribute__ ((__nothrow__,__returns_twice__)) So I tried a sqSetjmpShim.h like this: #if !defined(_WIN32) # undef setjmp # undef longjmp # define setjmp _setjmp # define longjmp _longjmp #endif /* mingw redeclares _setjmp so we have to provide an alternative */ #if __MINGW32__ || __MINGW64__ /* clang on cygwin/mingw */ int __attribute__((__nowthrow__,__returns_twice__)) _setjmp0(jmp_buf); # undef _setjmp # define _setjmp _setjmp0 #endif I know the code is being selected because if I preprocess via -E I see the declaration for _setjmp0. But the define of _setjmp is not seen and so invocations of _setjmp are not changed by the preprocessor into invocations of _setjmp0. Sigh... A reason to prefer redefine _setjmp itself rather than adding our own non-conflicting version is that if any library code included in a plugin uses setjmp/longjmp then the longjmp will likely fail unless it uses our code. The alternatives seem to be a) try and figure out why sqSetjmpShim.h is unable to map _setjmp to _setjmp0 and fix this b) if it cant be fixed, still define the symbols _setjmp and _setjmp0 in _setjmp-x64.asm (& _setjmp-x86.asm when we add it), have Slang emit osvm_setjmp and osvm_longjmp, and have sqSetjmpShim.h map osvm_setjmp and osvm_longjmp to _setjmp/_longjmp, and have _setjmp-x64.asm et al override all symbols for _setjmp/_longjmp, e.g. .text .globl setjmp .globl sigsetjmp .globl _setjmp .globl _setjmp0 .p2align 4, 0x90 setjmp: sigsetjmp: _setjmp: _setjmp0: .... -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1b896e93195458099ac6cb27c5bb85dec66501d2#commitcomment-42130255 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Wed Sep 9 00:05:10 2020 From: notifications at github.com (Pierce Ng) Date: Tue, 08 Sep 2020 17:05:10 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Tested successfully with https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1b896e93195458099ac6cb27c5bb85dec66501d2. Thank you Eliot. -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#issuecomment-689200893 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Wed Sep 9 06:07:41 2020 From: notifications at github.com (Eliot Miranda) Date: Tue, 08 Sep 2020 23:07:41 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Insufficient Object Memory: Building on Alpine (#519) In-Reply-To: References: Message-ID: Closed #519. -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/519#event-3744056118 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Wed Sep 9 06:31:28 2020 From: notifications at github.com (Nicolas Cellier) Date: Tue, 08 Sep 2020 23:31:28 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] CogVM sources as per VMMaker.oscog-eem.2803 (1b896e9) In-Reply-To: References: Message-ID: Ah OK, what we can do is define our own `osvm_setjmp` in the .asm, then `#define setjmp osvm_setjmp` when `#ifdef WIN64`, and use `setjmp` instead of `_setjmp` in VMMaker... Can it work? I don't think that using `_setjmp` directly in VMMaker is a good idea because too much implementation specific anyway. The cygwin/mingw makefiles must also be fixed for using the .asm, currently they do not. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1b896e93195458099ac6cb27c5bb85dec66501d2#commitcomment-42146642 -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Thu Sep 10 02:58:04 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Wed, 9 Sep 2020 19:58:04 -0700 Subject: [Vm-dev] [Pharo-dev] is there a way to know when a GC is happening? In-Reply-To: <191B8413-0F4D-4C93-8517-9F12C2555083@inria.fr> References: <191B8413-0F4D-4C93-8517-9F12C2555083@inria.fr> Message-ID: On Wed, Sep 9, 2020 at 5:49 AM Stéphane Ducasse wrote: > > Hi > > I would to be able to see when an incremental GC is happening. You can't. All GC activity happens while the mutator (the rest of the Smalltalk VM) has stopped executing. i.e. GC does not occur in parallel with the rest of the VM. > is there a way to know when a GC is happening? It is impossible, because effectively GCs happen between sends, and even between bytecodes. But the VM collects statistics that show how many GCs of the various kinds have occurred and how much time has been sent in them The statistics are made available through the vm parameterAt: primitives. They are typically displayed in a SystemReporter dialog. Here's an example from a Squeak image: Virtual Machine Statistics -------------------------- uptime 2d 5h 9m 56s (runtime 10h 27m 28s, idletime 1d 18h 42m 28s) memory 238,690,304 bytes old 229,738,272 bytes (96.2%) young 7,190,528 bytes (3%) used 198,213,464 bytes (83%) free 32,454,736 bytes (13.6%) GCs 110,155 (1737.5 ms between GCs 341.8 ms runtime between GCs) full 115 totalling 17,644 ms (0.05% runtime), avg 153.4 ms marking 6,600 ms (37.4%) avg 57.4 ms, compacting 11,044 ms (62.6%) avg 96 ms scavenges 110,040 totalling 68,213 ms (0.18% runtime), avg 0.6 ms tenures 82,870,154 (avg 753 tenures per scavenge) Code compactions 699 totalling 625 ms (0.002% runtime), avg 0.9 ms These times were collected on a 2.9 GHz Intel Core i9 MacBook Pro. A different question is can one be informed when a GC just happened? The current answer is no, but it would be very easy to add. In VisualWorks, for example, a WeakArray is primed with an Object instance, and this gets collected every scavenge. So the WeakArray is notified. From this VW builds a notification system. I would engineer it differently. If there is a Semaphore in either of two slots in the specialObjectsArray the VM could signal one Semaphore whenever a scavenge occurs and signal the other when a full GC occurs. P.S> can we please stop using the term "incremental GC" for a young space collection? In Spur the young space GC is a classic Ungar-style scavenger, so I like to call these GCs scavenges. Soon I hope that the Spur VM will have a proper incremental global GC. This will comprise a mark-sweep collector and a compactor fort old space, but both will operate incrementally. The mark phase will be done in increments, allowing very small pause times as marking proceeds. Likewise sweeping to free objects and especially compacting, to coalesce storage, will be done in small increments. So there will be pause times of the order of 2 or 3 millisecondes due to the incremental collector and overall the system will avoid the relatively long pauses the global GC causes. HTH _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From lecteur at zogotounga.net Thu Sep 10 10:54:12 2020 From: lecteur at zogotounga.net (=?UTF-8?Q?St=c3=a9phane_Rollandin?=) Date: Thu, 10 Sep 2020 12:54:12 +0200 Subject: [Vm-dev] [Pharo-dev] is there a way to know when a GC is happening? In-Reply-To: References: <191B8413-0F4D-4C93-8517-9F12C2555083@inria.fr> Message-ID: >   Soon I hope that the > Spur VM will have a proper incremental global GC. This will comprise a > mark-sweep collector and a compactor fort old space, but both will > operate incrementally.  The mark phase will be done in increments, > allowing very small pause times as marking proceeds.  Likewise sweeping > to free objects and especially compacting, to coalesce storage, will be > done in small increments.  So there will be pause times of the order of > 2 or 3 millisecondes due to the incremental collector and overall the > system will avoid the relatively long pauses the global GC causes. Excellent! Stef From notifications at github.com Thu Sep 10 18:13:46 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:13:46 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Bump minimal supported Windows version to Windows Vista (0x0600). (#499) In-Reply-To: References: Message-ID: wanna merge? care to first update `build.win64x64/common/Makefile.msvc.tools` ? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/499#issuecomment-690594179 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:16:00 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:16:00 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] MUSL deltas (mostly harmless) (#450) In-Reply-To: References: Message-ID: I think with the landing of #515, most things here are obsolete, and others need different treatment. Mind if I close? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/450#issuecomment-690595352 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:17:05 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:17:05 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] unix: use dlopen's lookup mechanism when not specifying a path (#497) In-Reply-To: References: Message-ID: We should lookt at this one more time -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/497#issuecomment-690596214 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:19:29 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:19:29 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: Ok, this is funny. On non-windows the `io..` ticks are used nearly exclusively for eventing. But if that's not helful ond Win32, lets go with the flow. @dtlewis290 , Do you know any reasons, why not to use the Windows time stamps? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-690597585 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:22:20 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:22:20 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] fix libgit2 makefile (#390) In-Reply-To: References: Message-ID: Since this doesnt do harm, as that part is essentially unused, just :shipit: -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/390#issuecomment-690599233 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Thu Sep 10 18:22:23 2020 From: noreply at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:22:23 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 0c2105: fix libgit2 makefile Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 0c2105f885b28e27122f20bedffa64276fd8263b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0c2105f885b28e27122f20bedffa64276fd8263b Author: Manuel Leuenberger Date: 2019-04-11 (Thu, 11 Apr 2019) Changed paths: M build.macos64x64/third-party/Makefile.libgit2 Log Message: ----------- fix libgit2 makefile Commit: 8e2fca0f6fad4a5a38b50f7a48f97df7c38f53c1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8e2fca0f6fad4a5a38b50f7a48f97df7c38f53c1 Author: Tobias Pape Date: 2020-09-10 (Thu, 10 Sep 2020) Changed paths: M build.macos64x64/third-party/Makefile.libgit2 Log Message: ----------- Merge pull request #390 from maenu/libgit2-make-fix fix libgit2 makefile Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/1b896e931954...8e2fca0f6fad From notifications at github.com Thu Sep 10 18:22:25 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:22:25 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] fix libgit2 makefile (#390) In-Reply-To: References: Message-ID: Merged #390 into Cog. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/390#event-3752496114 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:23:59 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:23:59 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Customization for Pharo & About Dialog (#388) In-Reply-To: References: Message-ID: I'm inclined to close. Any takers otherwise? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/388#issuecomment-690600253 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Sep 10 18:25:45 2020 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 10 Sep 2020 18:25:45 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2160 Message-ID: <20200910182545.1.4EABC5C21AE357E9@appveyor.com> An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:25:58 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:25:58 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] third-party: Stop building/using vulnerable software (#386) In-Reply-To: References: Message-ID: :shipit: :shrug: -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/386#issuecomment-690601266 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:26:04 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:26:04 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] third-party: Stop building/using vulnerable software (#386) In-Reply-To: References: Message-ID: Merged #386 into Cog. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/386#event-3752511275 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Thu Sep 10 18:26:02 2020 From: noreply at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:26:02 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 9db3e0: third-party: Stop building/using vulnerable software Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 9db3e055ba50f3cd3773de987cd7b146455fb420 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9db3e055ba50f3cd3773de987cd7b146455fb420 Author: Holger Hans Peter Freyther Date: 2019-03-28 (Thu, 28 Mar 2019) Changed paths: M third-party/libgit2.spec M third-party/libpng.spec M third-party/libssh2.spec M third-party/openssl.spec Log Message: ----------- third-party: Stop building/using vulnerable software Commit: 68c1865a87d7f4ab750bda1bc98d3588cd61ff74 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/68c1865a87d7f4ab750bda1bc98d3588cd61ff74 Author: Holger Hans Peter Freyther Date: 2019-03-28 (Thu, 28 Mar 2019) Changed paths: M build.linux64x64/third-party/Makefile.libgit2 M build.linux64x64/third-party/Makefile.libssh2 Log Message: ----------- Make it use the OpenSSL we built, let it find libssh2 * libssh2 would build against the host OpenSSL 1.1 and then try to resolve against the OpenSSL 1.0.1 leading to undefined symbols. Point the build to the right header files. * The new libgit2 would try to resolve our absolute path and then fail. Let pkg-config do its normal job and specify the look-up path. PS: Being in the business of building dependencies is a real liability. :( Commit: 4bc3d72ffe6adf42695eeae1acc7f2ea16bd72ed https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4bc3d72ffe6adf42695eeae1acc7f2ea16bd72ed Author: Holger Hans Peter Freyther Date: 2019-03-28 (Thu, 28 Mar 2019) Changed paths: M build.linux32ARMv6/third-party/Makefile.libgit2 M build.linux32x86/third-party/Makefile.libgit2 M build.linux64ARMv8/third-party/Makefile.libgit2 M build.macos32x86/third-party/Makefile.libgit2 M build.macos64x64/third-party/Makefile.libgit2 M build.win32x86/third-party/Makefile.libgit2 Log Message: ----------- update n code clones and deal with their speciality Note: In general there is little reason for treating these build configs differently. Thanks to the GNU (and GNU compatible) toolchain building them should be universal. Their respective buildsystems are already capable of handling platform differences already. Commit: 4e9b6c6de51e16d7e7c65b36d7438e373cd6f039 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4e9b6c6de51e16d7e7c65b36d7438e373cd6f039 Author: Holger Hans Peter Freyther Date: 2019-03-28 (Thu, 28 Mar 2019) Changed paths: M third-party/libpng.spec M third-party/libpng.spec.win Log Message: ----------- WIP.. move libpng16 forward for real.. Commit: 929b31da40e603281ab11e1df1948794cf330936 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/929b31da40e603281ab11e1df1948794cf330936 Author: Holger Hans Peter Freyther Date: 2019-03-29 (Fri, 29 Mar 2019) Changed paths: M third-party/libpng.spec Log Message: ----------- wip.. Commit: 6e2399c3d9c560f333802d9c6f16063ee71e24e3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6e2399c3d9c560f333802d9c6f16063ee71e24e3 Author: Tobias Pape Date: 2020-09-10 (Thu, 10 Sep 2020) Changed paths: M .appveyor.yml M .clang_complete A .editorconfig M .git_filters/RevDateURL.clean M .git_filters/RevDateURL.smudge M .gitattributes M .gitignore M .travis.yml M CMakeLists.txt M build.linux32ARMv6/HowToBuild M build.linux32ARMv6/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv6/newspeak.cog.spur/build/mvm M build.linux32ARMv6/newspeak.cog.spur/plugins.int M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv6/newspeak.stack.spur/build/mvm M build.linux32ARMv6/newspeak.stack.spur/plugins.int M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm M build.linux32ARMv6/pharo.cog.spur/build/mvm M build.linux32ARMv6/pharo.cog.spur/plugins.ext M build.linux32ARMv6/pharo.cog.spur/plugins.int M build.linux32ARMv6/squeak.cog.spur/build.assert/mvm M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm M build.linux32ARMv6/squeak.cog.spur/build/mvm M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.cog.spur/plugins.int M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm M build.linux32ARMv6/squeak.stack.spur/build/mvm M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.int M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm M build.linux32ARMv6/squeak.stack.v3/build/mvm M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.int M build.linux32ARMv7/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv7/newspeak.cog.spur/build/mvm M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv7/newspeak.stack.spur/build/mvm M build.linux32x86/gdbarm32/conf.COG M build.linux32x86/gdbarm32/makeem M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.assert/mvm M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.debug/mvm M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build/mvm M build.linux32x86/newspeak.cog.spur/plugins.int M build.linux32x86/newspeak.sista.spur/plugins.int M build.linux32x86/newspeak.stack.spur/build.assert/mvm M build.linux32x86/newspeak.stack.spur/build.debug/mvm M build.linux32x86/newspeak.stack.spur/build/mvm M build.linux32x86/newspeak.stack.spur/plugins.int M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.assert/mvm M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.debug/mvm M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build/mvm M build.linux32x86/nsnac.cog.spur/plugins.int M build.linux32x86/pharo.cog.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build/mvm M build.linux32x86/pharo.cog.spur.lowcode/plugins.ext M build.linux32x86/pharo.cog.spur.lowcode/plugins.int M build.linux32x86/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.assert/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build/mvm M build.linux32x86/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.assert/mvm M build.linux32x86/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.debug/mvm M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build/mvm M build.linux32x86/pharo.cog.spur/plugins.ext M build.linux32x86/pharo.cog.spur/plugins.int M build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.assert/mvm M build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.debug/mvm M build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build/mvm M build.linux32x86/pharo.sista.spur/plugins.ext M build.linux32x86/pharo.sista.spur/plugins.int M build.linux32x86/pharo.stack.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build/mvm M build.linux32x86/pharo.stack.spur.lowcode/plugins.ext M build.linux32x86/pharo.stack.spur.lowcode/plugins.int M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm M build.linux32x86/squeak.cog.spur.immutability/build/mvm M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.int M build.linux32x86/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.assert/mvm M build.linux32x86/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.debug/mvm M build.linux32x86/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build/mvm M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.int M build.linux32x86/squeak.cog.v3/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.assert/mvm M build.linux32x86/squeak.cog.v3/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.debug/mvm M build.linux32x86/squeak.cog.v3/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.assert/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.debug/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded/mvm M build.linux32x86/squeak.cog.v3/build/mvm M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.int M build.linux32x86/squeak.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.assert/mvm M build.linux32x86/squeak.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.debug/mvm M build.linux32x86/squeak.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build/mvm M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.int M build.linux32x86/squeak.stack.spur/build.assert/mvm M build.linux32x86/squeak.stack.spur/build.debug/mvm M build.linux32x86/squeak.stack.spur/build/mvm M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.int M build.linux32x86/squeak.stack.v3/build.assert/mvm M build.linux32x86/squeak.stack.v3/build.debug/mvm M build.linux32x86/squeak.stack.v3/build/mvm M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.int A build.linux64ARMv8/HowToBuild A build.linux64ARMv8/makeall A build.linux64ARMv8/makeallclean A build.linux64ARMv8/makeallmakefiles A build.linux64ARMv8/makeallsqueak R build.linux64ARMv8/pharo.cog.spur/apt-get-libs.sh R build.linux64ARMv8/pharo.cog.spur/build/mvm R build.linux64ARMv8/pharo.cog.spur/plugins.ext R build.linux64ARMv8/pharo.cog.spur/plugins.ext.all R build.linux64ARMv8/pharo.cog.spur/plugins.int M build.linux64ARMv8/pharo.stack.spur/build.debug/mvm M build.linux64ARMv8/pharo.stack.spur/build/mvm M build.linux64ARMv8/pharo.stack.spur/plugins.ext M build.linux64ARMv8/pharo.stack.spur/plugins.int A build.linux64ARMv8/squeak.cog.spur/build.assert/mvm A build.linux64ARMv8/squeak.cog.spur/build.debug/mvm A build.linux64ARMv8/squeak.cog.spur/build/mvm A build.linux64ARMv8/squeak.cog.spur/makeallclean A build.linux64ARMv8/squeak.cog.spur/makealldirty A build.linux64ARMv8/squeak.cog.spur/plugins.ext A build.linux64ARMv8/squeak.cog.spur/plugins.int M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M build.linux64ARMv8/squeak.stack.spur/plugins.ext M build.linux64ARMv8/squeak.stack.spur/plugins.int M build.linux64x64/gdbarm32/conf.COG M build.linux64x64/gdbarm32/makeem A build.linux64x64/gdbarm64/conf.COG A build.linux64x64/gdbarm64/makeem M build.linux64x64/makeallsqueak M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.assert/mvm M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.debug/mvm M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build/mvm M build.linux64x64/newspeak.cog.spur/plugins.int M build.linux64x64/newspeak.sista.spur/plugins.int M build.linux64x64/newspeak.stack.spur/build.assert/mvm M build.linux64x64/newspeak.stack.spur/build.debug/mvm M build.linux64x64/newspeak.stack.spur/build/mvm M build.linux64x64/newspeak.stack.spur/plugins.int M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.assert/mvm M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.debug/mvm M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build/mvm M build.linux64x64/nsnac.cog.spur/plugins.int M build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build/mvm M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M build.linux64x64/pharo.cog.spur/plugins.ext M build.linux64x64/pharo.cog.spur/plugins.int M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm M build.linux64x64/squeak.cog.spur.immutability/build/mvm M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/plugins.int M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.assert/mvm M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.debug/mvm M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build/mvm M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.int M build.linux64x64/squeak.stack.spur/build.assert/mvm M build.linux64x64/squeak.stack.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build/mvm M build.linux64x64/squeak.stack.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.int M build.macos32x86/HowToBuild M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos32x86/common/Makefile.lib.extra M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.rules M build.macos32x86/common/Makefile.vm R build.macos32x86/common/mkNamedPrims.sh M build.macos32x86/gdbarm32/conf.COG M build.macos32x86/gdbarm32/makeem A build.macos32x86/gdbarm64/conf.COG A build.macos32x86/gdbarm64/makeem M build.macos32x86/makeproduct M build.macos32x86/newspeak.cog.spur/plugins.int M build.macos32x86/newspeak.stack.spur/plugins.int M build.macos32x86/pharo.cog.spur.lowcode/plugins.int M build.macos32x86/pharo.cog.spur.minheadless/plugins.int M build.macos32x86/pharo.cog.spur/plugins.ext M build.macos32x86/pharo.cog.spur/plugins.int M build.macos32x86/pharo.sista.spur/plugins.int M build.macos32x86/pharo.stack.spur.lowcode/plugins.int M build.macos32x86/pharo.stack.spur/plugins.int M build.macos32x86/squeak.cog.spur+immutability/plugins.ext M build.macos32x86/squeak.cog.spur+immutability/plugins.int M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos32x86/squeak.cog.spur/plugins.int M build.macos32x86/squeak.cog.v3/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.int M build.macos32x86/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.stack.spur/plugins.int M build.macos32x86/squeak.stack.v3/plugins.ext A build.macos64ARMv8/HowToBuild A build.macos64ARMv8/bochsx64/conf.COG A build.macos64ARMv8/bochsx64/conf.COG.dbg A build.macos64ARMv8/bochsx64/exploration/Makefile A build.macos64ARMv8/bochsx64/makeclean A build.macos64ARMv8/bochsx64/makeem A build.macos64ARMv8/bochsx86/conf.COG A build.macos64ARMv8/bochsx86/conf.COG.dbg A build.macos64ARMv8/bochsx86/exploration/Makefile A build.macos64ARMv8/bochsx86/makeclean A build.macos64ARMv8/bochsx86/makeem A build.macos64ARMv8/common/Makefile.app A build.macos64ARMv8/common/Makefile.app.newspeak A build.macos64ARMv8/common/Makefile.app.squeak A build.macos64ARMv8/common/Makefile.flags A build.macos64ARMv8/common/Makefile.lib.extra A build.macos64ARMv8/common/Makefile.plugin A build.macos64ARMv8/common/Makefile.rules A build.macos64ARMv8/common/Makefile.sources A build.macos64ARMv8/common/Makefile.vm A build.macos64ARMv8/common/entitlements.plist A build.macos64ARMv8/gdbarm32/clean A build.macos64ARMv8/gdbarm32/conf.COG A build.macos64ARMv8/gdbarm32/makeem A build.macos64ARMv8/gdbarm64/clean A build.macos64ARMv8/gdbarm64/conf.COG A build.macos64ARMv8/gdbarm64/makeem A build.macos64ARMv8/makeall A build.macos64ARMv8/makeallinstall A build.macos64ARMv8/makeproduct A build.macos64ARMv8/makeproductinstall A build.macos64ARMv8/makesista A build.macos64ARMv8/makespur A build.macos64ARMv8/pharo.stack.spur.lowcode/Makefile A build.macos64ARMv8/pharo.stack.spur.lowcode/mvm A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.ext A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.int A build.macos64ARMv8/pharo.stack.spur/Makefile A build.macos64ARMv8/pharo.stack.spur/mvm A build.macos64ARMv8/pharo.stack.spur/plugins.ext A build.macos64ARMv8/pharo.stack.spur/plugins.int A build.macos64ARMv8/squeak.cog.spur.immutability/Makefile A build.macos64ARMv8/squeak.cog.spur.immutability/mvm A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.ext A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.int A build.macos64ARMv8/squeak.cog.spur/Makefile A build.macos64ARMv8/squeak.cog.spur/mvm A build.macos64ARMv8/squeak.cog.spur/plugins.ext A build.macos64ARMv8/squeak.cog.spur/plugins.int A build.macos64ARMv8/squeak.sista.spur/Makefile A build.macos64ARMv8/squeak.sista.spur/mvm A build.macos64ARMv8/squeak.sista.spur/plugins.ext A build.macos64ARMv8/squeak.sista.spur/plugins.int A build.macos64ARMv8/squeak.stack.spur/Makefile A build.macos64ARMv8/squeak.stack.spur/mvm A build.macos64ARMv8/squeak.stack.spur/plugins.ext A build.macos64ARMv8/squeak.stack.spur/plugins.int M build.macos64x64/HowToBuild M build.macos64x64/bochsx64/conf.COG M build.macos64x64/bochsx64/conf.COG.dbg M build.macos64x64/bochsx86/conf.COG M build.macos64x64/bochsx86/conf.COG.dbg M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.app.squeak M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.lib.extra M build.macos64x64/common/Makefile.plugin M build.macos64x64/common/Makefile.rules M build.macos64x64/common/Makefile.vm R build.macos64x64/common/mkNamedPrims.sh A build.macos64x64/gdbarm32/clean M build.macos64x64/gdbarm32/conf.COG M build.macos64x64/gdbarm32/makeem A build.macos64x64/gdbarm64/clean A build.macos64x64/gdbarm64/conf.COG A build.macos64x64/gdbarm64/makeem M build.macos64x64/newspeak.cog.spur/plugins.int M build.macos64x64/newspeak.stack.spur/plugins.int M build.macos64x64/pharo.cog.spur.lowcode/plugins.int M build.macos64x64/pharo.cog.spur/plugins.int M build.macos64x64/pharo.sista.spur/plugins.int M build.macos64x64/pharo.stack.spur.lowcode/plugins.int M build.macos64x64/pharo.stack.spur/Makefile M build.macos64x64/pharo.stack.spur/plugins.int M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur.immutability/plugins.int M build.macos64x64/squeak.cog.spur/Makefile M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.int M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.int M build.macos64x64/squeak.stack.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.int M build.macos64x64/third-party/Makefile.libgit2 A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin-clang.cmake A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin-gcc.cmake R build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin.cmake M build.minheadless.cmake/x64/common/configure_variant.sh A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/Makefile A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x64/pharo.cog.spur/Makefile M build.minheadless.cmake/x64/pharo.cog.spur/mvm M build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/pharo.stack.spur/Makefile M build.minheadless.cmake/x64/pharo.stack.spur/mvm M build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/Makefile A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x64/squeak.cog.spur/Makefile M build.minheadless.cmake/x64/squeak.cog.spur/mvm M build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/squeak.stack.spur/Makefile M build.minheadless.cmake/x64/squeak.stack.spur/mvm M build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin-clang.cmake A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin-gcc.cmake R build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin.cmake M build.minheadless.cmake/x86/common/configure_variant.sh A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/Makefile A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x86/pharo.cog.spur/Makefile M build.minheadless.cmake/x86/pharo.cog.spur/mvm M build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/pharo.stack.spur/Makefile M build.minheadless.cmake/x86/pharo.stack.spur/mvm M build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/Makefile A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x86/squeak.cog.spur/Makefile M build.minheadless.cmake/x86/squeak.cog.spur/mvm M build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/squeak.stack.spur/Makefile M build.minheadless.cmake/x86/squeak.stack.spur/mvm M build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure_variant A build.sunos32x86/HowToBuild A build.sunos32x86/squeak.cog.spur/build/mvm A build.sunos32x86/squeak.cog.spur/plugins.ext A build.sunos32x86/squeak.cog.spur/plugins.int A build.sunos32x86/squeak.stack.spur/build/mvm A build.sunos32x86/squeak.stack.spur/plugins.ext A build.sunos32x86/squeak.stack.spur/plugins.int A build.sunos64x64/HowToBuild A build.sunos64x64/squeak.cog.spur/build/mvm A build.sunos64x64/squeak.cog.spur/plugins.ext A build.sunos64x64/squeak.cog.spur/plugins.int A build.sunos64x64/squeak.stack.spur/build/mvm A build.sunos64x64/squeak.stack.spur/plugins.ext A build.sunos64x64/squeak.stack.spur/plugins.int M build.win32x86/HowToBuild A build.win32x86/common/MAKEALL.BAT A build.win32x86/common/MAKEASSERT.BAT A build.win32x86/common/MAKEDEBUG.BAT A build.win32x86/common/MAKEFAST.BAT M build.win32x86/common/Makefile A build.win32x86/common/Makefile.msvc A build.win32x86/common/Makefile.msvc.clang.rules A build.win32x86/common/Makefile.msvc.flags A build.win32x86/common/Makefile.msvc.msvc.rules A build.win32x86/common/Makefile.msvc.plugin A build.win32x86/common/Makefile.msvc.rules A build.win32x86/common/Makefile.msvc.tools M build.win32x86/common/Makefile.plugin M build.win32x86/common/Makefile.tools A build.win32x86/common/SETPATH.BAT M build.win32x86/newspeak.cog.spur/Makefile M build.win32x86/newspeak.cog.spur/plugins.int M build.win32x86/newspeak.stack.spur/Makefile M build.win32x86/newspeak.stack.spur/plugins.int M build.win32x86/pharo.cog.spur.lowcode/mvm M build.win32x86/pharo.cog.spur.lowcode/plugins.ext M build.win32x86/pharo.cog.spur.lowcode/plugins.int M build.win32x86/pharo.cog.spur/Makefile M build.win32x86/pharo.cog.spur/plugins.ext M build.win32x86/pharo.cog.spur/plugins.int M build.win32x86/pharo.sista.spur/Makefile M build.win32x86/pharo.sista.spur/plugins.ext M build.win32x86/pharo.sista.spur/plugins.int M build.win32x86/pharo.stack.spur/Makefile M build.win32x86/pharo.stack.spur/plugins.ext M build.win32x86/pharo.stack.spur/plugins.int M build.win32x86/squeak.cog.spur.lowcode/Makefile M build.win32x86/squeak.cog.spur.lowcode/mvm M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur.lowcode/plugins.int M build.win32x86/squeak.cog.spur/Makefile M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.spur/plugins.int M build.win32x86/squeak.cog.v3/Makefile M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.cog.v3/plugins.int M build.win32x86/squeak.sista.spur/Makefile M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.sista.spur/plugins.int M build.win32x86/squeak.stack.spur/Makefile M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.int M build.win32x86/squeak.stack.v3/Makefile M build.win32x86/squeak.stack.v3/plugins.ext M build.win32x86/squeak.stack.v3/plugins.int M build.win32x86/third-party/Makefile.openssl M build.win64x64/HowToBuild A build.win64x64/common/MAKEALL.BAT A build.win64x64/common/MAKEASSERT.BAT A build.win64x64/common/MAKEDEBUG.BAT A build.win64x64/common/MAKEFAST.BAT M build.win64x64/common/Makefile A build.win64x64/common/Makefile.msvc A build.win64x64/common/Makefile.msvc.clang.rules A build.win64x64/common/Makefile.msvc.flags A build.win64x64/common/Makefile.msvc.plugin A build.win64x64/common/Makefile.msvc.rules A build.win64x64/common/Makefile.msvc.tools M build.win64x64/common/Makefile.plugin M build.win64x64/common/Makefile.tools A build.win64x64/common/SETPATH.BAT M build.win64x64/newspeak.cog.spur/Makefile M build.win64x64/newspeak.cog.spur/mvm M build.win64x64/newspeak.cog.spur/plugins.int M build.win64x64/newspeak.stack.spur/Makefile M build.win64x64/newspeak.stack.spur/mvm M build.win64x64/newspeak.stack.spur/plugins.int M build.win64x64/pharo.cog.spur/mvm M build.win64x64/pharo.cog.spur/plugins.ext M build.win64x64/pharo.cog.spur/plugins.int M build.win64x64/pharo.stack.spur/Makefile M build.win64x64/pharo.stack.spur/mvm M build.win64x64/pharo.stack.spur/plugins.ext M build.win64x64/pharo.stack.spur/plugins.int M build.win64x64/squeak.cog.spur/Makefile M build.win64x64/squeak.cog.spur/mvm M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.cog.spur/plugins.int M build.win64x64/squeak.stack.spur/Makefile M build.win64x64/squeak.stack.spur/mvm M build.win64x64/squeak.stack.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.int M build.win64x64/third-party/Makefile.openssl A cmake/Cairo.cmake A cmake/CompleteBundle.cmake.in A cmake/CreateBundle.sh.in A cmake/FT2Plugin.cmake A cmake/FixCygwinInstallPermissions.cmake.in A cmake/FixCygwinInstallPermissions.sh.in A cmake/FreeType2.cmake A cmake/LibGit2.cmake A cmake/LibPNG.cmake A cmake/LibSSH2.cmake M cmake/Mpeg3Plugin.cmake A cmake/OpenSSL.cmake A cmake/OpenSSL.mac-install.sh.in A cmake/Pixman.cmake A cmake/PkgConfig.cmake M cmake/Plugins.cmake A cmake/PluginsCommon.cmake A cmake/PluginsMacros.cmake M cmake/PluginsPharo.cmake A cmake/PluginsSqueak.cmake A cmake/SDL2.cmake A cmake/ThirdPartyDependencies.cmake A cmake/ThirdPartyDependenciesCommon.cmake A cmake/ThirdPartyDependenciesMacros.cmake A cmake/ThirdPartyDependenciesPharo.cmake A cmake/ThirdPartyDependenciesSqueak.cmake A cmake/ThirdPartyDependencyInstallScript.cmake.in A cmake/WindowsRuntimeLibraries.cmake A cmake/Zlib.cmake M deploy/filter-exec.sh M deploy/pack-vm.sh M deploy/pharo/filter-exec.sh M image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st M image/LoadFFI.st M image/LoadReader.st M image/LoadSistaSupport.st A image/SaveAsSista.st M image/VM Simulation Workspace.text A image/buildsistareader64image.sh M image/buildspurtrunkreader64image.sh M image/envvars.sh M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh M image/getlatesttrunk64image.sh M image/getlatesttrunkimage.sh A image/updatespur64SistaV1image.sh M include/OpenSmalltalkVM.h M nsspur64src/vm/cogit.c M nsspur64src/vm/cogit.h A nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cogmethod.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspursrc/vm/cogit.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cogmethod.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h M platforms/Cross/plugins/BochsIA32Plugin/BochsIA32Plugin.h M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/BochsX64Plugin/BochsX64Plugin.h M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp M platforms/Cross/plugins/CroquetPlugin/CroquetPlugin.h M platforms/Cross/plugins/FloatMathPlugin/FloatMathPlugin.h R platforms/Cross/plugins/FloatMathPlugin/FloatMathPlugin.st M platforms/Cross/plugins/FloatMathPlugin/acos.c M platforms/Cross/plugins/FloatMathPlugin/acosh.c M platforms/Cross/plugins/FloatMathPlugin/asin.c M platforms/Cross/plugins/FloatMathPlugin/asinh.c M platforms/Cross/plugins/FloatMathPlugin/atan.c M platforms/Cross/plugins/FloatMathPlugin/atan2.c M platforms/Cross/plugins/FloatMathPlugin/atanh.c M platforms/Cross/plugins/FloatMathPlugin/copysign.c M platforms/Cross/plugins/FloatMathPlugin/cos.c M platforms/Cross/plugins/FloatMathPlugin/cosh.c M platforms/Cross/plugins/FloatMathPlugin/exp.c M platforms/Cross/plugins/FloatMathPlugin/expm1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/MD5 R platforms/Cross/plugins/FloatMathPlugin/fdlibm/changes R platforms/Cross/plugins/FloatMathPlugin/fdlibm/configure R platforms/Cross/plugins/FloatMathPlugin/fdlibm/configure.in R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_acos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_acosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_asin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_atan2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_atanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_cosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_exp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_fmod.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_gamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_gamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_hypot.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_j0.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_j1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_jn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_lgamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_lgamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_log.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_log10.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_pow.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_rem_pio2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_remainder.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_scalb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_sinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_sqrt.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/fdlibm.h R platforms/Cross/plugins/FloatMathPlugin/fdlibm/index R platforms/Cross/plugins/FloatMathPlugin/fdlibm/index.html R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_cos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_rem_pio2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_sin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_standard.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_tan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/makefile R platforms/Cross/plugins/FloatMathPlugin/fdlibm/makefile.in R platforms/Cross/plugins/FloatMathPlugin/fdlibm/readme R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_asinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_atan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_cbrt.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ceil.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_copysign.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_cos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_erf.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_expm1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_fabs.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_finite.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_floor.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_frexp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ilogb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_isnan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ldexp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_lib_version.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_log1p.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_logb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_matherr.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_modf.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_nextafter.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_rint.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_scalbn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_signgam.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_significand.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_sin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_tan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_tanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_acos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_acosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_asin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_atan2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_atanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_cosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_exp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_fmod.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_gamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_gamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_hypot.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_j0.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_j1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_jn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_lgamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_lgamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_log.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_log10.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_pow.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_remainder.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_scalb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_sinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_sqrt.c M platforms/Cross/plugins/FloatMathPlugin/finite.c M platforms/Cross/plugins/FloatMathPlugin/fmod.c M platforms/Cross/plugins/FloatMathPlugin/hypot.c M platforms/Cross/plugins/FloatMathPlugin/ieee754names.h M platforms/Cross/plugins/FloatMathPlugin/isnan.c M platforms/Cross/plugins/FloatMathPlugin/k_cos.c M platforms/Cross/plugins/FloatMathPlugin/k_rem_pio2.c M platforms/Cross/plugins/FloatMathPlugin/k_sin.c M platforms/Cross/plugins/FloatMathPlugin/k_tan.c M platforms/Cross/plugins/FloatMathPlugin/ldexp.c M platforms/Cross/plugins/FloatMathPlugin/log.c M platforms/Cross/plugins/FloatMathPlugin/log10.c M platforms/Cross/plugins/FloatMathPlugin/log1p.c M platforms/Cross/plugins/FloatMathPlugin/modf.c M platforms/Cross/plugins/FloatMathPlugin/pow.c M platforms/Cross/plugins/FloatMathPlugin/rem_pio2.c M platforms/Cross/plugins/FloatMathPlugin/rint.c M platforms/Cross/plugins/FloatMathPlugin/scalb.c M platforms/Cross/plugins/FloatMathPlugin/scalbn.c M platforms/Cross/plugins/FloatMathPlugin/sin.c M platforms/Cross/plugins/FloatMathPlugin/sinh.c M platforms/Cross/plugins/FloatMathPlugin/sqrt.c M platforms/Cross/plugins/FloatMathPlugin/tan.c M platforms/Cross/plugins/FloatMathPlugin/tanh.c M platforms/Cross/plugins/GdbARMPlugin/GdbARMPlugin.h M platforms/Cross/plugins/GdbARMPlugin/HowToBuild R platforms/Cross/plugins/GdbARMPlugin/Makefile R platforms/Cross/plugins/GdbARMPlugin/Makefile.unix R platforms/Cross/plugins/GdbARMPlugin/Makefile.win32 R platforms/Cross/plugins/GdbARMPlugin/README M platforms/Cross/plugins/GdbARMPlugin/sqGdbARMPlugin.c A platforms/Cross/plugins/GdbARMv8Plugin/GdbARMv8Plugin.h A platforms/Cross/plugins/GdbARMv8Plugin/HowToBuild A platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c M platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/dabusiness.h M platforms/Cross/plugins/IA32ABI/dabusinessARM.h M platforms/Cross/plugins/IA32ABI/dabusinessARM32.h M platforms/Cross/plugins/IA32ABI/dabusinessARM64.h M platforms/Cross/plugins/IA32ABI/dabusinessPostLogic.h M platforms/Cross/plugins/IA32ABI/dabusinessppc.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicDouble.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicFloat.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicInteger.h M platforms/Cross/plugins/IA32ABI/ia32abi.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/plugins/IA32ABI/xabicc.c R platforms/Cross/plugins/JPEGReadWriter2Plugin/Error.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/README.6b2 R platforms/Cross/plugins/JPEGReadWriter2Plugin/ReadMe.txt M platforms/Cross/plugins/JPEGReadWriter2Plugin/jdphuff.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/jmorecfg.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/sqJPEGReadWriter2Plugin.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/header.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/layer1.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/layer3.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/mpeg3audio.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/pcm.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/bitstream.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/libmpeg3.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3atrack.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3atrack.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3demux.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3private.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3protos.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3title.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3vtrack.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3vtrack.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/getpicture.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/headers.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/macroblocks.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/motion.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3video.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3videoprotos.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/output.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/reconstruct.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/seek.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/slice.h M platforms/Cross/plugins/SerialPlugin/SerialPlugin.h M platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c M platforms/Cross/plugins/Squeak3D/b3d.h M platforms/Cross/plugins/Squeak3D/b3dDraw.c M platforms/Cross/plugins/Squeak3D/b3dInit.c M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c A platforms/Cross/third-party/fdlibm/Makefile A platforms/Cross/third-party/fdlibm/Makefile.in A platforms/Cross/third-party/fdlibm/Makefile.remote A platforms/Cross/third-party/fdlibm/README A platforms/Cross/third-party/fdlibm/README.md A platforms/Cross/third-party/fdlibm/configure A platforms/Cross/third-party/fdlibm/configure.in A platforms/Cross/third-party/fdlibm/e_acos.c A platforms/Cross/third-party/fdlibm/e_acosh.c A platforms/Cross/third-party/fdlibm/e_asin.c A platforms/Cross/third-party/fdlibm/e_atan2.c A platforms/Cross/third-party/fdlibm/e_atanh.c A platforms/Cross/third-party/fdlibm/e_cosh.c A platforms/Cross/third-party/fdlibm/e_exp.c A platforms/Cross/third-party/fdlibm/e_fmod.c A platforms/Cross/third-party/fdlibm/e_gamma.c A platforms/Cross/third-party/fdlibm/e_gamma_r.c A platforms/Cross/third-party/fdlibm/e_hypot.c A platforms/Cross/third-party/fdlibm/e_j0.c A platforms/Cross/third-party/fdlibm/e_j1.c A platforms/Cross/third-party/fdlibm/e_jn.c A platforms/Cross/third-party/fdlibm/e_lgamma.c A platforms/Cross/third-party/fdlibm/e_lgamma_r.c A platforms/Cross/third-party/fdlibm/e_log.c A platforms/Cross/third-party/fdlibm/e_log10.c A platforms/Cross/third-party/fdlibm/e_pow.c A platforms/Cross/third-party/fdlibm/e_rem_pio2.c A platforms/Cross/third-party/fdlibm/e_remainder.c A platforms/Cross/third-party/fdlibm/e_scalb.c A platforms/Cross/third-party/fdlibm/e_sinh.c A platforms/Cross/third-party/fdlibm/e_sqrt.c A platforms/Cross/third-party/fdlibm/fdlibm.h A platforms/Cross/third-party/fdlibm/generate_defines A platforms/Cross/third-party/fdlibm/k_cos.c A platforms/Cross/third-party/fdlibm/k_rem_pio2.c A platforms/Cross/third-party/fdlibm/k_sin.c A platforms/Cross/third-party/fdlibm/k_standard.c A platforms/Cross/third-party/fdlibm/k_tan.c A platforms/Cross/third-party/fdlibm/s_asinh.c A platforms/Cross/third-party/fdlibm/s_atan.c A platforms/Cross/third-party/fdlibm/s_cbrt.c A platforms/Cross/third-party/fdlibm/s_ceil.c A platforms/Cross/third-party/fdlibm/s_copysign.c A platforms/Cross/third-party/fdlibm/s_cos.c A platforms/Cross/third-party/fdlibm/s_erf.c A platforms/Cross/third-party/fdlibm/s_expm1.c A platforms/Cross/third-party/fdlibm/s_fabs.c A platforms/Cross/third-party/fdlibm/s_finite.c A platforms/Cross/third-party/fdlibm/s_floor.c A platforms/Cross/third-party/fdlibm/s_frexp.c A platforms/Cross/third-party/fdlibm/s_ilogb.c A platforms/Cross/third-party/fdlibm/s_isnan.c A platforms/Cross/third-party/fdlibm/s_ldexp.c A platforms/Cross/third-party/fdlibm/s_lib_version.c A platforms/Cross/third-party/fdlibm/s_log1p.c A platforms/Cross/third-party/fdlibm/s_logb.c A platforms/Cross/third-party/fdlibm/s_matherr.c A platforms/Cross/third-party/fdlibm/s_modf.c A platforms/Cross/third-party/fdlibm/s_nextafter.c A platforms/Cross/third-party/fdlibm/s_rint.c A platforms/Cross/third-party/fdlibm/s_scalbn.c A platforms/Cross/third-party/fdlibm/s_signgam.c A platforms/Cross/third-party/fdlibm/s_significand.c A platforms/Cross/third-party/fdlibm/s_sin.c A platforms/Cross/third-party/fdlibm/s_tan.c A platforms/Cross/third-party/fdlibm/s_tanh.c A platforms/Cross/third-party/fdlibm/w_acos.c A platforms/Cross/third-party/fdlibm/w_acosh.c A platforms/Cross/third-party/fdlibm/w_asin.c A platforms/Cross/third-party/fdlibm/w_atan2.c A platforms/Cross/third-party/fdlibm/w_atanh.c A platforms/Cross/third-party/fdlibm/w_cosh.c A platforms/Cross/third-party/fdlibm/w_exp.c A platforms/Cross/third-party/fdlibm/w_fmod.c A platforms/Cross/third-party/fdlibm/w_gamma.c A platforms/Cross/third-party/fdlibm/w_gamma_r.c A platforms/Cross/third-party/fdlibm/w_hypot.c A platforms/Cross/third-party/fdlibm/w_j0.c A platforms/Cross/third-party/fdlibm/w_j1.c A platforms/Cross/third-party/fdlibm/w_jn.c A platforms/Cross/third-party/fdlibm/w_lgamma.c A platforms/Cross/third-party/fdlibm/w_lgamma_r.c A platforms/Cross/third-party/fdlibm/w_log.c A platforms/Cross/third-party/fdlibm/w_log10.c A platforms/Cross/third-party/fdlibm/w_pow.c A platforms/Cross/third-party/fdlibm/w_remainder.c A platforms/Cross/third-party/fdlibm/w_scalb.c A platforms/Cross/third-party/fdlibm/w_sinh.c A platforms/Cross/third-party/fdlibm/w_sqrt.c A platforms/Cross/util/mkIntPluginIndices.sh A platforms/Cross/util/mkNamedPrims.sh M platforms/Cross/vm/dispdbg.h M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqAtomicOps.h M platforms/Cross/vm/sqCogStackAlignment.h A platforms/Cross/vm/sqMathShim.h M platforms/Cross/vm/sqMemoryAccess.h M platforms/Cross/vm/sqMemoryFence.h M platforms/Cross/vm/sqNamedPrims.c M platforms/Cross/vm/sqPath.c A platforms/Cross/vm/sqSetjmpShim.h M platforms/Cross/vm/sqTextEncoding.c M platforms/Cross/vm/sqTextEncoding.h M platforms/Cross/vm/sqTicker.c M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/Mac OS/plugins/HostWindowPlugin/sqMacHostWindow.c M platforms/Mac OS/plugins/HostWindowPlugin/sqMacHostWindow.h M platforms/Mac OS/vm/Developer/sqMacMinimal.c M platforms/Mac OS/vm/osExports.c M platforms/Mac OS/vm/sqMacMain.c M platforms/Mac OS/vm/sqMacMain.h M platforms/Mac OS/vm/sqMacMemory.c M platforms/Mac OS/vm/sqMacTime.c M platforms/Mac OS/vm/sqMacUnixCommandLineInterface.c M platforms/Mac OS/vm/sqPlatformSpecific.h R platforms/RiscOS/plugins/JPEGReadWriter2Plugin/stub M platforms/RiscOS/vm/sqRPCMain.c A platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.m A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.h A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.m A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalStructures.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/Makefile A platforms/iOS/plugins/B3DAcceleratorPlugin32/sqMacOpenGL.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/sqMacOpenGL.m A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGL.c A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGL.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGLInfo.c A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacUIConstants.h M platforms/iOS/plugins/BochsIA32Plugin/Makefile M platforms/iOS/plugins/BochsX64Plugin/Makefile M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m M platforms/iOS/plugins/GdbARMPlugin/Makefile A platforms/iOS/plugins/GdbARMv8Plugin/Makefile M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.h M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.m M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.h M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudioAPI.m M platforms/iOS/vm/Common/Classes/sqMacV2Time.c M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.h M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.m M platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryInterface.m M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/iOS/vm/Common/Classes/sqSqueakScreenAPI.m M platforms/iOS/vm/Common/main.m M platforms/iOS/vm/Common/sqDummyaio.h M platforms/iOS/vm/Common/sqMacV2Memory.c M platforms/iOS/vm/English.lproj/MainMenu-cg.xib M platforms/iOS/vm/English.lproj/MainMenu-opengl.xib M platforms/iOS/vm/English.lproj/MainMenu.xib M platforms/iOS/vm/OSX/SqViewBitmapConversion.m A platforms/iOS/vm/OSX/SqViewBitmapConversion.m.inc M platforms/iOS/vm/OSX/SqViewClut.m A platforms/iOS/vm/OSX/SqViewClut.m.inc M platforms/iOS/vm/OSX/Squeak-Info.plist M platforms/iOS/vm/OSX/SqueakMainShaders.metal R platforms/iOS/vm/OSX/SqueakMainShaders.metal.inc M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m M platforms/iOS/vm/OSX/sqPlatformSpecific.h M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/iOS/vm/OSX/sqSqueakOSXCGView.h M platforms/iOS/vm/OSX/sqSqueakOSXDropAPI.m A platforms/iOS/vm/OSX/sqSqueakOSXHeadlessView.h A platforms/iOS/vm/OSX/sqSqueakOSXHeadlessView.m M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.h M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m M platforms/iOS/vm/OSX/sqSqueakOSXScreenAndWindow.m A platforms/iOS/vm/OSX/sqSqueakOSXViewFactory.h A platforms/iOS/vm/OSX/sqSqueakOSXViewFactory.m M platforms/iOS/vm/SqueakPureObjc_Prefix.pch M platforms/iOS/vm/iPhone/Classes/SqueakUIView.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication+attributes.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication.m M platforms/iOS/vm/iPhone/sqDummyaio.c M platforms/iOS/vm/iPhone/sqPlatformSpecific.h A platforms/minheadless/common/sqGnu.h M platforms/minheadless/common/sqPrinting.c M platforms/minheadless/common/sqVirtualMachineInterface.c M platforms/minheadless/common/sqWindow-Dispatch.c M platforms/minheadless/common/sqaio.h M platforms/minheadless/config.h.in M platforms/minheadless/generic/sqPlatformSpecific-Generic.c A platforms/minheadless/mac/sqMain.m M platforms/minheadless/sdl2-window/sqWindow-SDL2.c A platforms/minheadless/startup.sh.in M platforms/minheadless/unix/sqPlatformSpecific-Unix.c M platforms/minheadless/unix/sqPlatformSpecific-Unix.h M platforms/minheadless/unix/sqUnixHeartbeat.c M platforms/minheadless/unix/sqUnixMemory.c M platforms/minheadless/unix/sqUnixSpurMemory.c A platforms/minheadless/windows/resources/Pharo/Pharo.exe.manifest.in A platforms/minheadless/windows/resources/Pharo/Pharo.ico A platforms/minheadless/windows/resources/Pharo/Pharo.rc.in A platforms/minheadless/windows/resources/Squeak/GreenCogSqueak.ico A platforms/minheadless/windows/resources/Squeak/Squeak.exe.manifest.in A platforms/minheadless/windows/resources/Squeak/Squeak.rc.in A platforms/minheadless/windows/resources/Squeak/squeak2.ico A platforms/minheadless/windows/resources/Squeak/squeak3.ico M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.h M platforms/minheadless/windows/sqWin32Alloc.c M platforms/minheadless/windows/sqWin32Directory.c M platforms/minheadless/windows/sqWin32Heartbeat.c M platforms/minheadless/windows/sqWin32Main.c M platforms/minheadless/windows/sqWin32SpurAlloc.c M platforms/minheadless/windows/sqWin32Time.c M platforms/unix/config/Makefile.in M platforms/unix/config/acinclude.m4 M platforms/unix/config/aclocal.m4 M platforms/unix/config/ax_append_flag.m4 M platforms/unix/config/ax_cflags_warn_all.m4 A platforms/unix/config/ax_compiler_vendor.m4 M platforms/unix/config/ax_have_epoll.m4 A platforms/unix/config/ax_prepend_flag.m4 M platforms/unix/config/ax_pthread.m4 M platforms/unix/config/config.guess M platforms/unix/config/config.h.in M platforms/unix/config/config.sub M platforms/unix/config/configure M platforms/unix/config/configure.ac M platforms/unix/config/ltmain.sh M platforms/unix/config/make.cfg.in M platforms/unix/config/mkmf M platforms/unix/misc/threadValidate/sqUnixHeartbeat.c M platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.c M platforms/unix/plugins/GdbARMPlugin/HowToBuild M platforms/unix/plugins/GdbARMPlugin/Makefile.inc A platforms/unix/plugins/GdbARMv8Plugin/HowToBuild A platforms/unix/plugins/GdbARMv8Plugin/Makefile.inc A platforms/unix/plugins/GdbARMv8Plugin/acinclude.m4 M platforms/unix/plugins/HostWindowPlugin/sqUnixHostWindowPlugin.c R platforms/unix/plugins/MIDIPlugin/Makefile.inc M platforms/unix/plugins/MIDIPlugin/acinclude.m4 M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c M platforms/unix/plugins/SecurityPlugin/sqUnixSecurity.c M platforms/unix/plugins/SerialPlugin/Makefile.inc M platforms/unix/plugins/SerialPlugin/sqUnixSerial.c M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c M platforms/unix/plugins/SqueakSSL/openssl_overlay.h M platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc M platforms/unix/plugins/UUIDPlugin/acinclude.m4 M platforms/unix/vm-display-Quartz/zzz/sqUnixQuartz.m M platforms/unix/vm-display-X11/acinclude.m4 M platforms/unix/vm-display-X11/sqUnixMozilla.c M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm-display-X11/sqUnixXdnd.c M platforms/unix/vm-display-fbdev/00_README.fbdev A platforms/unix/vm-display-fbdev/AlpineLinux-Notes.txt A platforms/unix/vm-display-fbdev/Armbian-Notes.txt A platforms/unix/vm-display-fbdev/Balloon.h A platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c A platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c M platforms/unix/vm-display-null/sqUnixDisplayNull.c R platforms/unix/vm-sound-NAS/Makefile.inc M platforms/unix/vm-sound-NAS/acinclude.m4 M platforms/unix/vm-sound-pulse/acinclude.m4 M platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c A platforms/unix/vm-sound-sndio/acinclude.m4 A platforms/unix/vm-sound-sndio/sqUnixSndioSound.c M platforms/unix/vm/Makefile.in M platforms/unix/vm/SqDisplay.h M platforms/unix/vm/aio.c M platforms/unix/vm/debug.h M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/osExports.c M platforms/unix/vm/sqConfig.h M platforms/unix/vm/sqPlatformSpecific.h M platforms/unix/vm/sqUnixCharConv.c M platforms/unix/vm/sqUnixEvent.c M platforms/unix/vm/sqUnixExternalPrims.c M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c M platforms/unix/vm/sqUnixMain.c M platforms/unix/vm/sqUnixMemory.c M platforms/unix/vm/sqUnixSpurMemory.c M platforms/unix/vm/sqaio.h A platforms/win32/.editorconfig M platforms/win32/misc/Makefile.mingw32 A platforms/win32/misc/_setjmp-x64.asm A platforms/win32/misc/qedit.h A platforms/win32/plugins/B3DAcceleratorPlugin/Makefile.msvc A platforms/win32/plugins/B3DAcceleratorPlugin/Makefile.plugin A platforms/win32/plugins/BitBltPlugin/Makefile.msvc R platforms/win32/plugins/CameraPlugin/Building Windows CameraPlugin.txt A platforms/win32/plugins/CameraPlugin/Building Windows CameraPlugini Using Visual Studio.txt R platforms/win32/plugins/CameraPlugin/CameraPlugin.cpp R platforms/win32/plugins/CameraPlugin/CameraPlugin.dll A platforms/win32/plugins/CameraPlugin/Makefile.msvc R platforms/win32/plugins/CameraPlugin/STRMBASE.lib M platforms/win32/plugins/CameraPlugin/winCameraOps.cpp R platforms/win32/plugins/CroquetPlugin/Makefile.msvc M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c M platforms/win32/plugins/DropPlugin/sqWin32Drop.c M platforms/win32/plugins/FT2Plugin/ft2build.h A platforms/win32/plugins/FileAttributesPlugin/Makefile.msvc M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FilePlugin/sqWin32File.h M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M platforms/win32/plugins/FloatMathPlugin/Makefile M platforms/win32/plugins/FloatMathPlugin/Makefile.msvc M platforms/win32/plugins/FloatMathPlugin/Makefile.plugin M platforms/win32/plugins/FloatMathPlugin/Makefile.win32 M platforms/win32/plugins/FontPlugin/sqWin32FontPlugin.c M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c A platforms/win32/plugins/IA32ABI/Makefile.msvc R platforms/win32/plugins/JPEGReadWriter2Plugin/stub M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c M platforms/win32/plugins/Mpeg3Plugin/Makefile.msvc A platforms/win32/plugins/SerialPlugin/Makefile.msvc M platforms/win32/plugins/SerialPlugin/sqWin32SerialPort.c M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c A platforms/win32/plugins/SqueakFFIPrims/Makefile.msvc A platforms/win32/plugins/SqueakSSL/Makefile.msvc M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c M platforms/win32/plugins/Win32OSProcessPlugin/Makefile.msvc R platforms/win32/release/stub R platforms/win32/third-party/dx9sdk/Include/Amvideo.h R platforms/win32/third-party/dx9sdk/Include/Bdatif.h R platforms/win32/third-party/dx9sdk/Include/DShow.h R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Bdatif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mpeg2Data.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mpeg2Structs.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mstvca.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mstvgs.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Msvidctl.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Segment.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Videoacc.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Vmrender.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/amstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/austream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/axcore.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/axextend.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/bdaiface.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/control.odl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/ddstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/devenum.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dmodshow.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dshowasf.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dvdif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dxtrans.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dyngraph.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mediaobj.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/medparam.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mixerocx.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mmstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mstve.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/qedit.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/regbag.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/sbe.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/strmif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/tuner.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/tvratings.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/vidcap.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/vmr9.idl R platforms/win32/third-party/dx9sdk/Include/DxDiag.h R platforms/win32/third-party/dx9sdk/Include/Iwstdec.h R platforms/win32/third-party/dx9sdk/Include/Mpeg2Bits.h R platforms/win32/third-party/dx9sdk/Include/Mpeg2Error.h R platforms/win32/third-party/dx9sdk/Include/Mstvca.h R platforms/win32/third-party/dx9sdk/Include/Mstve.h R platforms/win32/third-party/dx9sdk/Include/Msvidctl.h R platforms/win32/third-party/dx9sdk/Include/Msvidctl.tlb R platforms/win32/third-party/dx9sdk/Include/PixPlugin.h R platforms/win32/third-party/dx9sdk/Include/Segment.h R platforms/win32/third-party/dx9sdk/Include/Tuner.tlb R platforms/win32/third-party/dx9sdk/Include/activecf.h R platforms/win32/third-party/dx9sdk/Include/amaudio.h R platforms/win32/third-party/dx9sdk/Include/amparse.h R platforms/win32/third-party/dx9sdk/Include/amstream.h R platforms/win32/third-party/dx9sdk/Include/amva.h R platforms/win32/third-party/dx9sdk/Include/atsmedia.h R platforms/win32/third-party/dx9sdk/Include/audevcod.h R platforms/win32/third-party/dx9sdk/Include/austream.h R platforms/win32/third-party/dx9sdk/Include/aviriff.h R platforms/win32/third-party/dx9sdk/Include/bdaiface.h R platforms/win32/third-party/dx9sdk/Include/bdamedia.h R platforms/win32/third-party/dx9sdk/Include/bdatypes.h R platforms/win32/third-party/dx9sdk/Include/comlite.h R platforms/win32/third-party/dx9sdk/Include/control.h R platforms/win32/third-party/dx9sdk/Include/d3d.h R platforms/win32/third-party/dx9sdk/Include/d3d8.h R platforms/win32/third-party/dx9sdk/Include/d3d8caps.h R platforms/win32/third-party/dx9sdk/Include/d3d8types.h R platforms/win32/third-party/dx9sdk/Include/d3d9.h R platforms/win32/third-party/dx9sdk/Include/d3d9caps.h R platforms/win32/third-party/dx9sdk/Include/d3d9types.h R platforms/win32/third-party/dx9sdk/Include/d3dcaps.h R platforms/win32/third-party/dx9sdk/Include/d3drm.h R platforms/win32/third-party/dx9sdk/Include/d3drmdef.h R platforms/win32/third-party/dx9sdk/Include/d3drmobj.h R platforms/win32/third-party/dx9sdk/Include/d3drmwin.h R platforms/win32/third-party/dx9sdk/Include/d3dtypes.h R platforms/win32/third-party/dx9sdk/Include/d3dvec.inl R platforms/win32/third-party/dx9sdk/Include/d3dx.h R platforms/win32/third-party/dx9sdk/Include/d3dx8.h R platforms/win32/third-party/dx9sdk/Include/d3dx8core.h R platforms/win32/third-party/dx9sdk/Include/d3dx8effect.h R platforms/win32/third-party/dx9sdk/Include/d3dx8math.h R platforms/win32/third-party/dx9sdk/Include/d3dx8math.inl R platforms/win32/third-party/dx9sdk/Include/d3dx8mesh.h R platforms/win32/third-party/dx9sdk/Include/d3dx8shape.h R platforms/win32/third-party/dx9sdk/Include/d3dx8tex.h R platforms/win32/third-party/dx9sdk/Include/d3dx9.h R platforms/win32/third-party/dx9sdk/Include/d3dx9anim.h R platforms/win32/third-party/dx9sdk/Include/d3dx9core.h R platforms/win32/third-party/dx9sdk/Include/d3dx9effect.h R platforms/win32/third-party/dx9sdk/Include/d3dx9math.h R platforms/win32/third-party/dx9sdk/Include/d3dx9math.inl R platforms/win32/third-party/dx9sdk/Include/d3dx9mesh.h R platforms/win32/third-party/dx9sdk/Include/d3dx9shader.h R platforms/win32/third-party/dx9sdk/Include/d3dx9shape.h R platforms/win32/third-party/dx9sdk/Include/d3dx9tex.h R platforms/win32/third-party/dx9sdk/Include/d3dx9xof.h R platforms/win32/third-party/dx9sdk/Include/d3dxcore.h R platforms/win32/third-party/dx9sdk/Include/d3dxerr.h R platforms/win32/third-party/dx9sdk/Include/d3dxmath.h R platforms/win32/third-party/dx9sdk/Include/d3dxmath.inl R platforms/win32/third-party/dx9sdk/Include/d3dxshapes.h R platforms/win32/third-party/dx9sdk/Include/d3dxsprite.h R platforms/win32/third-party/dx9sdk/Include/ddraw.h R platforms/win32/third-party/dx9sdk/Include/ddstream.h R platforms/win32/third-party/dx9sdk/Include/dinput.h R platforms/win32/third-party/dx9sdk/Include/dinputd.h R platforms/win32/third-party/dx9sdk/Include/dls1.h R platforms/win32/third-party/dx9sdk/Include/dls2.h R platforms/win32/third-party/dx9sdk/Include/dmdls.h R platforms/win32/third-party/dx9sdk/Include/dmerror.h R platforms/win32/third-party/dx9sdk/Include/dmksctrl.h R platforms/win32/third-party/dx9sdk/Include/dmo.h R platforms/win32/third-party/dx9sdk/Include/dmodshow.h R platforms/win32/third-party/dx9sdk/Include/dmoimpl.h R platforms/win32/third-party/dx9sdk/Include/dmoreg.h R platforms/win32/third-party/dx9sdk/Include/dmort.h R platforms/win32/third-party/dx9sdk/Include/dmplugin.h R platforms/win32/third-party/dx9sdk/Include/dmusbuff.h R platforms/win32/third-party/dx9sdk/Include/dmusicc.h R platforms/win32/third-party/dx9sdk/Include/dmusicf.h R platforms/win32/third-party/dx9sdk/Include/dmusici.h R platforms/win32/third-party/dx9sdk/Include/dmusics.h R platforms/win32/third-party/dx9sdk/Include/dpaddr.h R platforms/win32/third-party/dx9sdk/Include/dplay.h R platforms/win32/third-party/dx9sdk/Include/dplay8.h R platforms/win32/third-party/dx9sdk/Include/dplobby.h R platforms/win32/third-party/dx9sdk/Include/dplobby8.h R platforms/win32/third-party/dx9sdk/Include/dpnathlp.h R platforms/win32/third-party/dx9sdk/Include/dsconf.h R platforms/win32/third-party/dx9sdk/Include/dsetup.h R platforms/win32/third-party/dx9sdk/Include/dshowasf.h R platforms/win32/third-party/dx9sdk/Include/dsound.h R platforms/win32/third-party/dx9sdk/Include/dv.h R platforms/win32/third-party/dx9sdk/Include/dvdevcod.h R platforms/win32/third-party/dx9sdk/Include/dvdmedia.h R platforms/win32/third-party/dx9sdk/Include/dvoice.h R platforms/win32/third-party/dx9sdk/Include/dvp.h R platforms/win32/third-party/dx9sdk/Include/dx7todx8.h R platforms/win32/third-party/dx9sdk/Include/dxerr8.h R platforms/win32/third-party/dx9sdk/Include/dxerr9.h R platforms/win32/third-party/dx9sdk/Include/dxfile.h R platforms/win32/third-party/dx9sdk/Include/dxtrans.h R platforms/win32/third-party/dx9sdk/Include/dxva.h R platforms/win32/third-party/dx9sdk/Include/edevctrl.h R platforms/win32/third-party/dx9sdk/Include/edevdefs.h R platforms/win32/third-party/dx9sdk/Include/errors.h R platforms/win32/third-party/dx9sdk/Include/evcode.h R platforms/win32/third-party/dx9sdk/Include/il21dec.h R platforms/win32/third-party/dx9sdk/Include/ks.h R platforms/win32/third-party/dx9sdk/Include/ksguid.h R platforms/win32/third-party/dx9sdk/Include/ksmedia.h R platforms/win32/third-party/dx9sdk/Include/ksproxy.h R platforms/win32/third-party/dx9sdk/Include/ksuuids.h R platforms/win32/third-party/dx9sdk/Include/mediaerr.h R platforms/win32/third-party/dx9sdk/Include/mediaobj.h R platforms/win32/third-party/dx9sdk/Include/medparam.h R platforms/win32/third-party/dx9sdk/Include/mixerocx.h R platforms/win32/third-party/dx9sdk/Include/mmstream.h R platforms/win32/third-party/dx9sdk/Include/mpconfig.h R platforms/win32/third-party/dx9sdk/Include/mpeg2data.h R platforms/win32/third-party/dx9sdk/Include/mpegtype.h R platforms/win32/third-party/dx9sdk/Include/multimon.h R platforms/win32/third-party/dx9sdk/Include/playlist.h R platforms/win32/third-party/dx9sdk/Include/qedit.h R platforms/win32/third-party/dx9sdk/Include/qnetwork.h R platforms/win32/third-party/dx9sdk/Include/regbag.h R platforms/win32/third-party/dx9sdk/Include/rmxfguid.h R platforms/win32/third-party/dx9sdk/Include/rmxftmpl.h R platforms/win32/third-party/dx9sdk/Include/sbe.h R platforms/win32/third-party/dx9sdk/Include/strmif.h R platforms/win32/third-party/dx9sdk/Include/strsafe.h R platforms/win32/third-party/dx9sdk/Include/tune.h R platforms/win32/third-party/dx9sdk/Include/tuner.h R platforms/win32/third-party/dx9sdk/Include/tvratings.h R platforms/win32/third-party/dx9sdk/Include/uuids.h R platforms/win32/third-party/dx9sdk/Include/vfwmsgs.h R platforms/win32/third-party/dx9sdk/Include/vidcap.h R platforms/win32/third-party/dx9sdk/Include/videoacc.h R platforms/win32/third-party/dx9sdk/Include/vmr9.h R platforms/win32/third-party/dx9sdk/Include/vpconfig.h R platforms/win32/third-party/dx9sdk/Include/vpnotify.h R platforms/win32/third-party/dx9sdk/Include/vptype.h R platforms/win32/third-party/dx9sdk/Include/xprtdefs.h R platforms/win32/third-party/dx9sdk/Lib/DxErr8.lib R platforms/win32/third-party/dx9sdk/Lib/DxErr9.lib R platforms/win32/third-party/dx9sdk/Lib/amstrmid.lib R platforms/win32/third-party/dx9sdk/Lib/d3d8.lib R platforms/win32/third-party/dx9sdk/Lib/d3d9.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8d.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8dt.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9d.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9dt.lib R platforms/win32/third-party/dx9sdk/Lib/d3dxd.lib R platforms/win32/third-party/dx9sdk/Lib/d3dxof.lib R platforms/win32/third-party/dx9sdk/Lib/ddraw.lib R platforms/win32/third-party/dx9sdk/Lib/dinput.lib R platforms/win32/third-party/dx9sdk/Lib/dinput8.lib R platforms/win32/third-party/dx9sdk/Lib/dmoguids.lib R platforms/win32/third-party/dx9sdk/Lib/dplayx.lib R platforms/win32/third-party/dx9sdk/Lib/dsetup.lib R platforms/win32/third-party/dx9sdk/Lib/dsound.lib R platforms/win32/third-party/dx9sdk/Lib/dxguid.lib R platforms/win32/third-party/dx9sdk/Lib/dxtrans.lib R platforms/win32/third-party/dx9sdk/Lib/encapi.lib R platforms/win32/third-party/dx9sdk/Lib/ksproxy.lib R platforms/win32/third-party/dx9sdk/Lib/ksuser.lib R platforms/win32/third-party/dx9sdk/Lib/msdmo.lib R platforms/win32/third-party/dx9sdk/Lib/quartz.lib R platforms/win32/third-party/dx9sdk/Lib/strmiids.lib R platforms/win32/third-party/dx9sdk/README-TELEPLACE.txt M platforms/win32/vm/config.h M platforms/win32/vm/sqConfig.h M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32DirectInput.c M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32DnsInfo.c M platforms/win32/vm/sqWin32Exports.c M platforms/win32/vm/sqWin32ExternalPrims.c M platforms/win32/vm/sqWin32GUID.c M platforms/win32/vm/sqWin32HandleTable.h M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32SpurAlloc.c M platforms/win32/vm/sqWin32Threads.c M platforms/win32/vm/sqWin32Time.c M platforms/win32/vm/sqWin32Utils.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c M platforms/win32/vm/version.c R processors/ARM/TODO M processors/ARM/exploration/Makefile M processors/ARM/exploration/Makefile64 M processors/ARM/exploration/printcpuctrl.c A processors/ARM/exploration64/Makefile A processors/ARM/exploration64/Makefile64 A processors/ARM/exploration64/printcpu.c A processors/ARM/exploration64/printcpuctrl.c A processors/ARM/exploration64/printcpuvfp.c R processors/ARM/gdb-7.10/COPYING.LIB R processors/ARM/gdb-7.10/COPYING3.LIB R processors/ARM/gdb-7.10/ChangeLog R processors/ARM/gdb-7.10/MAINTAINERS R processors/ARM/gdb-7.10/Makefile.def R processors/ARM/gdb-7.10/Makefile.in R processors/ARM/gdb-7.10/Makefile.tpl R processors/ARM/gdb-7.10/README R processors/ARM/gdb-7.10/README-maintainer-mode R processors/ARM/gdb-7.10/bfd/ChangeLog R processors/ARM/gdb-7.10/bfd/ChangeLog-0001 R processors/ARM/gdb-7.10/bfd/ChangeLog-0203 R processors/ARM/gdb-7.10/bfd/ChangeLog-2004 R processors/ARM/gdb-7.10/bfd/ChangeLog-2005 R processors/ARM/gdb-7.10/bfd/ChangeLog-2006 R processors/ARM/gdb-7.10/bfd/ChangeLog-2007 R processors/ARM/gdb-7.10/bfd/ChangeLog-2008 R processors/ARM/gdb-7.10/bfd/ChangeLog-2009 R processors/ARM/gdb-7.10/bfd/ChangeLog-2010 R processors/ARM/gdb-7.10/bfd/ChangeLog-2011 R processors/ARM/gdb-7.10/bfd/ChangeLog-2012 R processors/ARM/gdb-7.10/bfd/ChangeLog-2013 R processors/ARM/gdb-7.10/bfd/ChangeLog-2014 R processors/ARM/gdb-7.10/bfd/ChangeLog-9193 R processors/ARM/gdb-7.10/bfd/ChangeLog-9495 R processors/ARM/gdb-7.10/bfd/ChangeLog-9697 R processors/ARM/gdb-7.10/bfd/ChangeLog-9899 R processors/ARM/gdb-7.10/bfd/MAINTAINERS R processors/ARM/gdb-7.10/bfd/Makefile.am R processors/ARM/gdb-7.10/bfd/Makefile.in R processors/ARM/gdb-7.10/bfd/PORTING R processors/ARM/gdb-7.10/bfd/README R processors/ARM/gdb-7.10/bfd/TODO R processors/ARM/gdb-7.10/bfd/acinclude.m4 R processors/ARM/gdb-7.10/bfd/aclocal.m4 R processors/ARM/gdb-7.10/bfd/aix386-core.c R processors/ARM/gdb-7.10/bfd/aix5ppc-core.c R processors/ARM/gdb-7.10/bfd/aout-adobe.c R processors/ARM/gdb-7.10/bfd/aout-arm.c R processors/ARM/gdb-7.10/bfd/aout-cris.c R processors/ARM/gdb-7.10/bfd/aout-ns32k.c R processors/ARM/gdb-7.10/bfd/aout-sparcle.c R processors/ARM/gdb-7.10/bfd/aout-target.h R processors/ARM/gdb-7.10/bfd/aout-tic30.c R processors/ARM/gdb-7.10/bfd/aout0.c R processors/ARM/gdb-7.10/bfd/aout32.c R processors/ARM/gdb-7.10/bfd/aout64.c R processors/ARM/gdb-7.10/bfd/aoutf1.h R processors/ARM/gdb-7.10/bfd/aoutx.h R processors/ARM/gdb-7.10/bfd/archive.c R processors/ARM/gdb-7.10/bfd/archive64.c R processors/ARM/gdb-7.10/bfd/archures.c R processors/ARM/gdb-7.10/bfd/armnetbsd.c R processors/ARM/gdb-7.10/bfd/bfd-in.h R processors/ARM/gdb-7.10/bfd/bfd-in2.h R processors/ARM/gdb-7.10/bfd/bfd.c R processors/ARM/gdb-7.10/bfd/bfd.m4 R processors/ARM/gdb-7.10/bfd/bfdio.c R processors/ARM/gdb-7.10/bfd/bfdwin.c R processors/ARM/gdb-7.10/bfd/binary.c R processors/ARM/gdb-7.10/bfd/bout.c R processors/ARM/gdb-7.10/bfd/cache.c R processors/ARM/gdb-7.10/bfd/cf-i386lynx.c R processors/ARM/gdb-7.10/bfd/cf-sparclynx.c R processors/ARM/gdb-7.10/bfd/cisco-core.c R processors/ARM/gdb-7.10/bfd/coff-alpha.c R processors/ARM/gdb-7.10/bfd/coff-apollo.c R processors/ARM/gdb-7.10/bfd/coff-arm.c R processors/ARM/gdb-7.10/bfd/coff-aux.c R processors/ARM/gdb-7.10/bfd/coff-bfd.c R processors/ARM/gdb-7.10/bfd/coff-bfd.h R processors/ARM/gdb-7.10/bfd/coff-go32.c R processors/ARM/gdb-7.10/bfd/coff-h8300.c R processors/ARM/gdb-7.10/bfd/coff-h8500.c R processors/ARM/gdb-7.10/bfd/coff-i386.c R processors/ARM/gdb-7.10/bfd/coff-i860.c R processors/ARM/gdb-7.10/bfd/coff-i960.c R processors/ARM/gdb-7.10/bfd/coff-ia64.c R processors/ARM/gdb-7.10/bfd/coff-m68k.c R processors/ARM/gdb-7.10/bfd/coff-m88k.c R processors/ARM/gdb-7.10/bfd/coff-mcore.c R processors/ARM/gdb-7.10/bfd/coff-mips.c R processors/ARM/gdb-7.10/bfd/coff-ppc.c R processors/ARM/gdb-7.10/bfd/coff-rs6000.c R processors/ARM/gdb-7.10/bfd/coff-sh.c R processors/ARM/gdb-7.10/bfd/coff-sparc.c R processors/ARM/gdb-7.10/bfd/coff-stgo32.c R processors/ARM/gdb-7.10/bfd/coff-svm68k.c R processors/ARM/gdb-7.10/bfd/coff-tic30.c R processors/ARM/gdb-7.10/bfd/coff-tic4x.c R processors/ARM/gdb-7.10/bfd/coff-tic54x.c R processors/ARM/gdb-7.10/bfd/coff-tic80.c R processors/ARM/gdb-7.10/bfd/coff-u68k.c R processors/ARM/gdb-7.10/bfd/coff-w65.c R processors/ARM/gdb-7.10/bfd/coff-we32k.c R processors/ARM/gdb-7.10/bfd/coff-x86_64.c R processors/ARM/gdb-7.10/bfd/coff-z80.c R processors/ARM/gdb-7.10/bfd/coff-z8k.c R processors/ARM/gdb-7.10/bfd/coff64-rs6000.c R processors/ARM/gdb-7.10/bfd/coffcode.h R processors/ARM/gdb-7.10/bfd/coffgen.c R processors/ARM/gdb-7.10/bfd/cofflink.c R processors/ARM/gdb-7.10/bfd/coffswap.h R processors/ARM/gdb-7.10/bfd/compress.c R processors/ARM/gdb-7.10/bfd/config.bfd R processors/ARM/gdb-7.10/bfd/config.in R processors/ARM/gdb-7.10/bfd/configure R processors/ARM/gdb-7.10/bfd/configure.ac R processors/ARM/gdb-7.10/bfd/configure.com R processors/ARM/gdb-7.10/bfd/configure.host R processors/ARM/gdb-7.10/bfd/corefile.c R processors/ARM/gdb-7.10/bfd/cpu-aarch64.c R processors/ARM/gdb-7.10/bfd/cpu-alpha.c R processors/ARM/gdb-7.10/bfd/cpu-arc.c R processors/ARM/gdb-7.10/bfd/cpu-arm.c R processors/ARM/gdb-7.10/bfd/cpu-avr.c R processors/ARM/gdb-7.10/bfd/cpu-bfin.c R processors/ARM/gdb-7.10/bfd/cpu-cr16.c R processors/ARM/gdb-7.10/bfd/cpu-cr16c.c R processors/ARM/gdb-7.10/bfd/cpu-cris.c R processors/ARM/gdb-7.10/bfd/cpu-crx.c R processors/ARM/gdb-7.10/bfd/cpu-d10v.c R processors/ARM/gdb-7.10/bfd/cpu-d30v.c R processors/ARM/gdb-7.10/bfd/cpu-dlx.c R processors/ARM/gdb-7.10/bfd/cpu-epiphany.c R processors/ARM/gdb-7.10/bfd/cpu-fr30.c R processors/ARM/gdb-7.10/bfd/cpu-frv.c R processors/ARM/gdb-7.10/bfd/cpu-ft32.c R processors/ARM/gdb-7.10/bfd/cpu-h8300.c R processors/ARM/gdb-7.10/bfd/cpu-h8500.c R processors/ARM/gdb-7.10/bfd/cpu-hppa.c R processors/ARM/gdb-7.10/bfd/cpu-i370.c R processors/ARM/gdb-7.10/bfd/cpu-i386.c R processors/ARM/gdb-7.10/bfd/cpu-i860.c R processors/ARM/gdb-7.10/bfd/cpu-i960.c R processors/ARM/gdb-7.10/bfd/cpu-ia64-opc.c R processors/ARM/gdb-7.10/bfd/cpu-ia64.c R processors/ARM/gdb-7.10/bfd/cpu-iamcu.c R processors/ARM/gdb-7.10/bfd/cpu-ip2k.c R processors/ARM/gdb-7.10/bfd/cpu-iq2000.c R processors/ARM/gdb-7.10/bfd/cpu-k1om.c R processors/ARM/gdb-7.10/bfd/cpu-l1om.c R processors/ARM/gdb-7.10/bfd/cpu-lm32.c R processors/ARM/gdb-7.10/bfd/cpu-m10200.c R processors/ARM/gdb-7.10/bfd/cpu-m10300.c R processors/ARM/gdb-7.10/bfd/cpu-m32c.c R processors/ARM/gdb-7.10/bfd/cpu-m32r.c R processors/ARM/gdb-7.10/bfd/cpu-m68hc11.c R processors/ARM/gdb-7.10/bfd/cpu-m68hc12.c R processors/ARM/gdb-7.10/bfd/cpu-m68k.c R processors/ARM/gdb-7.10/bfd/cpu-m88k.c R processors/ARM/gdb-7.10/bfd/cpu-m9s12x.c R processors/ARM/gdb-7.10/bfd/cpu-m9s12xg.c R processors/ARM/gdb-7.10/bfd/cpu-mcore.c R processors/ARM/gdb-7.10/bfd/cpu-mep.c R processors/ARM/gdb-7.10/bfd/cpu-metag.c R processors/ARM/gdb-7.10/bfd/cpu-microblaze.c R processors/ARM/gdb-7.10/bfd/cpu-mips.c R processors/ARM/gdb-7.10/bfd/cpu-mmix.c R processors/ARM/gdb-7.10/bfd/cpu-moxie.c R processors/ARM/gdb-7.10/bfd/cpu-msp430.c R processors/ARM/gdb-7.10/bfd/cpu-mt.c R processors/ARM/gdb-7.10/bfd/cpu-nds32.c R processors/ARM/gdb-7.10/bfd/cpu-nios2.c R processors/ARM/gdb-7.10/bfd/cpu-ns32k.c R processors/ARM/gdb-7.10/bfd/cpu-or1k.c R processors/ARM/gdb-7.10/bfd/cpu-pdp11.c R processors/ARM/gdb-7.10/bfd/cpu-pj.c R processors/ARM/gdb-7.10/bfd/cpu-plugin.c R processors/ARM/gdb-7.10/bfd/cpu-powerpc.c R processors/ARM/gdb-7.10/bfd/cpu-rl78.c R processors/ARM/gdb-7.10/bfd/cpu-rs6000.c R processors/ARM/gdb-7.10/bfd/cpu-rx.c R processors/ARM/gdb-7.10/bfd/cpu-s390.c R processors/ARM/gdb-7.10/bfd/cpu-score.c R processors/ARM/gdb-7.10/bfd/cpu-sh.c R processors/ARM/gdb-7.10/bfd/cpu-sparc.c R processors/ARM/gdb-7.10/bfd/cpu-spu.c R processors/ARM/gdb-7.10/bfd/cpu-tic30.c R processors/ARM/gdb-7.10/bfd/cpu-tic4x.c R processors/ARM/gdb-7.10/bfd/cpu-tic54x.c R processors/ARM/gdb-7.10/bfd/cpu-tic6x.c R processors/ARM/gdb-7.10/bfd/cpu-tic80.c R processors/ARM/gdb-7.10/bfd/cpu-tilegx.c R processors/ARM/gdb-7.10/bfd/cpu-tilepro.c R processors/ARM/gdb-7.10/bfd/cpu-v850.c R processors/ARM/gdb-7.10/bfd/cpu-v850_rh850.c R processors/ARM/gdb-7.10/bfd/cpu-vax.c R processors/ARM/gdb-7.10/bfd/cpu-visium.c R processors/ARM/gdb-7.10/bfd/cpu-w65.c R processors/ARM/gdb-7.10/bfd/cpu-we32k.c R processors/ARM/gdb-7.10/bfd/cpu-xc16x.c R processors/ARM/gdb-7.10/bfd/cpu-xgate.c R processors/ARM/gdb-7.10/bfd/cpu-xstormy16.c R processors/ARM/gdb-7.10/bfd/cpu-xtensa.c R processors/ARM/gdb-7.10/bfd/cpu-z80.c R processors/ARM/gdb-7.10/bfd/cpu-z8k.c R processors/ARM/gdb-7.10/bfd/demo64.c R processors/ARM/gdb-7.10/bfd/development.sh R processors/ARM/gdb-7.10/bfd/doc/Makefile.am R processors/ARM/gdb-7.10/bfd/doc/Makefile.in R processors/ARM/gdb-7.10/bfd/doc/aoutx.texi R processors/ARM/gdb-7.10/bfd/doc/archive.texi R processors/ARM/gdb-7.10/bfd/doc/archures.texi R processors/ARM/gdb-7.10/bfd/doc/bfd.info R processors/ARM/gdb-7.10/bfd/doc/bfd.texinfo R processors/ARM/gdb-7.10/bfd/doc/bfdint.texi R processors/ARM/gdb-7.10/bfd/doc/bfdio.texi R processors/ARM/gdb-7.10/bfd/doc/bfdsumm.texi R processors/ARM/gdb-7.10/bfd/doc/bfdt.texi R processors/ARM/gdb-7.10/bfd/doc/bfdver.texi R processors/ARM/gdb-7.10/bfd/doc/bfdwin.texi R processors/ARM/gdb-7.10/bfd/doc/cache.texi R processors/ARM/gdb-7.10/bfd/doc/chew.c R processors/ARM/gdb-7.10/bfd/doc/chw8494 R processors/ARM/gdb-7.10/bfd/doc/coffcode.texi R processors/ARM/gdb-7.10/bfd/doc/core.texi R processors/ARM/gdb-7.10/bfd/doc/elf.texi R processors/ARM/gdb-7.10/bfd/doc/elfcode.texi R processors/ARM/gdb-7.10/bfd/doc/format.texi R processors/ARM/gdb-7.10/bfd/doc/hash.texi R processors/ARM/gdb-7.10/bfd/doc/header.sed R processors/ARM/gdb-7.10/bfd/doc/init.texi R processors/ARM/gdb-7.10/bfd/doc/libbfd.texi R processors/ARM/gdb-7.10/bfd/doc/linker.texi R processors/ARM/gdb-7.10/bfd/doc/makefile.vms R processors/ARM/gdb-7.10/bfd/doc/mmo.texi R processors/ARM/gdb-7.10/bfd/doc/opncls.texi R processors/ARM/gdb-7.10/bfd/doc/reloc.texi R processors/ARM/gdb-7.10/bfd/doc/section.texi R processors/ARM/gdb-7.10/bfd/doc/syms.texi R processors/ARM/gdb-7.10/bfd/doc/targets.texi R processors/ARM/gdb-7.10/bfd/dwarf1.c R processors/ARM/gdb-7.10/bfd/dwarf2.c R processors/ARM/gdb-7.10/bfd/ecoff.c R processors/ARM/gdb-7.10/bfd/ecofflink.c R processors/ARM/gdb-7.10/bfd/ecoffswap.h R processors/ARM/gdb-7.10/bfd/elf-attrs.c R processors/ARM/gdb-7.10/bfd/elf-bfd.h R processors/ARM/gdb-7.10/bfd/elf-eh-frame.c R processors/ARM/gdb-7.10/bfd/elf-hppa.h R processors/ARM/gdb-7.10/bfd/elf-ifunc.c R processors/ARM/gdb-7.10/bfd/elf-linux-psinfo.h R processors/ARM/gdb-7.10/bfd/elf-m10200.c R processors/ARM/gdb-7.10/bfd/elf-m10300.c R processors/ARM/gdb-7.10/bfd/elf-nacl.c R processors/ARM/gdb-7.10/bfd/elf-nacl.h R processors/ARM/gdb-7.10/bfd/elf-s390-common.c R processors/ARM/gdb-7.10/bfd/elf-strtab.c R processors/ARM/gdb-7.10/bfd/elf-vxworks.c R processors/ARM/gdb-7.10/bfd/elf-vxworks.h R processors/ARM/gdb-7.10/bfd/elf.c R processors/ARM/gdb-7.10/bfd/elf32-am33lin.c R processors/ARM/gdb-7.10/bfd/elf32-arc.c R processors/ARM/gdb-7.10/bfd/elf32-arm.c R processors/ARM/gdb-7.10/bfd/elf32-avr.c R processors/ARM/gdb-7.10/bfd/elf32-avr.h R processors/ARM/gdb-7.10/bfd/elf32-bfin.c R processors/ARM/gdb-7.10/bfd/elf32-cr16.c R processors/ARM/gdb-7.10/bfd/elf32-cr16c.c R processors/ARM/gdb-7.10/bfd/elf32-cris.c R processors/ARM/gdb-7.10/bfd/elf32-crx.c R processors/ARM/gdb-7.10/bfd/elf32-d10v.c R processors/ARM/gdb-7.10/bfd/elf32-d30v.c R processors/ARM/gdb-7.10/bfd/elf32-dlx.c R processors/ARM/gdb-7.10/bfd/elf32-epiphany.c R processors/ARM/gdb-7.10/bfd/elf32-fr30.c R processors/ARM/gdb-7.10/bfd/elf32-frv.c R processors/ARM/gdb-7.10/bfd/elf32-ft32.c R processors/ARM/gdb-7.10/bfd/elf32-gen.c R processors/ARM/gdb-7.10/bfd/elf32-h8300.c R processors/ARM/gdb-7.10/bfd/elf32-hppa.c R processors/ARM/gdb-7.10/bfd/elf32-hppa.h R processors/ARM/gdb-7.10/bfd/elf32-i370.c R processors/ARM/gdb-7.10/bfd/elf32-i386.c R processors/ARM/gdb-7.10/bfd/elf32-i860.c R processors/ARM/gdb-7.10/bfd/elf32-i960.c R processors/ARM/gdb-7.10/bfd/elf32-ip2k.c R processors/ARM/gdb-7.10/bfd/elf32-iq2000.c R processors/ARM/gdb-7.10/bfd/elf32-lm32.c R processors/ARM/gdb-7.10/bfd/elf32-m32c.c R processors/ARM/gdb-7.10/bfd/elf32-m32r.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc11.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc12.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc1x.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc1x.h R processors/ARM/gdb-7.10/bfd/elf32-m68k.c R processors/ARM/gdb-7.10/bfd/elf32-m88k.c R processors/ARM/gdb-7.10/bfd/elf32-mcore.c R processors/ARM/gdb-7.10/bfd/elf32-mep.c R processors/ARM/gdb-7.10/bfd/elf32-metag.c R processors/ARM/gdb-7.10/bfd/elf32-metag.h R processors/ARM/gdb-7.10/bfd/elf32-microblaze.c R processors/ARM/gdb-7.10/bfd/elf32-mips.c R processors/ARM/gdb-7.10/bfd/elf32-moxie.c R processors/ARM/gdb-7.10/bfd/elf32-msp430.c R processors/ARM/gdb-7.10/bfd/elf32-mt.c R processors/ARM/gdb-7.10/bfd/elf32-nds32.c R processors/ARM/gdb-7.10/bfd/elf32-nds32.h R processors/ARM/gdb-7.10/bfd/elf32-nios2.c R processors/ARM/gdb-7.10/bfd/elf32-nios2.h R processors/ARM/gdb-7.10/bfd/elf32-or1k.c R processors/ARM/gdb-7.10/bfd/elf32-pj.c R processors/ARM/gdb-7.10/bfd/elf32-ppc.c R processors/ARM/gdb-7.10/bfd/elf32-ppc.h R processors/ARM/gdb-7.10/bfd/elf32-rl78.c R processors/ARM/gdb-7.10/bfd/elf32-rx.c R processors/ARM/gdb-7.10/bfd/elf32-rx.h R processors/ARM/gdb-7.10/bfd/elf32-s390.c R processors/ARM/gdb-7.10/bfd/elf32-score.c R processors/ARM/gdb-7.10/bfd/elf32-score.h R processors/ARM/gdb-7.10/bfd/elf32-score7.c R processors/ARM/gdb-7.10/bfd/elf32-sh-relocs.h R processors/ARM/gdb-7.10/bfd/elf32-sh-symbian.c R processors/ARM/gdb-7.10/bfd/elf32-sh.c R processors/ARM/gdb-7.10/bfd/elf32-sh64-com.c R processors/ARM/gdb-7.10/bfd/elf32-sh64.c R processors/ARM/gdb-7.10/bfd/elf32-sh64.h R processors/ARM/gdb-7.10/bfd/elf32-sparc.c R processors/ARM/gdb-7.10/bfd/elf32-spu.c R processors/ARM/gdb-7.10/bfd/elf32-spu.h R processors/ARM/gdb-7.10/bfd/elf32-tic6x.c R processors/ARM/gdb-7.10/bfd/elf32-tic6x.h R processors/ARM/gdb-7.10/bfd/elf32-tilegx.c R processors/ARM/gdb-7.10/bfd/elf32-tilegx.h R processors/ARM/gdb-7.10/bfd/elf32-tilepro.c R processors/ARM/gdb-7.10/bfd/elf32-tilepro.h R processors/ARM/gdb-7.10/bfd/elf32-v850.c R processors/ARM/gdb-7.10/bfd/elf32-vax.c R processors/ARM/gdb-7.10/bfd/elf32-visium.c R processors/ARM/gdb-7.10/bfd/elf32-xc16x.c R processors/ARM/gdb-7.10/bfd/elf32-xgate.c R processors/ARM/gdb-7.10/bfd/elf32-xgate.h R processors/ARM/gdb-7.10/bfd/elf32-xstormy16.c R processors/ARM/gdb-7.10/bfd/elf32-xtensa.c R processors/ARM/gdb-7.10/bfd/elf32.c R processors/ARM/gdb-7.10/bfd/elf64-alpha.c R processors/ARM/gdb-7.10/bfd/elf64-gen.c R processors/ARM/gdb-7.10/bfd/elf64-hppa.c R processors/ARM/gdb-7.10/bfd/elf64-hppa.h R processors/ARM/gdb-7.10/bfd/elf64-ia64-vms.c R processors/ARM/gdb-7.10/bfd/elf64-mips.c R processors/ARM/gdb-7.10/bfd/elf64-mmix.c R processors/ARM/gdb-7.10/bfd/elf64-ppc.c R processors/ARM/gdb-7.10/bfd/elf64-ppc.h R processors/ARM/gdb-7.10/bfd/elf64-s390.c R processors/ARM/gdb-7.10/bfd/elf64-sh64.c R processors/ARM/gdb-7.10/bfd/elf64-sparc.c R processors/ARM/gdb-7.10/bfd/elf64-tilegx.c R processors/ARM/gdb-7.10/bfd/elf64-tilegx.h R processors/ARM/gdb-7.10/bfd/elf64-x86-64.c R processors/ARM/gdb-7.10/bfd/elf64.c R processors/ARM/gdb-7.10/bfd/elfcode.h R processors/ARM/gdb-7.10/bfd/elfcore.h R processors/ARM/gdb-7.10/bfd/elflink.c R processors/ARM/gdb-7.10/bfd/elfn32-mips.c R processors/ARM/gdb-7.10/bfd/elfnn-aarch64.c R processors/ARM/gdb-7.10/bfd/elfnn-ia64.c R processors/ARM/gdb-7.10/bfd/elfxx-aarch64.c R processors/ARM/gdb-7.10/bfd/elfxx-aarch64.h R processors/ARM/gdb-7.10/bfd/elfxx-ia64.c R processors/ARM/gdb-7.10/bfd/elfxx-ia64.h R processors/ARM/gdb-7.10/bfd/elfxx-mips.c R processors/ARM/gdb-7.10/bfd/elfxx-mips.h R processors/ARM/gdb-7.10/bfd/elfxx-sparc.c R processors/ARM/gdb-7.10/bfd/elfxx-sparc.h R processors/ARM/gdb-7.10/bfd/elfxx-target.h R processors/ARM/gdb-7.10/bfd/elfxx-tilegx.c R processors/ARM/gdb-7.10/bfd/elfxx-tilegx.h R processors/ARM/gdb-7.10/bfd/epoc-pe-arm.c R processors/ARM/gdb-7.10/bfd/epoc-pei-arm.c R processors/ARM/gdb-7.10/bfd/format.c R processors/ARM/gdb-7.10/bfd/freebsd.h R processors/ARM/gdb-7.10/bfd/gen-aout.c R processors/ARM/gdb-7.10/bfd/genlink.h R processors/ARM/gdb-7.10/bfd/hash.c R processors/ARM/gdb-7.10/bfd/host-aout.c R processors/ARM/gdb-7.10/bfd/hosts/alphalinux.h R processors/ARM/gdb-7.10/bfd/hosts/alphavms.h R processors/ARM/gdb-7.10/bfd/hosts/decstation.h R processors/ARM/gdb-7.10/bfd/hosts/delta68.h R processors/ARM/gdb-7.10/bfd/hosts/dpx2.h R processors/ARM/gdb-7.10/bfd/hosts/hp300bsd.h R processors/ARM/gdb-7.10/bfd/hosts/i386bsd.h R processors/ARM/gdb-7.10/bfd/hosts/i386linux.h R processors/ARM/gdb-7.10/bfd/hosts/i386mach3.h R processors/ARM/gdb-7.10/bfd/hosts/i386sco.h R processors/ARM/gdb-7.10/bfd/hosts/i860mach3.h R processors/ARM/gdb-7.10/bfd/hosts/m68kaux.h R processors/ARM/gdb-7.10/bfd/hosts/m68klinux.h R processors/ARM/gdb-7.10/bfd/hosts/m88kmach3.h R processors/ARM/gdb-7.10/bfd/hosts/mipsbsd.h R processors/ARM/gdb-7.10/bfd/hosts/mipsmach3.h R processors/ARM/gdb-7.10/bfd/hosts/news-mips.h R processors/ARM/gdb-7.10/bfd/hosts/news.h R processors/ARM/gdb-7.10/bfd/hosts/pc532mach.h R processors/ARM/gdb-7.10/bfd/hosts/riscos.h R processors/ARM/gdb-7.10/bfd/hosts/symmetry.h R processors/ARM/gdb-7.10/bfd/hosts/tahoe.h R processors/ARM/gdb-7.10/bfd/hosts/vaxbsd.h R processors/ARM/gdb-7.10/bfd/hosts/vaxlinux.h R processors/ARM/gdb-7.10/bfd/hosts/vaxult.h R processors/ARM/gdb-7.10/bfd/hosts/vaxult2.h R processors/ARM/gdb-7.10/bfd/hosts/x86-64linux.h R processors/ARM/gdb-7.10/bfd/hp300bsd.c R processors/ARM/gdb-7.10/bfd/hp300hpux.c R processors/ARM/gdb-7.10/bfd/hppabsd-core.c R processors/ARM/gdb-7.10/bfd/hpux-core.c R processors/ARM/gdb-7.10/bfd/i386aout.c R processors/ARM/gdb-7.10/bfd/i386bsd.c R processors/ARM/gdb-7.10/bfd/i386dynix.c R processors/ARM/gdb-7.10/bfd/i386freebsd.c R processors/ARM/gdb-7.10/bfd/i386linux.c R processors/ARM/gdb-7.10/bfd/i386lynx.c R processors/ARM/gdb-7.10/bfd/i386mach3.c R processors/ARM/gdb-7.10/bfd/i386msdos.c R processors/ARM/gdb-7.10/bfd/i386netbsd.c R processors/ARM/gdb-7.10/bfd/i386os9k.c R processors/ARM/gdb-7.10/bfd/ieee.c R processors/ARM/gdb-7.10/bfd/ihex.c R processors/ARM/gdb-7.10/bfd/init.c R processors/ARM/gdb-7.10/bfd/irix-core.c R processors/ARM/gdb-7.10/bfd/libaout.h R processors/ARM/gdb-7.10/bfd/libbfd-in.h R processors/ARM/gdb-7.10/bfd/libbfd.c R processors/ARM/gdb-7.10/bfd/libbfd.h R processors/ARM/gdb-7.10/bfd/libcoff-in.h R processors/ARM/gdb-7.10/bfd/libcoff.h R processors/ARM/gdb-7.10/bfd/libecoff.h R processors/ARM/gdb-7.10/bfd/libhppa.h R processors/ARM/gdb-7.10/bfd/libieee.h R processors/ARM/gdb-7.10/bfd/libnlm.h R processors/ARM/gdb-7.10/bfd/liboasys.h R processors/ARM/gdb-7.10/bfd/libpei.h R processors/ARM/gdb-7.10/bfd/libxcoff.h R processors/ARM/gdb-7.10/bfd/linker.c R processors/ARM/gdb-7.10/bfd/lynx-core.c R processors/ARM/gdb-7.10/bfd/m68k4knetbsd.c R processors/ARM/gdb-7.10/bfd/m68klinux.c R processors/ARM/gdb-7.10/bfd/m68knetbsd.c R processors/ARM/gdb-7.10/bfd/m88kmach3.c R processors/ARM/gdb-7.10/bfd/m88kopenbsd.c R processors/ARM/gdb-7.10/bfd/mach-o-i386.c R processors/ARM/gdb-7.10/bfd/mach-o-target.c R processors/ARM/gdb-7.10/bfd/mach-o-x86-64.c R processors/ARM/gdb-7.10/bfd/mach-o.c R processors/ARM/gdb-7.10/bfd/mach-o.h R processors/ARM/gdb-7.10/bfd/makefile.vms R processors/ARM/gdb-7.10/bfd/mep-relocs.pl R processors/ARM/gdb-7.10/bfd/merge.c R processors/ARM/gdb-7.10/bfd/mipsbsd.c R processors/ARM/gdb-7.10/bfd/mmo.c R processors/ARM/gdb-7.10/bfd/netbsd-core.c R processors/ARM/gdb-7.10/bfd/netbsd.h R processors/ARM/gdb-7.10/bfd/newsos3.c R processors/ARM/gdb-7.10/bfd/nlm-target.h R processors/ARM/gdb-7.10/bfd/nlm.c R processors/ARM/gdb-7.10/bfd/nlm32-alpha.c R processors/ARM/gdb-7.10/bfd/nlm32-i386.c R processors/ARM/gdb-7.10/bfd/nlm32-ppc.c R processors/ARM/gdb-7.10/bfd/nlm32-sparc.c R processors/ARM/gdb-7.10/bfd/nlm32.c R processors/ARM/gdb-7.10/bfd/nlm64.c R processors/ARM/gdb-7.10/bfd/nlmcode.h R processors/ARM/gdb-7.10/bfd/nlmswap.h R processors/ARM/gdb-7.10/bfd/ns32k.h R processors/ARM/gdb-7.10/bfd/ns32knetbsd.c R processors/ARM/gdb-7.10/bfd/oasys.c R processors/ARM/gdb-7.10/bfd/opncls.c R processors/ARM/gdb-7.10/bfd/osf-core.c R processors/ARM/gdb-7.10/bfd/pc532-mach.c R processors/ARM/gdb-7.10/bfd/pdp11.c R processors/ARM/gdb-7.10/bfd/pe-arm-wince.c R processors/ARM/gdb-7.10/bfd/pe-arm.c R processors/ARM/gdb-7.10/bfd/pe-i386.c R processors/ARM/gdb-7.10/bfd/pe-mcore.c R processors/ARM/gdb-7.10/bfd/pe-mips.c R processors/ARM/gdb-7.10/bfd/pe-ppc.c R processors/ARM/gdb-7.10/bfd/pe-sh.c R processors/ARM/gdb-7.10/bfd/pe-x86_64.c R processors/ARM/gdb-7.10/bfd/peXXigen.c R processors/ARM/gdb-7.10/bfd/pef-traceback.h R processors/ARM/gdb-7.10/bfd/pef.c R processors/ARM/gdb-7.10/bfd/pef.h R processors/ARM/gdb-7.10/bfd/pei-arm-wince.c R processors/ARM/gdb-7.10/bfd/pei-arm.c R processors/ARM/gdb-7.10/bfd/pei-i386.c R processors/ARM/gdb-7.10/bfd/pei-ia64.c R processors/ARM/gdb-7.10/bfd/pei-mcore.c R processors/ARM/gdb-7.10/bfd/pei-mips.c R processors/ARM/gdb-7.10/bfd/pei-ppc.c R processors/ARM/gdb-7.10/bfd/pei-sh.c R processors/ARM/gdb-7.10/bfd/pei-x86_64.c R processors/ARM/gdb-7.10/bfd/peicode.h R processors/ARM/gdb-7.10/bfd/plugin.c R processors/ARM/gdb-7.10/bfd/plugin.h R processors/ARM/gdb-7.10/bfd/po/BLD-POTFILES.in R processors/ARM/gdb-7.10/bfd/po/Make-in R processors/ARM/gdb-7.10/bfd/po/SRC-POTFILES.in R processors/ARM/gdb-7.10/bfd/po/bfd.pot R processors/ARM/gdb-7.10/bfd/po/da.gmo R processors/ARM/gdb-7.10/bfd/po/da.po R processors/ARM/gdb-7.10/bfd/po/es.gmo R processors/ARM/gdb-7.10/bfd/po/es.po R processors/ARM/gdb-7.10/bfd/po/fi.gmo R processors/ARM/gdb-7.10/bfd/po/fi.po R processors/ARM/gdb-7.10/bfd/po/fr.gmo R processors/ARM/gdb-7.10/bfd/po/fr.po R processors/ARM/gdb-7.10/bfd/po/id.gmo R processors/ARM/gdb-7.10/bfd/po/id.po R processors/ARM/gdb-7.10/bfd/po/ja.gmo R processors/ARM/gdb-7.10/bfd/po/ja.po R processors/ARM/gdb-7.10/bfd/po/ro.gmo R processors/ARM/gdb-7.10/bfd/po/ro.po R processors/ARM/gdb-7.10/bfd/po/ru.gmo R processors/ARM/gdb-7.10/bfd/po/ru.po R processors/ARM/gdb-7.10/bfd/po/rw.gmo R processors/ARM/gdb-7.10/bfd/po/sv.gmo R processors/ARM/gdb-7.10/bfd/po/sv.po R processors/ARM/gdb-7.10/bfd/po/tr.gmo R processors/ARM/gdb-7.10/bfd/po/tr.po R processors/ARM/gdb-7.10/bfd/po/uk.gmo R processors/ARM/gdb-7.10/bfd/po/uk.po R processors/ARM/gdb-7.10/bfd/po/vi.gmo R processors/ARM/gdb-7.10/bfd/po/vi.po R processors/ARM/gdb-7.10/bfd/po/zh_CN.gmo R processors/ARM/gdb-7.10/bfd/po/zh_CN.po R processors/ARM/gdb-7.10/bfd/ppcboot.c R processors/ARM/gdb-7.10/bfd/ptrace-core.c R processors/ARM/gdb-7.10/bfd/reloc.c R processors/ARM/gdb-7.10/bfd/reloc16.c R processors/ARM/gdb-7.10/bfd/riscix.c R processors/ARM/gdb-7.10/bfd/rs6000-core.c R processors/ARM/gdb-7.10/bfd/sco5-core.c R processors/ARM/gdb-7.10/bfd/section.c R processors/ARM/gdb-7.10/bfd/simple.c R processors/ARM/gdb-7.10/bfd/som.c R processors/ARM/gdb-7.10/bfd/som.h R processors/ARM/gdb-7.10/bfd/sparclinux.c R processors/ARM/gdb-7.10/bfd/sparclynx.c R processors/ARM/gdb-7.10/bfd/sparcnetbsd.c R processors/ARM/gdb-7.10/bfd/srec.c R processors/ARM/gdb-7.10/bfd/stab-syms.c R processors/ARM/gdb-7.10/bfd/stabs.c R processors/ARM/gdb-7.10/bfd/sunos.c R processors/ARM/gdb-7.10/bfd/syms.c R processors/ARM/gdb-7.10/bfd/sysdep.h R processors/ARM/gdb-7.10/bfd/targets.c R processors/ARM/gdb-7.10/bfd/tekhex.c R processors/ARM/gdb-7.10/bfd/trad-core.c R processors/ARM/gdb-7.10/bfd/vax1knetbsd.c R processors/ARM/gdb-7.10/bfd/vaxbsd.c R processors/ARM/gdb-7.10/bfd/vaxnetbsd.c R processors/ARM/gdb-7.10/bfd/verilog.c R processors/ARM/gdb-7.10/bfd/versados.c R processors/ARM/gdb-7.10/bfd/version.h R processors/ARM/gdb-7.10/bfd/version.m4 R processors/ARM/gdb-7.10/bfd/vms-alpha.c R processors/ARM/gdb-7.10/bfd/vms-lib.c R processors/ARM/gdb-7.10/bfd/vms-misc.c R processors/ARM/gdb-7.10/bfd/vms.h R processors/ARM/gdb-7.10/bfd/warning.m4 R processors/ARM/gdb-7.10/bfd/xcofflink.c R processors/ARM/gdb-7.10/bfd/xsym.c R processors/ARM/gdb-7.10/bfd/xsym.h R processors/ARM/gdb-7.10/bfd/xtensa-isa.c R processors/ARM/gdb-7.10/bfd/xtensa-modules.c R processors/ARM/gdb-7.10/compile R processors/ARM/gdb-7.10/config-ml.in R processors/ARM/gdb-7.10/config.guess R processors/ARM/gdb-7.10/config.sub R processors/ARM/gdb-7.10/config/ChangeLog R processors/ARM/gdb-7.10/config/acx.m4 R processors/ARM/gdb-7.10/config/bootstrap-asan.mk R processors/ARM/gdb-7.10/config/bootstrap-debug-lean.mk R processors/ARM/gdb-7.10/config/bootstrap-lto.mk R processors/ARM/gdb-7.10/config/bootstrap-ubsan.mk R processors/ARM/gdb-7.10/config/dfp.m4 R processors/ARM/gdb-7.10/config/gettext.m4 R processors/ARM/gdb-7.10/config/iconv.m4 R processors/ARM/gdb-7.10/config/isl.m4 R processors/ARM/gdb-7.10/config/math.m4 R processors/ARM/gdb-7.10/config/multi.m4 R processors/ARM/gdb-7.10/config/override.m4 R processors/ARM/gdb-7.10/config/picflag.m4 R processors/ARM/gdb-7.10/config/plugins.m4 R processors/ARM/gdb-7.10/config/po.m4 R processors/ARM/gdb-7.10/config/stdint.m4 R processors/ARM/gdb-7.10/config/tcl.m4 R processors/ARM/gdb-7.10/config/tls.m4 R processors/ARM/gdb-7.10/config/warnings.m4 R processors/ARM/gdb-7.10/configure R processors/ARM/gdb-7.10/configure.ac R processors/ARM/gdb-7.10/include/COPYING R processors/ARM/gdb-7.10/include/COPYING3 R processors/ARM/gdb-7.10/include/ChangeLog R processors/ARM/gdb-7.10/include/ChangeLog-9103 R processors/ARM/gdb-7.10/include/MAINTAINERS R processors/ARM/gdb-7.10/include/alloca-conf.h R processors/ARM/gdb-7.10/include/ansidecl.h R processors/ARM/gdb-7.10/include/aout/ChangeLog R processors/ARM/gdb-7.10/include/aout/adobe.h R processors/ARM/gdb-7.10/include/aout/aout64.h R processors/ARM/gdb-7.10/include/aout/ar.h R processors/ARM/gdb-7.10/include/aout/dynix3.h R processors/ARM/gdb-7.10/include/aout/encap.h R processors/ARM/gdb-7.10/include/aout/host.h R processors/ARM/gdb-7.10/include/aout/hp.h R processors/ARM/gdb-7.10/include/aout/hp300hpux.h R processors/ARM/gdb-7.10/include/aout/hppa.h R processors/ARM/gdb-7.10/include/aout/ranlib.h R processors/ARM/gdb-7.10/include/aout/reloc.h R processors/ARM/gdb-7.10/include/aout/stab.def R processors/ARM/gdb-7.10/include/aout/stab_gnu.h R processors/ARM/gdb-7.10/include/aout/sun4.h R processors/ARM/gdb-7.10/include/bfdlink.h R processors/ARM/gdb-7.10/include/binary-io.h R processors/ARM/gdb-7.10/include/bout.h R processors/ARM/gdb-7.10/include/cgen/basic-modes.h R processors/ARM/gdb-7.10/include/cgen/basic-ops.h R processors/ARM/gdb-7.10/include/cgen/bitset.h R processors/ARM/gdb-7.10/include/coff/alpha.h R processors/ARM/gdb-7.10/include/coff/apollo.h R processors/ARM/gdb-7.10/include/coff/arm.h R processors/ARM/gdb-7.10/include/coff/aux-coff.h R processors/ARM/gdb-7.10/include/coff/ecoff.h R processors/ARM/gdb-7.10/include/coff/external.h R processors/ARM/gdb-7.10/include/coff/go32exe.h R processors/ARM/gdb-7.10/include/coff/h8300.h R processors/ARM/gdb-7.10/include/coff/h8500.h R processors/ARM/gdb-7.10/include/coff/i386.h R processors/ARM/gdb-7.10/include/coff/i860.h R processors/ARM/gdb-7.10/include/coff/i960.h R processors/ARM/gdb-7.10/include/coff/ia64.h R processors/ARM/gdb-7.10/include/coff/internal.h R processors/ARM/gdb-7.10/include/coff/m68k.h R processors/ARM/gdb-7.10/include/coff/m88k.h R processors/ARM/gdb-7.10/include/coff/mcore.h R processors/ARM/gdb-7.10/include/coff/mips.h R processors/ARM/gdb-7.10/include/coff/mipspe.h R processors/ARM/gdb-7.10/include/coff/pe.h R processors/ARM/gdb-7.10/include/coff/powerpc.h R processors/ARM/gdb-7.10/include/coff/rs6000.h R processors/ARM/gdb-7.10/include/coff/rs6k64.h R processors/ARM/gdb-7.10/include/coff/sh.h R processors/ARM/gdb-7.10/include/coff/sparc.h R processors/ARM/gdb-7.10/include/coff/ti.h R processors/ARM/gdb-7.10/include/coff/tic30.h R processors/ARM/gdb-7.10/include/coff/tic4x.h R processors/ARM/gdb-7.10/include/coff/tic54x.h R processors/ARM/gdb-7.10/include/coff/tic80.h R processors/ARM/gdb-7.10/include/coff/w65.h R processors/ARM/gdb-7.10/include/coff/we32k.h R processors/ARM/gdb-7.10/include/coff/x86_64.h R processors/ARM/gdb-7.10/include/coff/xcoff.h R processors/ARM/gdb-7.10/include/coff/z80.h R processors/ARM/gdb-7.10/include/coff/z8k.h R processors/ARM/gdb-7.10/include/demangle.h R processors/ARM/gdb-7.10/include/dis-asm.h R processors/ARM/gdb-7.10/include/dwarf2.def R processors/ARM/gdb-7.10/include/dwarf2.h R processors/ARM/gdb-7.10/include/dyn-string.h R processors/ARM/gdb-7.10/include/elf/ChangeLog R processors/ARM/gdb-7.10/include/elf/aarch64.h R processors/ARM/gdb-7.10/include/elf/alpha.h R processors/ARM/gdb-7.10/include/elf/arc.h R processors/ARM/gdb-7.10/include/elf/arm.h R processors/ARM/gdb-7.10/include/elf/avr.h R processors/ARM/gdb-7.10/include/elf/bfin.h R processors/ARM/gdb-7.10/include/elf/common.h R processors/ARM/gdb-7.10/include/elf/cr16.h R processors/ARM/gdb-7.10/include/elf/cr16c.h R processors/ARM/gdb-7.10/include/elf/cris.h R processors/ARM/gdb-7.10/include/elf/crx.h R processors/ARM/gdb-7.10/include/elf/d10v.h R processors/ARM/gdb-7.10/include/elf/d30v.h R processors/ARM/gdb-7.10/include/elf/dlx.h R processors/ARM/gdb-7.10/include/elf/dwarf.h R processors/ARM/gdb-7.10/include/elf/epiphany.h R processors/ARM/gdb-7.10/include/elf/external.h R processors/ARM/gdb-7.10/include/elf/fr30.h R processors/ARM/gdb-7.10/include/elf/frv.h R processors/ARM/gdb-7.10/include/elf/ft32.h R processors/ARM/gdb-7.10/include/elf/h8.h R processors/ARM/gdb-7.10/include/elf/hppa.h R processors/ARM/gdb-7.10/include/elf/i370.h R processors/ARM/gdb-7.10/include/elf/i386.h R processors/ARM/gdb-7.10/include/elf/i860.h R processors/ARM/gdb-7.10/include/elf/i960.h R processors/ARM/gdb-7.10/include/elf/ia64.h R processors/ARM/gdb-7.10/include/elf/internal.h R processors/ARM/gdb-7.10/include/elf/ip2k.h R processors/ARM/gdb-7.10/include/elf/iq2000.h R processors/ARM/gdb-7.10/include/elf/lm32.h R processors/ARM/gdb-7.10/include/elf/m32c.h R processors/ARM/gdb-7.10/include/elf/m32r.h R processors/ARM/gdb-7.10/include/elf/m68hc11.h R processors/ARM/gdb-7.10/include/elf/m68k.h R processors/ARM/gdb-7.10/include/elf/mcore.h R processors/ARM/gdb-7.10/include/elf/mep.h R processors/ARM/gdb-7.10/include/elf/metag.h R processors/ARM/gdb-7.10/include/elf/microblaze.h R processors/ARM/gdb-7.10/include/elf/mips.h R processors/ARM/gdb-7.10/include/elf/mmix.h R processors/ARM/gdb-7.10/include/elf/mn10200.h R processors/ARM/gdb-7.10/include/elf/mn10300.h R processors/ARM/gdb-7.10/include/elf/moxie.h R processors/ARM/gdb-7.10/include/elf/msp430.h R processors/ARM/gdb-7.10/include/elf/mt.h R processors/ARM/gdb-7.10/include/elf/nds32.h R processors/ARM/gdb-7.10/include/elf/nios2.h R processors/ARM/gdb-7.10/include/elf/or1k.h R processors/ARM/gdb-7.10/include/elf/pj.h R processors/ARM/gdb-7.10/include/elf/ppc.h R processors/ARM/gdb-7.10/include/elf/ppc64.h R processors/ARM/gdb-7.10/include/elf/reloc-macros.h R processors/ARM/gdb-7.10/include/elf/rl78.h R processors/ARM/gdb-7.10/include/elf/rx.h R processors/ARM/gdb-7.10/include/elf/s390.h R processors/ARM/gdb-7.10/include/elf/score.h R processors/ARM/gdb-7.10/include/elf/sh.h R processors/ARM/gdb-7.10/include/elf/sparc.h R processors/ARM/gdb-7.10/include/elf/spu.h R processors/ARM/gdb-7.10/include/elf/tic6x-attrs.h R processors/ARM/gdb-7.10/include/elf/tic6x.h R processors/ARM/gdb-7.10/include/elf/tilegx.h R processors/ARM/gdb-7.10/include/elf/tilepro.h R processors/ARM/gdb-7.10/include/elf/v850.h R processors/ARM/gdb-7.10/include/elf/vax.h R processors/ARM/gdb-7.10/include/elf/visium.h R processors/ARM/gdb-7.10/include/elf/vxworks.h R processors/ARM/gdb-7.10/include/elf/x86-64.h R processors/ARM/gdb-7.10/include/elf/xc16x.h R processors/ARM/gdb-7.10/include/elf/xgate.h R processors/ARM/gdb-7.10/include/elf/xstormy16.h R processors/ARM/gdb-7.10/include/elf/xtensa.h R processors/ARM/gdb-7.10/include/fibheap.h R processors/ARM/gdb-7.10/include/filenames.h R processors/ARM/gdb-7.10/include/floatformat.h R processors/ARM/gdb-7.10/include/fnmatch.h R processors/ARM/gdb-7.10/include/fopen-bin.h R processors/ARM/gdb-7.10/include/fopen-same.h R processors/ARM/gdb-7.10/include/fopen-vms.h R processors/ARM/gdb-7.10/include/gcc-c-fe.def R processors/ARM/gdb-7.10/include/gcc-c-interface.h R processors/ARM/gdb-7.10/include/gcc-interface.h R processors/ARM/gdb-7.10/include/gdb/ChangeLog R processors/ARM/gdb-7.10/include/gdb/callback.h R processors/ARM/gdb-7.10/include/gdb/fileio.h R processors/ARM/gdb-7.10/include/gdb/gdb-index.h R processors/ARM/gdb-7.10/include/gdb/remote-sim.h R processors/ARM/gdb-7.10/include/gdb/section-scripts.h R processors/ARM/gdb-7.10/include/gdb/signals.def R processors/ARM/gdb-7.10/include/gdb/signals.h R processors/ARM/gdb-7.10/include/gdb/sim-arm.h R processors/ARM/gdb-7.10/include/gdb/sim-bfin.h R processors/ARM/gdb-7.10/include/gdb/sim-cr16.h R processors/ARM/gdb-7.10/include/gdb/sim-d10v.h R processors/ARM/gdb-7.10/include/gdb/sim-frv.h R processors/ARM/gdb-7.10/include/gdb/sim-ft32.h R processors/ARM/gdb-7.10/include/gdb/sim-h8300.h R processors/ARM/gdb-7.10/include/gdb/sim-lm32.h R processors/ARM/gdb-7.10/include/gdb/sim-m32c.h R processors/ARM/gdb-7.10/include/gdb/sim-ppc.h R processors/ARM/gdb-7.10/include/gdb/sim-rl78.h R processors/ARM/gdb-7.10/include/gdb/sim-rx.h R processors/ARM/gdb-7.10/include/gdb/sim-sh.h R processors/ARM/gdb-7.10/include/getopt.h R processors/ARM/gdb-7.10/include/hashtab.h R processors/ARM/gdb-7.10/include/hp-symtab.h R processors/ARM/gdb-7.10/include/ieee.h R processors/ARM/gdb-7.10/include/leb128.h R processors/ARM/gdb-7.10/include/libiberty.h R processors/ARM/gdb-7.10/include/longlong.h R processors/ARM/gdb-7.10/include/lto-symtab.h R processors/ARM/gdb-7.10/include/mach-o/ChangeLog R processors/ARM/gdb-7.10/include/mach-o/arm.h R processors/ARM/gdb-7.10/include/mach-o/codesign.h R processors/ARM/gdb-7.10/include/mach-o/external.h R processors/ARM/gdb-7.10/include/mach-o/loader.h R processors/ARM/gdb-7.10/include/mach-o/reloc.h R processors/ARM/gdb-7.10/include/mach-o/unwind.h R processors/ARM/gdb-7.10/include/mach-o/x86-64.h R processors/ARM/gdb-7.10/include/md5.h R processors/ARM/gdb-7.10/include/nlm/ChangeLog R processors/ARM/gdb-7.10/include/nlm/alpha-ext.h R processors/ARM/gdb-7.10/include/nlm/common.h R processors/ARM/gdb-7.10/include/nlm/external.h R processors/ARM/gdb-7.10/include/nlm/i386-ext.h R processors/ARM/gdb-7.10/include/nlm/internal.h R processors/ARM/gdb-7.10/include/nlm/ppc-ext.h R processors/ARM/gdb-7.10/include/nlm/sparc32-ext.h R processors/ARM/gdb-7.10/include/oasys.h R processors/ARM/gdb-7.10/include/objalloc.h R processors/ARM/gdb-7.10/include/obstack.h R processors/ARM/gdb-7.10/include/opcode/ChangeLog R processors/ARM/gdb-7.10/include/opcode/aarch64.h R processors/ARM/gdb-7.10/include/opcode/alpha.h R processors/ARM/gdb-7.10/include/opcode/arc.h R processors/ARM/gdb-7.10/include/opcode/arm.h R processors/ARM/gdb-7.10/include/opcode/avr.h R processors/ARM/gdb-7.10/include/opcode/bfin.h R processors/ARM/gdb-7.10/include/opcode/cgen.h R processors/ARM/gdb-7.10/include/opcode/convex.h R processors/ARM/gdb-7.10/include/opcode/cr16.h R processors/ARM/gdb-7.10/include/opcode/cris.h R processors/ARM/gdb-7.10/include/opcode/crx.h R processors/ARM/gdb-7.10/include/opcode/d10v.h R processors/ARM/gdb-7.10/include/opcode/d30v.h R processors/ARM/gdb-7.10/include/opcode/dlx.h R processors/ARM/gdb-7.10/include/opcode/ft32.h R processors/ARM/gdb-7.10/include/opcode/h8300.h R processors/ARM/gdb-7.10/include/opcode/hppa.h R processors/ARM/gdb-7.10/include/opcode/i370.h R processors/ARM/gdb-7.10/include/opcode/i386.h R processors/ARM/gdb-7.10/include/opcode/i860.h R processors/ARM/gdb-7.10/include/opcode/i960.h R processors/ARM/gdb-7.10/include/opcode/ia64.h R processors/ARM/gdb-7.10/include/opcode/m68hc11.h R processors/ARM/gdb-7.10/include/opcode/m68k.h R processors/ARM/gdb-7.10/include/opcode/m88k.h R processors/ARM/gdb-7.10/include/opcode/metag.h R processors/ARM/gdb-7.10/include/opcode/mips.h R processors/ARM/gdb-7.10/include/opcode/mmix.h R processors/ARM/gdb-7.10/include/opcode/mn10200.h R processors/ARM/gdb-7.10/include/opcode/mn10300.h R processors/ARM/gdb-7.10/include/opcode/moxie.h R processors/ARM/gdb-7.10/include/opcode/msp430-decode.h R processors/ARM/gdb-7.10/include/opcode/msp430.h R processors/ARM/gdb-7.10/include/opcode/nds32.h R processors/ARM/gdb-7.10/include/opcode/nios2.h R processors/ARM/gdb-7.10/include/opcode/nios2r1.h R processors/ARM/gdb-7.10/include/opcode/nios2r2.h R processors/ARM/gdb-7.10/include/opcode/np1.h R processors/ARM/gdb-7.10/include/opcode/ns32k.h R processors/ARM/gdb-7.10/include/opcode/pdp11.h R processors/ARM/gdb-7.10/include/opcode/pj.h R processors/ARM/gdb-7.10/include/opcode/pn.h R processors/ARM/gdb-7.10/include/opcode/ppc.h R processors/ARM/gdb-7.10/include/opcode/pyr.h R processors/ARM/gdb-7.10/include/opcode/rl78.h R processors/ARM/gdb-7.10/include/opcode/rx.h R processors/ARM/gdb-7.10/include/opcode/s390.h R processors/ARM/gdb-7.10/include/opcode/score-datadep.h R processors/ARM/gdb-7.10/include/opcode/score-inst.h R processors/ARM/gdb-7.10/include/opcode/sparc.h R processors/ARM/gdb-7.10/include/opcode/spu-insns.h R processors/ARM/gdb-7.10/include/opcode/spu.h R processors/ARM/gdb-7.10/include/opcode/tahoe.h R processors/ARM/gdb-7.10/include/opcode/tic30.h R processors/ARM/gdb-7.10/include/opcode/tic4x.h R processors/ARM/gdb-7.10/include/opcode/tic54x.h R processors/ARM/gdb-7.10/include/opcode/tic6x-control-registers.h R processors/ARM/gdb-7.10/include/opcode/tic6x-insn-formats.h R processors/ARM/gdb-7.10/include/opcode/tic6x-opcode-table.h R processors/ARM/gdb-7.10/include/opcode/tic6x.h R processors/ARM/gdb-7.10/include/opcode/tic80.h R processors/ARM/gdb-7.10/include/opcode/tilegx.h R processors/ARM/gdb-7.10/include/opcode/tilepro.h R processors/ARM/gdb-7.10/include/opcode/v850.h R processors/ARM/gdb-7.10/include/opcode/vax.h R processors/ARM/gdb-7.10/include/opcode/visium.h R processors/ARM/gdb-7.10/include/opcode/xgate.h R processors/ARM/gdb-7.10/include/os9k.h R processors/ARM/gdb-7.10/include/partition.h R processors/ARM/gdb-7.10/include/plugin-api.h R processors/ARM/gdb-7.10/include/progress.h R processors/ARM/gdb-7.10/include/safe-ctype.h R processors/ARM/gdb-7.10/include/sha1.h R processors/ARM/gdb-7.10/include/simple-object.h R processors/ARM/gdb-7.10/include/som/aout.h R processors/ARM/gdb-7.10/include/som/clock.h R processors/ARM/gdb-7.10/include/som/internal.h R processors/ARM/gdb-7.10/include/som/lst.h R processors/ARM/gdb-7.10/include/som/reloc.h R processors/ARM/gdb-7.10/include/sort.h R processors/ARM/gdb-7.10/include/splay-tree.h R processors/ARM/gdb-7.10/include/symcat.h R processors/ARM/gdb-7.10/include/timeval-utils.h R processors/ARM/gdb-7.10/include/vms/dcx.h R processors/ARM/gdb-7.10/include/vms/dmt.h R processors/ARM/gdb-7.10/include/vms/dsc.h R processors/ARM/gdb-7.10/include/vms/dst.h R processors/ARM/gdb-7.10/include/vms/eeom.h R processors/ARM/gdb-7.10/include/vms/egps.h R processors/ARM/gdb-7.10/include/vms/egsd.h R processors/ARM/gdb-7.10/include/vms/egst.h R processors/ARM/gdb-7.10/include/vms/egsy.h R processors/ARM/gdb-7.10/include/vms/eiaf.h R processors/ARM/gdb-7.10/include/vms/eicp.h R processors/ARM/gdb-7.10/include/vms/eidc.h R processors/ARM/gdb-7.10/include/vms/eiha.h R processors/ARM/gdb-7.10/include/vms/eihd.h R processors/ARM/gdb-7.10/include/vms/eihi.h R processors/ARM/gdb-7.10/include/vms/eihs.h R processors/ARM/gdb-7.10/include/vms/eihvn.h R processors/ARM/gdb-7.10/include/vms/eisd.h R processors/ARM/gdb-7.10/include/vms/emh.h R processors/ARM/gdb-7.10/include/vms/eobjrec.h R processors/ARM/gdb-7.10/include/vms/esdf.h R processors/ARM/gdb-7.10/include/vms/esdfm.h R processors/ARM/gdb-7.10/include/vms/esdfv.h R processors/ARM/gdb-7.10/include/vms/esgps.h R processors/ARM/gdb-7.10/include/vms/esrf.h R processors/ARM/gdb-7.10/include/vms/etir.h R processors/ARM/gdb-7.10/include/vms/internal.h R processors/ARM/gdb-7.10/include/vms/lbr.h R processors/ARM/gdb-7.10/include/vms/prt.h R processors/ARM/gdb-7.10/include/vms/shl.h R processors/ARM/gdb-7.10/include/vtv-change-permission.h R processors/ARM/gdb-7.10/include/xregex2.h R processors/ARM/gdb-7.10/include/xtensa-config.h R processors/ARM/gdb-7.10/include/xtensa-isa-internal.h R processors/ARM/gdb-7.10/include/xtensa-isa.h R processors/ARM/gdb-7.10/libiberty/ChangeLog R processors/ARM/gdb-7.10/libiberty/Makefile.in R processors/ARM/gdb-7.10/libiberty/_doprnt.c R processors/ARM/gdb-7.10/libiberty/argv.c R processors/ARM/gdb-7.10/libiberty/asprintf.c R processors/ARM/gdb-7.10/libiberty/choose-temp.c R processors/ARM/gdb-7.10/libiberty/clock.c R processors/ARM/gdb-7.10/libiberty/concat.c R processors/ARM/gdb-7.10/libiberty/config.in R processors/ARM/gdb-7.10/libiberty/configure R processors/ARM/gdb-7.10/libiberty/configure.ac R processors/ARM/gdb-7.10/libiberty/copying-lib.texi R processors/ARM/gdb-7.10/libiberty/cp-demangle.c R processors/ARM/gdb-7.10/libiberty/cp-demangle.h R processors/ARM/gdb-7.10/libiberty/cp-demint.c R processors/ARM/gdb-7.10/libiberty/cplus-dem.c R processors/ARM/gdb-7.10/libiberty/crc32.c R processors/ARM/gdb-7.10/libiberty/d-demangle.c R processors/ARM/gdb-7.10/libiberty/dwarfnames.c R processors/ARM/gdb-7.10/libiberty/dyn-string.c R processors/ARM/gdb-7.10/libiberty/fdmatch.c R processors/ARM/gdb-7.10/libiberty/fibheap.c R processors/ARM/gdb-7.10/libiberty/filename_cmp.c R processors/ARM/gdb-7.10/libiberty/floatformat.c R processors/ARM/gdb-7.10/libiberty/fnmatch.c R processors/ARM/gdb-7.10/libiberty/fopen_unlocked.c R processors/ARM/gdb-7.10/libiberty/functions.texi R processors/ARM/gdb-7.10/libiberty/gather-docs R processors/ARM/gdb-7.10/libiberty/getopt.c R processors/ARM/gdb-7.10/libiberty/getopt1.c R processors/ARM/gdb-7.10/libiberty/getruntime.c R processors/ARM/gdb-7.10/libiberty/hashtab.c R processors/ARM/gdb-7.10/libiberty/hex.c R processors/ARM/gdb-7.10/libiberty/lbasename.c R processors/ARM/gdb-7.10/libiberty/libiberty.texi R processors/ARM/gdb-7.10/libiberty/lrealpath.c R processors/ARM/gdb-7.10/libiberty/maint-tool R processors/ARM/gdb-7.10/libiberty/make-relative-prefix.c R processors/ARM/gdb-7.10/libiberty/make-temp-file.c R processors/ARM/gdb-7.10/libiberty/md5.c R processors/ARM/gdb-7.10/libiberty/memmem.c R processors/ARM/gdb-7.10/libiberty/mempcpy.c R processors/ARM/gdb-7.10/libiberty/mkstemps.c R processors/ARM/gdb-7.10/libiberty/objalloc.c R processors/ARM/gdb-7.10/libiberty/obstack.c R processors/ARM/gdb-7.10/libiberty/obstacks.texi R processors/ARM/gdb-7.10/libiberty/partition.c R processors/ARM/gdb-7.10/libiberty/pex-common.c R processors/ARM/gdb-7.10/libiberty/pex-common.h R processors/ARM/gdb-7.10/libiberty/pex-djgpp.c R processors/ARM/gdb-7.10/libiberty/pex-msdos.c R processors/ARM/gdb-7.10/libiberty/pex-one.c R processors/ARM/gdb-7.10/libiberty/pex-unix.c R processors/ARM/gdb-7.10/libiberty/pex-win32.c R processors/ARM/gdb-7.10/libiberty/pexecute.c R processors/ARM/gdb-7.10/libiberty/physmem.c R processors/ARM/gdb-7.10/libiberty/putenv.c R processors/ARM/gdb-7.10/libiberty/regex.c R processors/ARM/gdb-7.10/libiberty/safe-ctype.c R processors/ARM/gdb-7.10/libiberty/setenv.c R processors/ARM/gdb-7.10/libiberty/setproctitle.c R processors/ARM/gdb-7.10/libiberty/sha1.c R processors/ARM/gdb-7.10/libiberty/simple-object-coff.c R processors/ARM/gdb-7.10/libiberty/simple-object-common.h R processors/ARM/gdb-7.10/libiberty/simple-object-elf.c R processors/ARM/gdb-7.10/libiberty/simple-object-mach-o.c R processors/ARM/gdb-7.10/libiberty/simple-object-xcoff.c R processors/ARM/gdb-7.10/libiberty/simple-object.c R processors/ARM/gdb-7.10/libiberty/snprintf.c R processors/ARM/gdb-7.10/libiberty/sort.c R processors/ARM/gdb-7.10/libiberty/spaces.c R processors/ARM/gdb-7.10/libiberty/splay-tree.c R processors/ARM/gdb-7.10/libiberty/stack-limit.c R processors/ARM/gdb-7.10/libiberty/stpcpy.c R processors/ARM/gdb-7.10/libiberty/stpncpy.c R processors/ARM/gdb-7.10/libiberty/strndup.c R processors/ARM/gdb-7.10/libiberty/strtod.c R processors/ARM/gdb-7.10/libiberty/strverscmp.c R processors/ARM/gdb-7.10/libiberty/testsuite/Makefile.in R processors/ARM/gdb-7.10/libiberty/testsuite/d-demangle-expected R processors/ARM/gdb-7.10/libiberty/testsuite/demangle-expected R processors/ARM/gdb-7.10/libiberty/testsuite/demangler-fuzzer.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-demangle.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-expandargv.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-pexecute.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-strtol.c R processors/ARM/gdb-7.10/libiberty/timeval-utils.c R processors/ARM/gdb-7.10/libiberty/unlink-if-ordinary.c R processors/ARM/gdb-7.10/libiberty/vasprintf.c R processors/ARM/gdb-7.10/libiberty/vfprintf.c R processors/ARM/gdb-7.10/libiberty/vprintf-support.c R processors/ARM/gdb-7.10/libiberty/vprintf-support.h R processors/ARM/gdb-7.10/libiberty/vsnprintf.c R processors/ARM/gdb-7.10/libiberty/vsprintf.c R processors/ARM/gdb-7.10/libiberty/waitpid.c R processors/ARM/gdb-7.10/libiberty/xasprintf.c R processors/ARM/gdb-7.10/libiberty/xexit.c R processors/ARM/gdb-7.10/libiberty/xmalloc.c R processors/ARM/gdb-7.10/libiberty/xmemdup.c R processors/ARM/gdb-7.10/libiberty/xstrndup.c R processors/ARM/gdb-7.10/libiberty/xvasprintf.c R processors/ARM/gdb-7.10/md5.sum R processors/ARM/gdb-7.10/missing R processors/ARM/gdb-7.10/mkdep R processors/ARM/gdb-7.10/opcodes/ChangeLog R processors/ARM/gdb-7.10/opcodes/ChangeLog-0001 R processors/ARM/gdb-7.10/opcodes/ChangeLog-0203 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2004 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2005 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2006 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2007 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2008 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2009 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2010 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2011 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2012 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2013 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2014 R processors/ARM/gdb-7.10/opcodes/ChangeLog-9297 R processors/ARM/gdb-7.10/opcodes/ChangeLog-9899 R processors/ARM/gdb-7.10/opcodes/MAINTAINERS R processors/ARM/gdb-7.10/opcodes/Makefile.am R processors/ARM/gdb-7.10/opcodes/Makefile.in R processors/ARM/gdb-7.10/opcodes/aarch64-asm-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-asm.c R processors/ARM/gdb-7.10/opcodes/aarch64-asm.h R processors/ARM/gdb-7.10/opcodes/aarch64-dis-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-dis.c R processors/ARM/gdb-7.10/opcodes/aarch64-dis.h R processors/ARM/gdb-7.10/opcodes/aarch64-gen.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc.h R processors/ARM/gdb-7.10/opcodes/aarch64-tbl.h R processors/ARM/gdb-7.10/opcodes/aclocal.m4 R processors/ARM/gdb-7.10/opcodes/alpha-dis.c R processors/ARM/gdb-7.10/opcodes/alpha-opc.c R processors/ARM/gdb-7.10/opcodes/arc-dis.c R processors/ARM/gdb-7.10/opcodes/arc-dis.h R processors/ARM/gdb-7.10/opcodes/arc-ext.c R processors/ARM/gdb-7.10/opcodes/arc-ext.h R processors/ARM/gdb-7.10/opcodes/arc-opc.c R processors/ARM/gdb-7.10/opcodes/arm-dis.c R processors/ARM/gdb-7.10/opcodes/avr-dis.c R processors/ARM/gdb-7.10/opcodes/bfin-dis.c R processors/ARM/gdb-7.10/opcodes/cgen-asm.c R processors/ARM/gdb-7.10/opcodes/cgen-asm.in R processors/ARM/gdb-7.10/opcodes/cgen-bitset.c R processors/ARM/gdb-7.10/opcodes/cgen-dis.c R processors/ARM/gdb-7.10/opcodes/cgen-dis.in R processors/ARM/gdb-7.10/opcodes/cgen-ibld.in R processors/ARM/gdb-7.10/opcodes/cgen-opc.c R processors/ARM/gdb-7.10/opcodes/cgen.sh R processors/ARM/gdb-7.10/opcodes/configure R processors/ARM/gdb-7.10/opcodes/configure.ac R processors/ARM/gdb-7.10/opcodes/configure.com R processors/ARM/gdb-7.10/opcodes/cr16-dis.c R processors/ARM/gdb-7.10/opcodes/cr16-opc.c R processors/ARM/gdb-7.10/opcodes/cris-dis.c R processors/ARM/gdb-7.10/opcodes/cris-opc.c R processors/ARM/gdb-7.10/opcodes/crx-dis.c R processors/ARM/gdb-7.10/opcodes/crx-opc.c R processors/ARM/gdb-7.10/opcodes/d10v-dis.c R processors/ARM/gdb-7.10/opcodes/d10v-opc.c R processors/ARM/gdb-7.10/opcodes/d30v-dis.c R processors/ARM/gdb-7.10/opcodes/d30v-opc.c R processors/ARM/gdb-7.10/opcodes/dis-buf.c R processors/ARM/gdb-7.10/opcodes/dis-init.c R processors/ARM/gdb-7.10/opcodes/disassemble.c R processors/ARM/gdb-7.10/opcodes/dlx-dis.c R processors/ARM/gdb-7.10/opcodes/epiphany-asm.c R processors/ARM/gdb-7.10/opcodes/epiphany-desc.c R processors/ARM/gdb-7.10/opcodes/epiphany-desc.h R processors/ARM/gdb-7.10/opcodes/epiphany-dis.c R processors/ARM/gdb-7.10/opcodes/epiphany-ibld.c R processors/ARM/gdb-7.10/opcodes/epiphany-opc.c R processors/ARM/gdb-7.10/opcodes/epiphany-opc.h R processors/ARM/gdb-7.10/opcodes/fr30-asm.c R processors/ARM/gdb-7.10/opcodes/fr30-desc.c R processors/ARM/gdb-7.10/opcodes/fr30-desc.h R processors/ARM/gdb-7.10/opcodes/fr30-dis.c R processors/ARM/gdb-7.10/opcodes/fr30-ibld.c R processors/ARM/gdb-7.10/opcodes/fr30-opc.c R processors/ARM/gdb-7.10/opcodes/fr30-opc.h R processors/ARM/gdb-7.10/opcodes/frv-asm.c R processors/ARM/gdb-7.10/opcodes/frv-desc.c R processors/ARM/gdb-7.10/opcodes/frv-desc.h R processors/ARM/gdb-7.10/opcodes/frv-dis.c R processors/ARM/gdb-7.10/opcodes/frv-ibld.c R processors/ARM/gdb-7.10/opcodes/frv-opc.c R processors/ARM/gdb-7.10/opcodes/frv-opc.h R processors/ARM/gdb-7.10/opcodes/ft32-dis.c R processors/ARM/gdb-7.10/opcodes/ft32-opc.c R processors/ARM/gdb-7.10/opcodes/h8300-dis.c R processors/ARM/gdb-7.10/opcodes/h8500-dis.c R processors/ARM/gdb-7.10/opcodes/h8500-opc.h R processors/ARM/gdb-7.10/opcodes/hppa-dis.c R processors/ARM/gdb-7.10/opcodes/i370-dis.c R processors/ARM/gdb-7.10/opcodes/i370-opc.c R processors/ARM/gdb-7.10/opcodes/i386-dis-evex.h R processors/ARM/gdb-7.10/opcodes/i386-dis.c R processors/ARM/gdb-7.10/opcodes/i386-gen.c R processors/ARM/gdb-7.10/opcodes/i386-init.h R processors/ARM/gdb-7.10/opcodes/i386-opc.c R processors/ARM/gdb-7.10/opcodes/i386-opc.h R processors/ARM/gdb-7.10/opcodes/i386-opc.tbl R processors/ARM/gdb-7.10/opcodes/i386-reg.tbl R processors/ARM/gdb-7.10/opcodes/i386-tbl.h R processors/ARM/gdb-7.10/opcodes/i860-dis.c R processors/ARM/gdb-7.10/opcodes/i960-dis.c R processors/ARM/gdb-7.10/opcodes/ia64-asmtab.c R processors/ARM/gdb-7.10/opcodes/ia64-asmtab.h R processors/ARM/gdb-7.10/opcodes/ia64-dis.c R processors/ARM/gdb-7.10/opcodes/ia64-gen.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-a.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-b.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-d.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-f.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-i.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-m.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-x.c R processors/ARM/gdb-7.10/opcodes/ia64-opc.c R processors/ARM/gdb-7.10/opcodes/ia64-opc.h R processors/ARM/gdb-7.10/opcodes/ip2k-asm.c R processors/ARM/gdb-7.10/opcodes/ip2k-desc.c R processors/ARM/gdb-7.10/opcodes/ip2k-desc.h R processors/ARM/gdb-7.10/opcodes/ip2k-dis.c R processors/ARM/gdb-7.10/opcodes/ip2k-ibld.c R processors/ARM/gdb-7.10/opcodes/ip2k-opc.c R processors/ARM/gdb-7.10/opcodes/ip2k-opc.h R processors/ARM/gdb-7.10/opcodes/iq2000-asm.c R processors/ARM/gdb-7.10/opcodes/iq2000-desc.c R processors/ARM/gdb-7.10/opcodes/iq2000-desc.h R processors/ARM/gdb-7.10/opcodes/iq2000-dis.c R processors/ARM/gdb-7.10/opcodes/iq2000-ibld.c R processors/ARM/gdb-7.10/opcodes/iq2000-opc.c R processors/ARM/gdb-7.10/opcodes/iq2000-opc.h R processors/ARM/gdb-7.10/opcodes/lm32-asm.c R processors/ARM/gdb-7.10/opcodes/lm32-desc.c R processors/ARM/gdb-7.10/opcodes/lm32-desc.h R processors/ARM/gdb-7.10/opcodes/lm32-dis.c R processors/ARM/gdb-7.10/opcodes/lm32-ibld.c R processors/ARM/gdb-7.10/opcodes/lm32-opc.c R processors/ARM/gdb-7.10/opcodes/lm32-opc.h R processors/ARM/gdb-7.10/opcodes/lm32-opinst.c R processors/ARM/gdb-7.10/opcodes/m10200-dis.c R processors/ARM/gdb-7.10/opcodes/m10200-opc.c R processors/ARM/gdb-7.10/opcodes/m10300-dis.c R processors/ARM/gdb-7.10/opcodes/m10300-opc.c R processors/ARM/gdb-7.10/opcodes/m32c-asm.c R processors/ARM/gdb-7.10/opcodes/m32c-desc.c R processors/ARM/gdb-7.10/opcodes/m32c-desc.h R processors/ARM/gdb-7.10/opcodes/m32c-dis.c R processors/ARM/gdb-7.10/opcodes/m32c-ibld.c R processors/ARM/gdb-7.10/opcodes/m32c-opc.c R processors/ARM/gdb-7.10/opcodes/m32c-opc.h R processors/ARM/gdb-7.10/opcodes/m32r-asm.c R processors/ARM/gdb-7.10/opcodes/m32r-desc.c R processors/ARM/gdb-7.10/opcodes/m32r-desc.h R processors/ARM/gdb-7.10/opcodes/m32r-dis.c R processors/ARM/gdb-7.10/opcodes/m32r-ibld.c R processors/ARM/gdb-7.10/opcodes/m32r-opc.c R processors/ARM/gdb-7.10/opcodes/m32r-opc.h R processors/ARM/gdb-7.10/opcodes/m32r-opinst.c R processors/ARM/gdb-7.10/opcodes/m68hc11-dis.c R processors/ARM/gdb-7.10/opcodes/m68hc11-opc.c R processors/ARM/gdb-7.10/opcodes/m68k-dis.c R processors/ARM/gdb-7.10/opcodes/m68k-opc.c R processors/ARM/gdb-7.10/opcodes/m88k-dis.c R processors/ARM/gdb-7.10/opcodes/makefile.vms R processors/ARM/gdb-7.10/opcodes/mcore-dis.c R processors/ARM/gdb-7.10/opcodes/mcore-opc.h R processors/ARM/gdb-7.10/opcodes/mep-asm.c R processors/ARM/gdb-7.10/opcodes/mep-desc.c R processors/ARM/gdb-7.10/opcodes/mep-desc.h R processors/ARM/gdb-7.10/opcodes/mep-dis.c R processors/ARM/gdb-7.10/opcodes/mep-ibld.c R processors/ARM/gdb-7.10/opcodes/mep-opc.c R processors/ARM/gdb-7.10/opcodes/mep-opc.h R processors/ARM/gdb-7.10/opcodes/metag-dis.c R processors/ARM/gdb-7.10/opcodes/microblaze-dis.c R processors/ARM/gdb-7.10/opcodes/microblaze-dis.h R processors/ARM/gdb-7.10/opcodes/microblaze-opc.h R processors/ARM/gdb-7.10/opcodes/microblaze-opcm.h R processors/ARM/gdb-7.10/opcodes/micromips-opc.c R processors/ARM/gdb-7.10/opcodes/mips-dis.c R processors/ARM/gdb-7.10/opcodes/mips-formats.h R processors/ARM/gdb-7.10/opcodes/mips-opc.c R processors/ARM/gdb-7.10/opcodes/mips16-opc.c R processors/ARM/gdb-7.10/opcodes/mmix-dis.c R processors/ARM/gdb-7.10/opcodes/mmix-opc.c R processors/ARM/gdb-7.10/opcodes/moxie-dis.c R processors/ARM/gdb-7.10/opcodes/moxie-opc.c R processors/ARM/gdb-7.10/opcodes/msp430-decode.c R processors/ARM/gdb-7.10/opcodes/msp430-decode.opc R processors/ARM/gdb-7.10/opcodes/msp430-dis.c R processors/ARM/gdb-7.10/opcodes/mt-asm.c R processors/ARM/gdb-7.10/opcodes/mt-desc.c R processors/ARM/gdb-7.10/opcodes/mt-desc.h R processors/ARM/gdb-7.10/opcodes/mt-dis.c R processors/ARM/gdb-7.10/opcodes/mt-ibld.c R processors/ARM/gdb-7.10/opcodes/mt-opc.c R processors/ARM/gdb-7.10/opcodes/mt-opc.h R processors/ARM/gdb-7.10/opcodes/nds32-asm.c R processors/ARM/gdb-7.10/opcodes/nds32-asm.h R processors/ARM/gdb-7.10/opcodes/nds32-dis.c R processors/ARM/gdb-7.10/opcodes/nds32-opc.h R processors/ARM/gdb-7.10/opcodes/nios2-dis.c R processors/ARM/gdb-7.10/opcodes/nios2-opc.c R processors/ARM/gdb-7.10/opcodes/ns32k-dis.c R processors/ARM/gdb-7.10/opcodes/opc2c.c R processors/ARM/gdb-7.10/opcodes/opintl.h R processors/ARM/gdb-7.10/opcodes/or1k-asm.c R processors/ARM/gdb-7.10/opcodes/or1k-desc.c R processors/ARM/gdb-7.10/opcodes/or1k-desc.h R processors/ARM/gdb-7.10/opcodes/or1k-dis.c R processors/ARM/gdb-7.10/opcodes/or1k-ibld.c R processors/ARM/gdb-7.10/opcodes/or1k-opc.c R processors/ARM/gdb-7.10/opcodes/or1k-opc.h R processors/ARM/gdb-7.10/opcodes/or1k-opinst.c R processors/ARM/gdb-7.10/opcodes/pdp11-dis.c R processors/ARM/gdb-7.10/opcodes/pdp11-opc.c R processors/ARM/gdb-7.10/opcodes/pj-dis.c R processors/ARM/gdb-7.10/opcodes/pj-opc.c R processors/ARM/gdb-7.10/opcodes/po/Make-in R processors/ARM/gdb-7.10/opcodes/po/POTFILES.in R processors/ARM/gdb-7.10/opcodes/po/da.gmo R processors/ARM/gdb-7.10/opcodes/po/da.po R processors/ARM/gdb-7.10/opcodes/po/de.gmo R processors/ARM/gdb-7.10/opcodes/po/de.po R processors/ARM/gdb-7.10/opcodes/po/es.gmo R processors/ARM/gdb-7.10/opcodes/po/es.po R processors/ARM/gdb-7.10/opcodes/po/fi.gmo R processors/ARM/gdb-7.10/opcodes/po/fi.po R processors/ARM/gdb-7.10/opcodes/po/fr.gmo R processors/ARM/gdb-7.10/opcodes/po/fr.po R processors/ARM/gdb-7.10/opcodes/po/ga.gmo R processors/ARM/gdb-7.10/opcodes/po/ga.po R processors/ARM/gdb-7.10/opcodes/po/id.gmo R processors/ARM/gdb-7.10/opcodes/po/id.po R processors/ARM/gdb-7.10/opcodes/po/it.gmo R processors/ARM/gdb-7.10/opcodes/po/it.po R processors/ARM/gdb-7.10/opcodes/po/nl.gmo R processors/ARM/gdb-7.10/opcodes/po/nl.po R processors/ARM/gdb-7.10/opcodes/po/opcodes.pot R processors/ARM/gdb-7.10/opcodes/po/pt_BR.gmo R processors/ARM/gdb-7.10/opcodes/po/pt_BR.po R processors/ARM/gdb-7.10/opcodes/po/ro.gmo R processors/ARM/gdb-7.10/opcodes/po/ro.po R processors/ARM/gdb-7.10/opcodes/po/sv.gmo R processors/ARM/gdb-7.10/opcodes/po/sv.po R processors/ARM/gdb-7.10/opcodes/po/tr.gmo R processors/ARM/gdb-7.10/opcodes/po/tr.po R processors/ARM/gdb-7.10/opcodes/po/uk.gmo R processors/ARM/gdb-7.10/opcodes/po/uk.po R processors/ARM/gdb-7.10/opcodes/po/vi.gmo R processors/ARM/gdb-7.10/opcodes/po/vi.po R processors/ARM/gdb-7.10/opcodes/po/zh_CN.gmo R processors/ARM/gdb-7.10/opcodes/po/zh_CN.po R processors/ARM/gdb-7.10/opcodes/ppc-dis.c R processors/ARM/gdb-7.10/opcodes/ppc-opc.c R processors/ARM/gdb-7.10/opcodes/rl78-decode.c R processors/ARM/gdb-7.10/opcodes/rl78-decode.opc R processors/ARM/gdb-7.10/opcodes/rl78-dis.c R processors/ARM/gdb-7.10/opcodes/rx-decode.c R processors/ARM/gdb-7.10/opcodes/rx-decode.opc R processors/ARM/gdb-7.10/opcodes/rx-dis.c R processors/ARM/gdb-7.10/opcodes/s390-dis.c R processors/ARM/gdb-7.10/opcodes/s390-mkopc.c R processors/ARM/gdb-7.10/opcodes/s390-opc.c R processors/ARM/gdb-7.10/opcodes/s390-opc.txt R processors/ARM/gdb-7.10/opcodes/score-dis.c R processors/ARM/gdb-7.10/opcodes/score-opc.h R processors/ARM/gdb-7.10/opcodes/score7-dis.c R processors/ARM/gdb-7.10/opcodes/sh-dis.c R processors/ARM/gdb-7.10/opcodes/sh-opc.h R processors/ARM/gdb-7.10/opcodes/sh64-dis.c R processors/ARM/gdb-7.10/opcodes/sh64-opc.c R processors/ARM/gdb-7.10/opcodes/sh64-opc.h R processors/ARM/gdb-7.10/opcodes/sparc-dis.c R processors/ARM/gdb-7.10/opcodes/sparc-opc.c R processors/ARM/gdb-7.10/opcodes/spu-dis.c R processors/ARM/gdb-7.10/opcodes/spu-opc.c R processors/ARM/gdb-7.10/opcodes/sysdep.h R processors/ARM/gdb-7.10/opcodes/tic30-dis.c R processors/ARM/gdb-7.10/opcodes/tic4x-dis.c R processors/ARM/gdb-7.10/opcodes/tic54x-dis.c R processors/ARM/gdb-7.10/opcodes/tic54x-opc.c R processors/ARM/gdb-7.10/opcodes/tic6x-dis.c R processors/ARM/gdb-7.10/opcodes/tic80-dis.c R processors/ARM/gdb-7.10/opcodes/tic80-opc.c R processors/ARM/gdb-7.10/opcodes/tilegx-dis.c R processors/ARM/gdb-7.10/opcodes/tilegx-opc.c R processors/ARM/gdb-7.10/opcodes/tilepro-dis.c R processors/ARM/gdb-7.10/opcodes/tilepro-opc.c R processors/ARM/gdb-7.10/opcodes/v850-dis.c R processors/ARM/gdb-7.10/opcodes/v850-opc.c R processors/ARM/gdb-7.10/opcodes/vax-dis.c R processors/ARM/gdb-7.10/opcodes/visium-dis.c R processors/ARM/gdb-7.10/opcodes/visium-opc.c R processors/ARM/gdb-7.10/opcodes/w65-dis.c R processors/ARM/gdb-7.10/opcodes/w65-opc.h R processors/ARM/gdb-7.10/opcodes/xc16x-asm.c R processors/ARM/gdb-7.10/opcodes/xc16x-desc.c R processors/ARM/gdb-7.10/opcodes/xc16x-desc.h R processors/ARM/gdb-7.10/opcodes/xc16x-dis.c R processors/ARM/gdb-7.10/opcodes/xc16x-ibld.c R processors/ARM/gdb-7.10/opcodes/xc16x-opc.c R processors/ARM/gdb-7.10/opcodes/xc16x-opc.h R processors/ARM/gdb-7.10/opcodes/xgate-dis.c R processors/ARM/gdb-7.10/opcodes/xgate-opc.c R processors/ARM/gdb-7.10/opcodes/xstormy16-asm.c R processors/ARM/gdb-7.10/opcodes/xstormy16-desc.c R processors/ARM/gdb-7.10/opcodes/xstormy16-desc.h R processors/ARM/gdb-7.10/opcodes/xstormy16-dis.c R processors/ARM/gdb-7.10/opcodes/xstormy16-ibld.c R processors/ARM/gdb-7.10/opcodes/xstormy16-opc.c R processors/ARM/gdb-7.10/opcodes/xstormy16-opc.h R processors/ARM/gdb-7.10/opcodes/xtensa-dis.c R processors/ARM/gdb-7.10/opcodes/z80-dis.c R processors/ARM/gdb-7.10/opcodes/z8k-dis.c R processors/ARM/gdb-7.10/opcodes/z8k-opc.h R processors/ARM/gdb-7.10/opcodes/z8kgen.c R processors/ARM/gdb-7.10/sim/.gitignore R processors/ARM/gdb-7.10/sim/ChangeLog R processors/ARM/gdb-7.10/sim/MAINTAINERS R processors/ARM/gdb-7.10/sim/Makefile.in R processors/ARM/gdb-7.10/sim/README-HACKING R processors/ARM/gdb-7.10/sim/arm/ChangeLog R processors/ARM/gdb-7.10/sim/arm/GdbARMPlugin.h R processors/ARM/gdb-7.10/sim/arm/Makefile.in R processors/ARM/gdb-7.10/sim/arm/aclocal.m4 R processors/ARM/gdb-7.10/sim/arm/armcopro.c R processors/ARM/gdb-7.10/sim/arm/armdefs.h R processors/ARM/gdb-7.10/sim/arm/armemu.c R processors/ARM/gdb-7.10/sim/arm/armfpe.h R processors/ARM/gdb-7.10/sim/arm/arminit.c R processors/ARM/gdb-7.10/sim/arm/armopts.h R processors/ARM/gdb-7.10/sim/arm/armos.c R processors/ARM/gdb-7.10/sim/arm/armos.h R processors/ARM/gdb-7.10/sim/arm/armrdi.c R processors/ARM/gdb-7.10/sim/arm/armsupp.c R processors/ARM/gdb-7.10/sim/arm/armulmem.c R processors/ARM/gdb-7.10/sim/arm/armvirt.c R processors/ARM/gdb-7.10/sim/arm/bag.c R processors/ARM/gdb-7.10/sim/arm/bag.h R processors/ARM/gdb-7.10/sim/arm/communicate.c R processors/ARM/gdb-7.10/sim/arm/communicate.h R processors/ARM/gdb-7.10/sim/arm/config.in R processors/ARM/gdb-7.10/sim/arm/configure R processors/ARM/gdb-7.10/sim/arm/configure.ac R processors/ARM/gdb-7.10/sim/arm/dbg_conf.h R processors/ARM/gdb-7.10/sim/arm/dbg_cp.h R processors/ARM/gdb-7.10/sim/arm/dbg_hif.h R processors/ARM/gdb-7.10/sim/arm/dbg_rdi.h R processors/ARM/gdb-7.10/sim/arm/gdbhost.c R processors/ARM/gdb-7.10/sim/arm/gdbhost.h R processors/ARM/gdb-7.10/sim/arm/hw-config.h R processors/ARM/gdb-7.10/sim/arm/iwmmxt.c R processors/ARM/gdb-7.10/sim/arm/iwmmxt.h R processors/ARM/gdb-7.10/sim/arm/kid.c R processors/ARM/gdb-7.10/sim/arm/libtool R processors/ARM/gdb-7.10/sim/arm/main.c R processors/ARM/gdb-7.10/sim/arm/maverick.c R processors/ARM/gdb-7.10/sim/arm/parent.c R processors/ARM/gdb-7.10/sim/arm/sim-main.h R processors/ARM/gdb-7.10/sim/arm/thumbemu.c R processors/ARM/gdb-7.10/sim/arm/version.c R processors/ARM/gdb-7.10/sim/arm/wrapper.c R processors/ARM/gdb-7.10/sim/avr/ChangeLog R processors/ARM/gdb-7.10/sim/avr/Makefile.in R processors/ARM/gdb-7.10/sim/avr/aclocal.m4 R processors/ARM/gdb-7.10/sim/avr/config.in R processors/ARM/gdb-7.10/sim/avr/configure R processors/ARM/gdb-7.10/sim/avr/configure.ac R processors/ARM/gdb-7.10/sim/avr/interp.c R processors/ARM/gdb-7.10/sim/avr/sim-main.h R processors/ARM/gdb-7.10/sim/bfin/ChangeLog R processors/ARM/gdb-7.10/sim/bfin/Makefile.in R processors/ARM/gdb-7.10/sim/bfin/TODO R processors/ARM/gdb-7.10/sim/bfin/aclocal.m4 R processors/ARM/gdb-7.10/sim/bfin/bfin-sim.c R processors/ARM/gdb-7.10/sim/bfin/bfin-sim.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/all.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf50x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf51x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf51x-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf51x-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf526-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf526-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf526-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf527-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf527-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf527-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf533-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf533-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf533-0.3.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf537-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf537-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf537-0.3.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf538-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.4.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.4.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf561-0.5.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf59x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf59x_l1-0.1.h R processors/ARM/gdb-7.10/sim/bfin/config.in R processors/ARM/gdb-7.10/sim/bfin/configure R processors/ARM/gdb-7.10/sim/bfin/configure.ac R processors/ARM/gdb-7.10/sim/bfin/devices.c R processors/ARM/gdb-7.10/sim/bfin/devices.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_cec.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_cec.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ctimer.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ctimer.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dma.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dma.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dmac.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dmac.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_amc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_amc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_ddrc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_ddrc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_sdc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_sdc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_emac.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_emac.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_eppi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_eppi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_evt.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_evt.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio2.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio2.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gptimer.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gptimer.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_jtag.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_jtag.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_mmu.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_mmu.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_nfc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_nfc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_otp.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_otp.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pfmon.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pfmon.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pint.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pint.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pll.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pll.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ppi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ppi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_rtc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_rtc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_sic.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_sic.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_spi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_spi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_trace.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_trace.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_twi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_twi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart2.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart2.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wdog.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wdog.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wp.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wp.h R processors/ARM/gdb-7.10/sim/bfin/dv-eth_phy.c R processors/ARM/gdb-7.10/sim/bfin/gui.c R processors/ARM/gdb-7.10/sim/bfin/gui.h R processors/ARM/gdb-7.10/sim/bfin/insn_list.def R processors/ARM/gdb-7.10/sim/bfin/interp.c R processors/ARM/gdb-7.10/sim/bfin/linux-fixed-code.h R processors/ARM/gdb-7.10/sim/bfin/linux-fixed-code.s R processors/ARM/gdb-7.10/sim/bfin/linux-targ-map.h R processors/ARM/gdb-7.10/sim/bfin/machs.c R processors/ARM/gdb-7.10/sim/bfin/machs.h R processors/ARM/gdb-7.10/sim/bfin/proc_list.def R processors/ARM/gdb-7.10/sim/bfin/sim-main.h R processors/ARM/gdb-7.10/sim/bfin/tconfig.h R processors/ARM/gdb-7.10/sim/common/ChangeLog R processors/ARM/gdb-7.10/sim/common/Make-common.in R processors/ARM/gdb-7.10/sim/common/Makefile.in R processors/ARM/gdb-7.10/sim/common/acinclude.m4 R processors/ARM/gdb-7.10/sim/common/aclocal.m4 R processors/ARM/gdb-7.10/sim/common/callback.c R processors/ARM/gdb-7.10/sim/common/cgen-accfp.c R processors/ARM/gdb-7.10/sim/common/cgen-cpu.h R processors/ARM/gdb-7.10/sim/common/cgen-defs.h R processors/ARM/gdb-7.10/sim/common/cgen-engine.h R processors/ARM/gdb-7.10/sim/common/cgen-fpu.h R processors/ARM/gdb-7.10/sim/common/cgen-mem.h R processors/ARM/gdb-7.10/sim/common/cgen-ops.h R processors/ARM/gdb-7.10/sim/common/cgen-par.c R processors/ARM/gdb-7.10/sim/common/cgen-par.h R processors/ARM/gdb-7.10/sim/common/cgen-run.c R processors/ARM/gdb-7.10/sim/common/cgen-scache.c R processors/ARM/gdb-7.10/sim/common/cgen-scache.h R processors/ARM/gdb-7.10/sim/common/cgen-sim.h R processors/ARM/gdb-7.10/sim/common/cgen-trace.c R processors/ARM/gdb-7.10/sim/common/cgen-trace.h R processors/ARM/gdb-7.10/sim/common/cgen-types.h R processors/ARM/gdb-7.10/sim/common/cgen-utils.c R processors/ARM/gdb-7.10/sim/common/config.in R processors/ARM/gdb-7.10/sim/common/configure R processors/ARM/gdb-7.10/sim/common/configure.ac R processors/ARM/gdb-7.10/sim/common/dv-cfi.c R processors/ARM/gdb-7.10/sim/common/dv-cfi.h R processors/ARM/gdb-7.10/sim/common/dv-core.c R processors/ARM/gdb-7.10/sim/common/dv-glue.c R processors/ARM/gdb-7.10/sim/common/dv-pal.c R processors/ARM/gdb-7.10/sim/common/dv-sockser.c R processors/ARM/gdb-7.10/sim/common/dv-sockser.h R processors/ARM/gdb-7.10/sim/common/genmloop.sh R processors/ARM/gdb-7.10/sim/common/gentmap.c R processors/ARM/gdb-7.10/sim/common/hw-alloc.c R processors/ARM/gdb-7.10/sim/common/hw-alloc.h R processors/ARM/gdb-7.10/sim/common/hw-base.c R processors/ARM/gdb-7.10/sim/common/hw-base.h R processors/ARM/gdb-7.10/sim/common/hw-device.c R processors/ARM/gdb-7.10/sim/common/hw-device.h R processors/ARM/gdb-7.10/sim/common/hw-events.c R processors/ARM/gdb-7.10/sim/common/hw-events.h R processors/ARM/gdb-7.10/sim/common/hw-handles.c R processors/ARM/gdb-7.10/sim/common/hw-handles.h R processors/ARM/gdb-7.10/sim/common/hw-instances.c R processors/ARM/gdb-7.10/sim/common/hw-instances.h R processors/ARM/gdb-7.10/sim/common/hw-main.h R processors/ARM/gdb-7.10/sim/common/hw-ports.c R processors/ARM/gdb-7.10/sim/common/hw-ports.h R processors/ARM/gdb-7.10/sim/common/hw-properties.c R processors/ARM/gdb-7.10/sim/common/hw-properties.h R processors/ARM/gdb-7.10/sim/common/hw-tree.c R processors/ARM/gdb-7.10/sim/common/hw-tree.h R processors/ARM/gdb-7.10/sim/common/libtool R processors/ARM/gdb-7.10/sim/common/nrun.c R processors/ARM/gdb-7.10/sim/common/run.1 R processors/ARM/gdb-7.10/sim/common/sim-abort.c R processors/ARM/gdb-7.10/sim/common/sim-alu.h R processors/ARM/gdb-7.10/sim/common/sim-arange.c R processors/ARM/gdb-7.10/sim/common/sim-arange.h R processors/ARM/gdb-7.10/sim/common/sim-assert.h R processors/ARM/gdb-7.10/sim/common/sim-base.h R processors/ARM/gdb-7.10/sim/common/sim-basics.h R processors/ARM/gdb-7.10/sim/common/sim-bits.c R processors/ARM/gdb-7.10/sim/common/sim-bits.h R processors/ARM/gdb-7.10/sim/common/sim-command.c R processors/ARM/gdb-7.10/sim/common/sim-config.c R processors/ARM/gdb-7.10/sim/common/sim-config.h R processors/ARM/gdb-7.10/sim/common/sim-core.c R processors/ARM/gdb-7.10/sim/common/sim-core.h R processors/ARM/gdb-7.10/sim/common/sim-cpu.c R processors/ARM/gdb-7.10/sim/common/sim-cpu.h R processors/ARM/gdb-7.10/sim/common/sim-endian.c R processors/ARM/gdb-7.10/sim/common/sim-endian.h R processors/ARM/gdb-7.10/sim/common/sim-engine.c R processors/ARM/gdb-7.10/sim/common/sim-engine.h R processors/ARM/gdb-7.10/sim/common/sim-events.c R processors/ARM/gdb-7.10/sim/common/sim-events.h R processors/ARM/gdb-7.10/sim/common/sim-fpu.c R processors/ARM/gdb-7.10/sim/common/sim-fpu.h R processors/ARM/gdb-7.10/sim/common/sim-hload.c R processors/ARM/gdb-7.10/sim/common/sim-hrw.c R processors/ARM/gdb-7.10/sim/common/sim-hw.c R processors/ARM/gdb-7.10/sim/common/sim-hw.h R processors/ARM/gdb-7.10/sim/common/sim-info.c R processors/ARM/gdb-7.10/sim/common/sim-inline.c R processors/ARM/gdb-7.10/sim/common/sim-inline.h R processors/ARM/gdb-7.10/sim/common/sim-io.c R processors/ARM/gdb-7.10/sim/common/sim-io.h R processors/ARM/gdb-7.10/sim/common/sim-load.c R processors/ARM/gdb-7.10/sim/common/sim-memopt.c R processors/ARM/gdb-7.10/sim/common/sim-memopt.h R processors/ARM/gdb-7.10/sim/common/sim-model.c R processors/ARM/gdb-7.10/sim/common/sim-model.h R processors/ARM/gdb-7.10/sim/common/sim-module.c R processors/ARM/gdb-7.10/sim/common/sim-module.h R processors/ARM/gdb-7.10/sim/common/sim-n-bits.h R processors/ARM/gdb-7.10/sim/common/sim-n-core.h R processors/ARM/gdb-7.10/sim/common/sim-n-endian.h R processors/ARM/gdb-7.10/sim/common/sim-options.c R processors/ARM/gdb-7.10/sim/common/sim-options.h R processors/ARM/gdb-7.10/sim/common/sim-profile.c R processors/ARM/gdb-7.10/sim/common/sim-profile.h R processors/ARM/gdb-7.10/sim/common/sim-reason.c R processors/ARM/gdb-7.10/sim/common/sim-reg.c R processors/ARM/gdb-7.10/sim/common/sim-resume.c R processors/ARM/gdb-7.10/sim/common/sim-run.c R processors/ARM/gdb-7.10/sim/common/sim-signal.c R processors/ARM/gdb-7.10/sim/common/sim-signal.h R processors/ARM/gdb-7.10/sim/common/sim-stop.c R processors/ARM/gdb-7.10/sim/common/sim-syscall.c R processors/ARM/gdb-7.10/sim/common/sim-syscall.h R processors/ARM/gdb-7.10/sim/common/sim-trace.c R processors/ARM/gdb-7.10/sim/common/sim-trace.h R processors/ARM/gdb-7.10/sim/common/sim-types.h R processors/ARM/gdb-7.10/sim/common/sim-utils.c R processors/ARM/gdb-7.10/sim/common/sim-utils.h R processors/ARM/gdb-7.10/sim/common/sim-watch.c R processors/ARM/gdb-7.10/sim/common/sim-watch.h R processors/ARM/gdb-7.10/sim/common/syscall.c R processors/ARM/gdb-7.10/sim/common/tconfig.h R processors/ARM/gdb-7.10/sim/common/version.h R processors/ARM/gdb-7.10/sim/configure R processors/ARM/gdb-7.10/sim/configure.ac R processors/ARM/gdb-7.10/sim/configure.tgt R processors/ARM/gdb-7.10/sim/cr16/ChangeLog R processors/ARM/gdb-7.10/sim/cr16/Makefile.in R processors/ARM/gdb-7.10/sim/cr16/aclocal.m4 R processors/ARM/gdb-7.10/sim/cr16/config.in R processors/ARM/gdb-7.10/sim/cr16/configure R processors/ARM/gdb-7.10/sim/cr16/configure.ac R processors/ARM/gdb-7.10/sim/cr16/cr16_sim.h R processors/ARM/gdb-7.10/sim/cr16/endian.c R processors/ARM/gdb-7.10/sim/cr16/gencode.c R processors/ARM/gdb-7.10/sim/cr16/interp.c R processors/ARM/gdb-7.10/sim/cr16/sim-main.h R processors/ARM/gdb-7.10/sim/cr16/simops.c R processors/ARM/gdb-7.10/sim/cris/ChangeLog R processors/ARM/gdb-7.10/sim/cris/Makefile.in R processors/ARM/gdb-7.10/sim/cris/aclocal.m4 R processors/ARM/gdb-7.10/sim/cris/arch.c R processors/ARM/gdb-7.10/sim/cris/arch.h R processors/ARM/gdb-7.10/sim/cris/config.in R processors/ARM/gdb-7.10/sim/cris/configure Log Message: ----------- Merge branch 'Cog' into fixes/security Commit: 92cafdfab47776ffb7c75300371a3b5b941d795b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/92cafdfab47776ffb7c75300371a3b5b941d795b Author: Tobias Pape Date: 2020-09-10 (Thu, 10 Sep 2020) Changed paths: M build.linux32ARMv6/third-party/Makefile.libgit2 M build.linux32x86/third-party/Makefile.libgit2 M build.linux64ARMv8/third-party/Makefile.libgit2 M build.linux64x64/third-party/Makefile.libgit2 M build.linux64x64/third-party/Makefile.libssh2 M build.macos32x86/third-party/Makefile.libgit2 M build.macos64x64/third-party/Makefile.libgit2 M build.win32x86/third-party/Makefile.libgit2 M third-party/libgit2.spec M third-party/libpng.spec M third-party/libpng.spec.win Log Message: ----------- Merge pull request #386 from zecke/fixes/security third-party: Stop building/using vulnerable software Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/8e2fca0f6fad...92cafdfab477 From notifications at github.com Thu Sep 10 18:28:07 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:28:07 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Simplify gitignore build directories [skip ci] (#351) In-Reply-To: References: Message-ID: @bencoman Are you interested in reviewing thas since the `.gitignore` changed? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/351#issuecomment-690602557 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:28:47 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:28:47 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Be explicit about which test image version - move to CI config [HOLD] (#331) In-Reply-To: References: Message-ID: @bencoman I think we held for a moment :) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/331#issuecomment-690602938 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:29:52 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:29:52 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] DO NOT INTEGRATE - FOR DISCUSSION ONLY Minimalistic headless x64 msvc2017 (#312) In-Reply-To: References: Message-ID: Is this still necessary with the current MSVC stuff? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/312#issuecomment-690603873 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Sep 10 18:29:35 2020 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 10 Sep 2020 18:29:35 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2162 Message-ID: <20200910182935.1.7F8BB7350B7FBDCE@appveyor.com> An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:30:58 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:30:58 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Pullrequest/vmmaker (#305) In-Reply-To: References: Message-ID: This looks a bit outdated, no? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/305#issuecomment-690604494 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:31:40 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:31:40 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Feature lowcode linux build scripts update (#168) In-Reply-To: References: Message-ID: @ronsaldo any news here? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/168#issuecomment-690604873 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:32:19 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:32:19 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Build on FreeBSD (#483) In-Reply-To: References: Message-ID: @koshamo Still interested? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/483#issuecomment-690605376 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:33:20 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 18:33:20 +0000 (UTC) Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] pharo x64 libssh2 crashes on Windows 1903 (#416) In-Reply-To: References: Message-ID: @peteruhnak is this still a problem? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/416#issuecomment-690605982 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:35:14 2020 From: notifications at github.com (Ken Dickey) Date: Thu, 10 Sep 2020 11:35:14 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] MUSL deltas (mostly harmless) (#450) In-Reply-To: References: Message-ID: On 2020-09-10 11:15, Tobias Pape wrote: > I think with the landing of #515, most things here are obsolete, and > others need different treatment. > Mind if I close? Yep. Ole news. Please close. Thanks, -KenD -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/450#issuecomment-690607077 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:38:29 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:38:29 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] MUSL deltas (mostly harmless) (#450) In-Reply-To: References: Message-ID: Closed #450. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/450#event-3752563253 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 18:39:20 2020 From: notifications at github.com (Christoph Thiede) Date: Thu, 10 Sep 2020 18:39:20 +0000 (UTC) Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: @krono It's just a theory, but an advantage of using `msg->time` over `ioMSecs` etc. could be the fact that even if the event queue got blocked for some time, the VM is able to deliver the correct timestamps to the image. See https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-msg#members:~:text=member.-,time,The%20time%20at%20which%20the%20message%20was%20posted. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-690610599 -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Thu Sep 10 18:45:21 2020 From: builds at travis-ci.org (Travis CI) Date: Thu, 10 Sep 2020 18:45:21 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2161 (Cog - 8e2fca0) In-Reply-To: Message-ID: <5f5a74413055c_13fb2176f6b6c214448@travis-tasks-778d4b85fb-kplhb.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2161 Status: Errored Duration: 22 mins and 20 secs Commit: 8e2fca0 (Cog) Author: Tobias Pape Message: Merge pull request #390 from maenu/libgit2-make-fix fix libgit2 makefile View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/1b896e931954...8e2fca0f6fad View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726028095?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Thu Sep 10 18:48:12 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Thu, 10 Sep 2020 18:48:12 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2804.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2804.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2804 Author: eem Time: 10 September 2020, 11:47:42.35657 am UUID: add58370-b6c0-4529-acc3-ca9810a74e47 Ancestors: VMMaker.oscog-eem.2802 SmartSyntaxPrimitives: Fix the case where the final method return is in a conditional, and hence fix a terrible regression in SoundPlugin>>#primitiveSoundPlaySamples:from:startingAt: =============== Diff against VMMaker.oscog-eem.2802 =============== Item was changed: ----- Method: SmartSyntaxPluginTMethod>>endsWithMethodReturnExpression (in category 'testing') ----- endsWithMethodReturnExpression + | operativeReturn methodReturns | - | operativeReturn | operativeReturn := (parseTree statements last isReturn and: [parseTree statements last expression isLeaf]) ifTrue: [(parseTree statements last: 2) first] ifFalse: [parseTree statements last]. + methodReturns := #( methodReturnReceiver + methodReturnFloat: + methodReturnValue: + methodReturnInteger: + methodReturnBool: + methodReturnString: + methodReturnStringOrNil:). ^operativeReturn isSend + and: [(methodReturns includes: operativeReturn selector) + or: [operativeReturn isConditionalSend + and: [(operativeReturn args collect: [:stmts| stmts statements last]) anySatisfy: + [:stmt| stmt isSend and: [methodReturns includes: stmt selector]]]]]! - and: [#(methodReturnReceiver - methodReturnFloat: - methodReturnValue: - methodReturnInteger: - methodReturnBool: - methodReturnString: - methodReturnStringOrNil:) includes: operativeReturn selector]! From notifications at github.com Thu Sep 10 18:49:15 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 11:49:15 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: Makes sense; however, I _think_ the Image expects io ticks… so I paged dave -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-690616864 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Thu Sep 10 18:55:13 2020 From: noreply at github.com (Eliot Miranda) Date: Thu, 10 Sep 2020 11:55:13 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 2f31da: CogVM source as per VMMaker.oscog-eem.2804 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 2f31daf6a1c3ad37b2598d5ab5b4cf79cfa90f01 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2f31daf6a1c3ad37b2598d5ab5b4cf79cfa90f01 Author: Eliot Miranda Date: 2020-09-10 (Thu, 10 Sep 2020) Changed paths: M src/plugins/SoundPlugin/SoundPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2804 SmartSyntaxPrimitives: Fix the case where the final method return is in a conditional, and hence fix a terrible regression in SoundPlugin>>#primitiveSoundPlaySamples:from:startingAt: From no-reply at appveyor.com Thu Sep 10 18:58:36 2020 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 10 Sep 2020 18:58:36 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2163 Message-ID: <20200910185836.1.42F2CD40326D8677@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Thu Sep 10 19:12:44 2020 From: builds at travis-ci.org (Travis CI) Date: Thu, 10 Sep 2020 19:12:44 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2164 (Cog - 2f31daf) In-Reply-To: Message-ID: <5f5a7aa6c47cc_13fc30054510c215577@travis-tasks-778d4b85fb-zfpbn.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2164 Status: Errored Duration: 16 mins and 52 secs Commit: 2f31daf (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2804 SmartSyntaxPrimitives: Fix the case where the final method return is in a conditional, and hence fix a terrible regression in SoundPlugin>>#primitiveSoundPlaySamples:from:startingAt: View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/92cafdfab477...2f31daf6a1c3 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726037246?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 10 21:45:21 2020 From: notifications at github.com (Eliot Miranda) Date: Thu, 10 Sep 2020 14:45:21 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] DO NOT INTEGRATE - FOR DISCUSSION ONLY Minimalistic headless x64 msvc2017 (#312) In-Reply-To: References: Message-ID: Whether it's necessary or not, it's useful to have a minimal headless VM. That said, given that the MSVC 2017 build works, the headful makefiles could be used to inform the CMake build (settings, dealing with setjmp/longjmp issues, etc). -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/312#issuecomment-690748683 -------------- next part -------------- An HTML attachment was scrubbed... URL: From gettimothy at zoho.com Thu Sep 10 22:31:00 2020 From: gettimothy at zoho.com (gettimothy) Date: Thu, 10 Sep 2020 18:31:00 -0400 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Build on FreeBSD        (#483) In-Reply-To: References: Message-ID: <1747a24b599.e2dd5925152282.5907173290399260259@zoho.com> If you folks build it, i will use it. Client of mine runs it and running squeak nativelly on it instead of in a virtual box thingy will be very welcome. Also appreciate the work on open solaris too. Gotta jeep the sys admins interested ... ---- On Thu, 10 Sep 2020 14:32:19 -0400 notifications at github.com wrote ---- @koshamo Still interested? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 00:09:27 2020 From: notifications at github.com (David T Lewis) Date: Thu, 10 Sep 2020 17:09:27 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: The image simply expects an integer timeStamp relative to some (any) consistent start point. I expect no issues on the image side as long as events are milliseconds relative to the same basis. I am not a Windows expert, but the the Windows VM uses event timestamps from Windows events, and if those values are relative to system start time, then that is the way it should. Proposed patch as described above seems reasonable and good. As an aside, it might also be worth taking a look at ioMsecs() in the Windows VM to see if it could be changed to use the same time basis as Windows events (system startup time rather than VM startup time). If that could be done, then fixes like this would probably not be necessary. But don't let that suggestion stand in the way of integrating a good patch. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-690796194 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 02:17:39 2020 From: notifications at github.com (David T Lewis) Date: Thu, 10 Sep 2020 19:17:39 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: On a hunch I looked at ioMSecs() in the SVN repository, see line 1426 in the file at http://squeakvm.org/cgi-bin/viewvc.cgi/squeak/trunk/platforms/win32/vm/sqWin32Window.c?revision=2921&view=markup. This implements ioMSecs() as GetTickCount() &0x3FFFFFFF which is relative to system startup time. Thus the Windows VM originally had an ioMSecs() that was consistent with the time scale in the win32 MSG struct. Later changes to the platforms code may have changed this such that ioMSecs() no longer matches the time basis of the Windows events. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-690832397 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 02:49:08 2020 From: notifications at github.com (David T Lewis) Date: Thu, 10 Sep 2020 19:49:08 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: Sorry, I was citing ioMSec(), should have referenced ioMicroMSecs(). But in both cases, the time basis is system start time rather than VM start time, which is consistent with the time scale of a timestamps in a MSG struct. So in the earlier VMs we had: /* Note: ioMicroMSecs returns *milli*seconds */ int ioMicroMSecs(void) { /* Make sure the value fits into Squeak SmallIntegers */ return timeGetTime() &0x3FFFFFFF; } -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-690840933 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 06:16:47 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 23:16:47 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] DO NOT INTEGRATE - FOR DISCUSSION ONLY Minimalistic headless x64 msvc2017 (#312) In-Reply-To: References: Message-ID: Makes sense! Do we want to deal with that herein or a new pr? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/312#issuecomment-690899455 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 06:22:15 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 23:22:15 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: Ok, I'll merge. @LinqLover, care to look at Daves proposal re `ioMicroMSecs`? I think the Mask is depending on Image bittines (32 vs 64) but the rest looks sane. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-690901334 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Fri Sep 11 06:22:18 2020 From: noreply at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 23:22:18 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 640bb6: Early WIP Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 640bb64cf201b3a9b5c64f986d8ce6de96544559 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/640bb64cf201b3a9b5c64f986d8ce6de96544559 Author: Christoph Thiede Date: 2020-06-28 (Sun, 28 Jun 2020) Changed paths: M .gitignore M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Early WIP Commit: d431f10917d04b36ad41fc713fa3e5f509e4a0b4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d431f10917d04b36ad41fc713fa3e5f509e4a0b4 Author: LinqLover Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M .gitignore M .travis.yml M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.ext A build.linux64ARMv8/HowToBuild A build.linux64ARMv8/makeall A build.linux64ARMv8/makeallclean A build.linux64ARMv8/makeallmakefiles A build.linux64ARMv8/makeallsqueak R build.linux64ARMv8/pharo.cog.spur/apt-get-libs.sh R build.linux64ARMv8/pharo.cog.spur/build/mvm R build.linux64ARMv8/pharo.cog.spur/plugins.ext R build.linux64ARMv8/pharo.cog.spur/plugins.ext.all R build.linux64ARMv8/pharo.cog.spur/plugins.int M build.linux64ARMv8/pharo.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.cog.spur/build.assert/mvm M build.linux64ARMv8/squeak.cog.spur/build.debug/mvm M build.linux64ARMv8/squeak.cog.spur/build/mvm M build.linux64ARMv8/squeak.cog.spur/plugins.ext M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M build.linux64ARMv8/squeak.stack.spur/plugins.ext M build.linux64x64/makeallsqueak M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.ext M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos32x86/common/Makefile.lib.extra M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.rules M build.macos32x86/common/Makefile.vm R build.macos32x86/common/mkNamedPrims.sh M build.macos32x86/makeproduct M build.macos32x86/squeak.cog.spur+immutability/plugins.ext M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos32x86/squeak.cog.v3/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.ext M build.macos32x86/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.stack.v3/plugins.ext A build.macos64ARMv8/HowToBuild A build.macos64ARMv8/bochsx64/conf.COG A build.macos64ARMv8/bochsx64/conf.COG.dbg A build.macos64ARMv8/bochsx64/exploration/Makefile A build.macos64ARMv8/bochsx64/makeclean A build.macos64ARMv8/bochsx64/makeem A build.macos64ARMv8/bochsx86/conf.COG A build.macos64ARMv8/bochsx86/conf.COG.dbg A build.macos64ARMv8/bochsx86/exploration/Makefile A build.macos64ARMv8/bochsx86/makeclean A build.macos64ARMv8/bochsx86/makeem A build.macos64ARMv8/common/Makefile.app A build.macos64ARMv8/common/Makefile.app.newspeak A build.macos64ARMv8/common/Makefile.app.squeak A build.macos64ARMv8/common/Makefile.flags A build.macos64ARMv8/common/Makefile.lib.extra A build.macos64ARMv8/common/Makefile.plugin A build.macos64ARMv8/common/Makefile.rules A build.macos64ARMv8/common/Makefile.sources A build.macos64ARMv8/common/Makefile.vm A build.macos64ARMv8/common/entitlements.plist A build.macos64ARMv8/gdbarm32/clean A build.macos64ARMv8/gdbarm32/conf.COG A build.macos64ARMv8/gdbarm32/makeem A build.macos64ARMv8/gdbarm64/clean A build.macos64ARMv8/gdbarm64/conf.COG A build.macos64ARMv8/gdbarm64/makeem A build.macos64ARMv8/makeall A build.macos64ARMv8/makeallinstall A build.macos64ARMv8/makeproduct A build.macos64ARMv8/makeproductinstall A build.macos64ARMv8/makesista A build.macos64ARMv8/makespur A build.macos64ARMv8/pharo.stack.spur.lowcode/Makefile A build.macos64ARMv8/pharo.stack.spur.lowcode/mvm A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.ext A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.int A build.macos64ARMv8/pharo.stack.spur/Makefile A build.macos64ARMv8/pharo.stack.spur/mvm A build.macos64ARMv8/pharo.stack.spur/plugins.ext A build.macos64ARMv8/pharo.stack.spur/plugins.int A build.macos64ARMv8/squeak.cog.spur.immutability/Makefile A build.macos64ARMv8/squeak.cog.spur.immutability/mvm A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.ext A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.int A build.macos64ARMv8/squeak.cog.spur/Makefile A build.macos64ARMv8/squeak.cog.spur/mvm A build.macos64ARMv8/squeak.cog.spur/plugins.ext A build.macos64ARMv8/squeak.cog.spur/plugins.int A build.macos64ARMv8/squeak.sista.spur/Makefile A build.macos64ARMv8/squeak.sista.spur/mvm A build.macos64ARMv8/squeak.sista.spur/plugins.ext A build.macos64ARMv8/squeak.sista.spur/plugins.int A build.macos64ARMv8/squeak.stack.spur/Makefile A build.macos64ARMv8/squeak.stack.spur/mvm A build.macos64ARMv8/squeak.stack.spur/plugins.ext A build.macos64ARMv8/squeak.stack.spur/plugins.int M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.lib.extra M build.macos64x64/common/Makefile.plugin M build.macos64x64/common/Makefile.rules M build.macos64x64/common/Makefile.vm R build.macos64x64/common/mkNamedPrims.sh M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.ext M build.sunos32x86/squeak.cog.spur/plugins.ext M build.sunos32x86/squeak.stack.spur/plugins.ext M build.sunos64x64/squeak.cog.spur/plugins.ext M build.sunos64x64/squeak.stack.spur/plugins.ext M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.v3/plugins.ext M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.ext M nsspur64src/vm/cogit.h A nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/FloatMathPlugin/ieee754names.h M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/dabusiness.h M platforms/Cross/plugins/IA32ABI/dabusinessARM.h M platforms/Cross/plugins/IA32ABI/dabusinessARM32.h M platforms/Cross/plugins/IA32ABI/dabusinessARM64.h M platforms/Cross/plugins/IA32ABI/dabusinessPostLogic.h M platforms/Cross/plugins/IA32ABI/dabusinessppc.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicDouble.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicFloat.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicInteger.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/third-party/fdlibm/fdlibm.h A platforms/Cross/util/mkIntPluginIndices.sh A platforms/Cross/util/mkNamedPrims.sh M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqCogStackAlignment.h M platforms/Cross/vm/sqNamedPrims.c M platforms/Cross/vm/sqTicker.c M platforms/Cross/vm/sqVirtualMachine.c M platforms/Mac OS/vm/sqMacMain.c M platforms/iOS/plugins/BochsIA32Plugin/Makefile M platforms/iOS/plugins/BochsX64Plugin/Makefile M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.h M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/iOS/vm/OSX/sqSqueakOSXScreenAndWindow.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication+attributes.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication.m M platforms/minheadless/generic/sqPlatformSpecific-Generic.c M platforms/minheadless/unix/sqPlatformSpecific-Unix.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/unix/vm-display-X11/sqUnixXdnd.c M platforms/unix/vm-display-fbdev/00_README.fbdev A platforms/unix/vm-display-fbdev/AlpineLinux-Notes.txt A platforms/unix/vm-display-fbdev/Armbian-Notes.txt A platforms/unix/vm-display-fbdev/Balloon.h A platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c A platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c M platforms/unix/vm/debug.h M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixMain.c M platforms/win32/misc/Makefile.mingw32 M platforms/win32/plugins/DropPlugin/sqWin32Drop.c M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c M scripts/revertIfEssentiallyUnchanged M spur64src/vm/cogit.h A spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h A spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h A spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c A src/ckformat.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c A src/plugins/SHA2Plugin/SHA2Plugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M third-party/libssh2.spec Log Message: ----------- Merge branch 'Cog' into fix-win-evt-timestamps Commit: 959b105b700b10b872612bfdf92d527b0351241f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/959b105b700b10b872612bfdf92d527b0351241f Author: LinqLover Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Fix timestamps for DragDrop events on Windows Closes #509. Commit: 6ba4b1294071796fe2f4d4d1c57a06aaa26d1484 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6ba4b1294071796fe2f4d4d1c57a06aaa26d1484 Author: LinqLover Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Use GetTickCount() instead of GetMessageTime(). The latter would be imprecise and depend on the VM receiving real MSG messages at the same time. Commit: a7fd312ab3fad65c3f62b3ff2a54191305485ccf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a7fd312ab3fad65c3f62b3ff2a54191305485ccf Author: LinqLover Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- [skip-ci] Improve comment Commit: d2c335a3d2638f4106c3c06173c51d898a7871b3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d2c335a3d2638f4106c3c06173c51d898a7871b3 Author: Tobias Pape Date: 2020-09-11 (Fri, 11 Sep 2020) Changed paths: M .gitignore M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #518 from LinqLover/fix-win-evt-timestamps Fix timestamps for DragDrop events on Windows Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/2f31daf6a1c3...d2c335a3d263 From notifications at github.com Fri Sep 11 06:22:20 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 23:22:20 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: Merged #518 into Cog. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#event-3754531253 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 06:22:21 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 23:22:21 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Win32 event generation mixes up timeGetTime() and GetMessageTime() (#509) In-Reply-To: References: Message-ID: Closed #509 via #518. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/509#event-3754531259 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 06:23:23 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 10 Sep 2020 23:23:23 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Build on FreeBSD (#483) In-Reply-To: References: Message-ID: Understood. I would need a voluteer to see if things are ok already since we hat quite a bit of improvement since this PR. I need to see whether everything is fine already or what to cherry-pick from here. -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/483#issuecomment-690901733 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Sep 11 06:26:29 2020 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 11 Sep 2020 06:26:29 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2164 Message-ID: <20200911062629.1.A5B49F7419BCFE7C@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Fri Sep 11 06:33:20 2020 From: builds at travis-ci.org (Travis CI) Date: Fri, 11 Sep 2020 06:33:20 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2165 (Cog - d2c335a) In-Reply-To: Message-ID: <5f5b1a3012037_13fcf580b268051040@travis-tasks-b485fbcf8-g6cn4.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2165 Status: Errored Duration: 10 mins and 55 secs Commit: d2c335a (Cog) Author: Tobias Pape Message: Merge pull request #518 from LinqLover/fix-win-evt-timestamps Fix timestamps for DragDrop events on Windows View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/2f31daf6a1c3...d2c335a3d263 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726172802?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 06:53:37 2020 From: notifications at github.com (Peter Uhnak) Date: Thu, 10 Sep 2020 23:53:37 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] pharo x64 libssh2 crashes on Windows 1903 (#416) In-Reply-To: References: Message-ID: It was fixed in the pharo fork, but I don't know if that was merged back here; Unfortunately I use Pharo only to a limited extent these days. Feel free to close the issue. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/416#issuecomment-690912238 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Fri Sep 11 09:07:20 2020 From: noreply at github.com (Tobias Pape) Date: Fri, 11 Sep 2020 02:07:20 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 9db3e0: third-party: Stop building/using vulnerable software Message-ID: Branch: refs/heads/krono/highdpi-v2 Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 9db3e055ba50f3cd3773de987cd7b146455fb420 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9db3e055ba50f3cd3773de987cd7b146455fb420 Author: Holger Hans Peter Freyther Date: 2019-03-28 (Thu, 28 Mar 2019) Changed paths: M third-party/libgit2.spec M third-party/libpng.spec M third-party/libssh2.spec M third-party/openssl.spec Log Message: ----------- third-party: Stop building/using vulnerable software Commit: 68c1865a87d7f4ab750bda1bc98d3588cd61ff74 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/68c1865a87d7f4ab750bda1bc98d3588cd61ff74 Author: Holger Hans Peter Freyther Date: 2019-03-28 (Thu, 28 Mar 2019) Changed paths: M build.linux64x64/third-party/Makefile.libgit2 M build.linux64x64/third-party/Makefile.libssh2 Log Message: ----------- Make it use the OpenSSL we built, let it find libssh2 * libssh2 would build against the host OpenSSL 1.1 and then try to resolve against the OpenSSL 1.0.1 leading to undefined symbols. Point the build to the right header files. * The new libgit2 would try to resolve our absolute path and then fail. Let pkg-config do its normal job and specify the look-up path. PS: Being in the business of building dependencies is a real liability. :( Commit: 4bc3d72ffe6adf42695eeae1acc7f2ea16bd72ed https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4bc3d72ffe6adf42695eeae1acc7f2ea16bd72ed Author: Holger Hans Peter Freyther Date: 2019-03-28 (Thu, 28 Mar 2019) Changed paths: M build.linux32ARMv6/third-party/Makefile.libgit2 M build.linux32x86/third-party/Makefile.libgit2 M build.linux64ARMv8/third-party/Makefile.libgit2 M build.macos32x86/third-party/Makefile.libgit2 M build.macos64x64/third-party/Makefile.libgit2 M build.win32x86/third-party/Makefile.libgit2 Log Message: ----------- update n code clones and deal with their speciality Note: In general there is little reason for treating these build configs differently. Thanks to the GNU (and GNU compatible) toolchain building them should be universal. Their respective buildsystems are already capable of handling platform differences already. Commit: 4e9b6c6de51e16d7e7c65b36d7438e373cd6f039 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4e9b6c6de51e16d7e7c65b36d7438e373cd6f039 Author: Holger Hans Peter Freyther Date: 2019-03-28 (Thu, 28 Mar 2019) Changed paths: M third-party/libpng.spec M third-party/libpng.spec.win Log Message: ----------- WIP.. move libpng16 forward for real.. Commit: 929b31da40e603281ab11e1df1948794cf330936 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/929b31da40e603281ab11e1df1948794cf330936 Author: Holger Hans Peter Freyther Date: 2019-03-29 (Fri, 29 Mar 2019) Changed paths: M third-party/libpng.spec Log Message: ----------- wip.. Commit: 0c2105f885b28e27122f20bedffa64276fd8263b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0c2105f885b28e27122f20bedffa64276fd8263b Author: Manuel Leuenberger Date: 2019-04-11 (Thu, 11 Apr 2019) Changed paths: M build.macos64x64/third-party/Makefile.libgit2 Log Message: ----------- fix libgit2 makefile Commit: 640bb64cf201b3a9b5c64f986d8ce6de96544559 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/640bb64cf201b3a9b5c64f986d8ce6de96544559 Author: Christoph Thiede Date: 2020-06-28 (Sun, 28 Jun 2020) Changed paths: M .gitignore M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Early WIP Commit: d431f10917d04b36ad41fc713fa3e5f509e4a0b4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d431f10917d04b36ad41fc713fa3e5f509e4a0b4 Author: LinqLover Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M .gitignore M .travis.yml M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.ext A build.linux64ARMv8/HowToBuild A build.linux64ARMv8/makeall A build.linux64ARMv8/makeallclean A build.linux64ARMv8/makeallmakefiles A build.linux64ARMv8/makeallsqueak R build.linux64ARMv8/pharo.cog.spur/apt-get-libs.sh R build.linux64ARMv8/pharo.cog.spur/build/mvm R build.linux64ARMv8/pharo.cog.spur/plugins.ext R build.linux64ARMv8/pharo.cog.spur/plugins.ext.all R build.linux64ARMv8/pharo.cog.spur/plugins.int M build.linux64ARMv8/pharo.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.cog.spur/build.assert/mvm M build.linux64ARMv8/squeak.cog.spur/build.debug/mvm M build.linux64ARMv8/squeak.cog.spur/build/mvm M build.linux64ARMv8/squeak.cog.spur/plugins.ext M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M build.linux64ARMv8/squeak.stack.spur/plugins.ext M build.linux64x64/makeallsqueak M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.ext M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos32x86/common/Makefile.lib.extra M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.rules M build.macos32x86/common/Makefile.vm R build.macos32x86/common/mkNamedPrims.sh M build.macos32x86/makeproduct M build.macos32x86/squeak.cog.spur+immutability/plugins.ext M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos32x86/squeak.cog.v3/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.ext M build.macos32x86/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.stack.v3/plugins.ext A build.macos64ARMv8/HowToBuild A build.macos64ARMv8/bochsx64/conf.COG A build.macos64ARMv8/bochsx64/conf.COG.dbg A build.macos64ARMv8/bochsx64/exploration/Makefile A build.macos64ARMv8/bochsx64/makeclean A build.macos64ARMv8/bochsx64/makeem A build.macos64ARMv8/bochsx86/conf.COG A build.macos64ARMv8/bochsx86/conf.COG.dbg A build.macos64ARMv8/bochsx86/exploration/Makefile A build.macos64ARMv8/bochsx86/makeclean A build.macos64ARMv8/bochsx86/makeem A build.macos64ARMv8/common/Makefile.app A build.macos64ARMv8/common/Makefile.app.newspeak A build.macos64ARMv8/common/Makefile.app.squeak A build.macos64ARMv8/common/Makefile.flags A build.macos64ARMv8/common/Makefile.lib.extra A build.macos64ARMv8/common/Makefile.plugin A build.macos64ARMv8/common/Makefile.rules A build.macos64ARMv8/common/Makefile.sources A build.macos64ARMv8/common/Makefile.vm A build.macos64ARMv8/common/entitlements.plist A build.macos64ARMv8/gdbarm32/clean A build.macos64ARMv8/gdbarm32/conf.COG A build.macos64ARMv8/gdbarm32/makeem A build.macos64ARMv8/gdbarm64/clean A build.macos64ARMv8/gdbarm64/conf.COG A build.macos64ARMv8/gdbarm64/makeem A build.macos64ARMv8/makeall A build.macos64ARMv8/makeallinstall A build.macos64ARMv8/makeproduct A build.macos64ARMv8/makeproductinstall A build.macos64ARMv8/makesista A build.macos64ARMv8/makespur A build.macos64ARMv8/pharo.stack.spur.lowcode/Makefile A build.macos64ARMv8/pharo.stack.spur.lowcode/mvm A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.ext A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.int A build.macos64ARMv8/pharo.stack.spur/Makefile A build.macos64ARMv8/pharo.stack.spur/mvm A build.macos64ARMv8/pharo.stack.spur/plugins.ext A build.macos64ARMv8/pharo.stack.spur/plugins.int A build.macos64ARMv8/squeak.cog.spur.immutability/Makefile A build.macos64ARMv8/squeak.cog.spur.immutability/mvm A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.ext A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.int A build.macos64ARMv8/squeak.cog.spur/Makefile A build.macos64ARMv8/squeak.cog.spur/mvm A build.macos64ARMv8/squeak.cog.spur/plugins.ext A build.macos64ARMv8/squeak.cog.spur/plugins.int A build.macos64ARMv8/squeak.sista.spur/Makefile A build.macos64ARMv8/squeak.sista.spur/mvm A build.macos64ARMv8/squeak.sista.spur/plugins.ext A build.macos64ARMv8/squeak.sista.spur/plugins.int A build.macos64ARMv8/squeak.stack.spur/Makefile A build.macos64ARMv8/squeak.stack.spur/mvm A build.macos64ARMv8/squeak.stack.spur/plugins.ext A build.macos64ARMv8/squeak.stack.spur/plugins.int M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.lib.extra M build.macos64x64/common/Makefile.plugin M build.macos64x64/common/Makefile.rules M build.macos64x64/common/Makefile.vm R build.macos64x64/common/mkNamedPrims.sh M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.ext M build.sunos32x86/squeak.cog.spur/plugins.ext M build.sunos32x86/squeak.stack.spur/plugins.ext M build.sunos64x64/squeak.cog.spur/plugins.ext M build.sunos64x64/squeak.stack.spur/plugins.ext M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.v3/plugins.ext M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.ext M nsspur64src/vm/cogit.h A nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/FloatMathPlugin/ieee754names.h M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/dabusiness.h M platforms/Cross/plugins/IA32ABI/dabusinessARM.h M platforms/Cross/plugins/IA32ABI/dabusinessARM32.h M platforms/Cross/plugins/IA32ABI/dabusinessARM64.h M platforms/Cross/plugins/IA32ABI/dabusinessPostLogic.h M platforms/Cross/plugins/IA32ABI/dabusinessppc.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicDouble.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicFloat.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicInteger.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/third-party/fdlibm/fdlibm.h A platforms/Cross/util/mkIntPluginIndices.sh A platforms/Cross/util/mkNamedPrims.sh M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqCogStackAlignment.h M platforms/Cross/vm/sqNamedPrims.c M platforms/Cross/vm/sqTicker.c M platforms/Cross/vm/sqVirtualMachine.c M platforms/Mac OS/vm/sqMacMain.c M platforms/iOS/plugins/BochsIA32Plugin/Makefile M platforms/iOS/plugins/BochsX64Plugin/Makefile M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.h M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/iOS/vm/OSX/sqSqueakOSXScreenAndWindow.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication+attributes.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication.m M platforms/minheadless/generic/sqPlatformSpecific-Generic.c M platforms/minheadless/unix/sqPlatformSpecific-Unix.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/unix/vm-display-X11/sqUnixXdnd.c M platforms/unix/vm-display-fbdev/00_README.fbdev A platforms/unix/vm-display-fbdev/AlpineLinux-Notes.txt A platforms/unix/vm-display-fbdev/Armbian-Notes.txt A platforms/unix/vm-display-fbdev/Balloon.h A platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c A platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c M platforms/unix/vm/debug.h M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixMain.c M platforms/win32/misc/Makefile.mingw32 M platforms/win32/plugins/DropPlugin/sqWin32Drop.c M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c M scripts/revertIfEssentiallyUnchanged M spur64src/vm/cogit.h A spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h A spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h A spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c A src/ckformat.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c A src/plugins/SHA2Plugin/SHA2Plugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M third-party/libssh2.spec Log Message: ----------- Merge branch 'Cog' into fix-win-evt-timestamps Commit: 959b105b700b10b872612bfdf92d527b0351241f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/959b105b700b10b872612bfdf92d527b0351241f Author: LinqLover Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Fix timestamps for DragDrop events on Windows Closes #509. Commit: 6ba4b1294071796fe2f4d4d1c57a06aaa26d1484 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6ba4b1294071796fe2f4d4d1c57a06aaa26d1484 Author: LinqLover Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Use GetTickCount() instead of GetMessageTime(). The latter would be imprecise and depend on the VM receiving real MSG messages at the same time. Commit: a7fd312ab3fad65c3f62b3ff2a54191305485ccf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a7fd312ab3fad65c3f62b3ff2a54191305485ccf Author: LinqLover Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- [skip-ci] Improve comment Commit: 9d44f97ef7c1dd199ff93efef8f896aecf4c9694 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9d44f97ef7c1dd199ff93efef8f896aecf4c9694 Author: Eliot Miranda Date: 2020-09-07 (Mon, 07 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Mac OS/vm/sqMacMain.c M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/unix/vm/sqUnixMain.c M platforms/win32/vm/sqWin32Main.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per Name: VMMaker.oscog-eem.2802 Warning et al must take a const char * argument to avoid C++ warnings/errors. One can only pass a string constant to a const char * in C++. Use shared code for string results. Use storePointerUnchecked: storeInteger: in a few appropriate places. Commit: d04e6837742b6821f623c5296cccde1f44745f6f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d04e6837742b6821f623c5296cccde1f44745f6f Author: Eliot Miranda Date: 2020-09-07 (Mon, 07 Sep 2020) Changed paths: M build.win32x86/common/Makefile.msvc.flags M build.win32x86/common/Makefile.msvc.tools M build.win64x64/common/Makefile.tools M platforms/win32/plugins/B3DAcceleratorPlugin/Makefile.msvc M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c Log Message: ----------- Win32 cleanups: if is not a function call. Clang-cl does not appear to support x86. B3DPlugin needs user32.dll Commit: 1b896e93195458099ac6cb27c5bb85dec66501d2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1b896e93195458099ac6cb27c5bb85dec66501d2 Author: Eliot Miranda Date: 2020-09-07 (Mon, 07 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/vm/sq.h M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM sources as per VMMaker.oscog-eem.2803 StackInterpreter: Fix a regression on Cygwin. Cygwin's setjmp.h defines _setjmp. Undefine to get to our own definition. Ensure various definitions for error agree to the letter. b3dMain.c should not need to define warning. Commit: 8e2fca0f6fad4a5a38b50f7a48f97df7c38f53c1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8e2fca0f6fad4a5a38b50f7a48f97df7c38f53c1 Author: Tobias Pape Date: 2020-09-10 (Thu, 10 Sep 2020) Changed paths: M build.macos64x64/third-party/Makefile.libgit2 Log Message: ----------- Merge pull request #390 from maenu/libgit2-make-fix fix libgit2 makefile Commit: 6e2399c3d9c560f333802d9c6f16063ee71e24e3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6e2399c3d9c560f333802d9c6f16063ee71e24e3 Author: Tobias Pape Date: 2020-09-10 (Thu, 10 Sep 2020) Changed paths: M .appveyor.yml M .clang_complete A .editorconfig M .git_filters/RevDateURL.clean M .git_filters/RevDateURL.smudge M .gitattributes M .gitignore M .travis.yml M CMakeLists.txt M build.linux32ARMv6/HowToBuild M build.linux32ARMv6/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv6/newspeak.cog.spur/build/mvm M build.linux32ARMv6/newspeak.cog.spur/plugins.int M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv6/newspeak.stack.spur/build/mvm M build.linux32ARMv6/newspeak.stack.spur/plugins.int M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm M build.linux32ARMv6/pharo.cog.spur/build/mvm M build.linux32ARMv6/pharo.cog.spur/plugins.ext M build.linux32ARMv6/pharo.cog.spur/plugins.int M build.linux32ARMv6/squeak.cog.spur/build.assert/mvm M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm M build.linux32ARMv6/squeak.cog.spur/build/mvm M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.cog.spur/plugins.int M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm M build.linux32ARMv6/squeak.stack.spur/build/mvm M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.int M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm M build.linux32ARMv6/squeak.stack.v3/build/mvm M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.int M build.linux32ARMv7/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv7/newspeak.cog.spur/build/mvm M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv7/newspeak.stack.spur/build/mvm M build.linux32x86/gdbarm32/conf.COG M build.linux32x86/gdbarm32/makeem M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.assert/mvm M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.debug/mvm M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build/mvm M build.linux32x86/newspeak.cog.spur/plugins.int M build.linux32x86/newspeak.sista.spur/plugins.int M build.linux32x86/newspeak.stack.spur/build.assert/mvm M build.linux32x86/newspeak.stack.spur/build.debug/mvm M build.linux32x86/newspeak.stack.spur/build/mvm M build.linux32x86/newspeak.stack.spur/plugins.int M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.assert/mvm M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.debug/mvm M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build/mvm M build.linux32x86/nsnac.cog.spur/plugins.int M build.linux32x86/pharo.cog.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build/mvm M build.linux32x86/pharo.cog.spur.lowcode/plugins.ext M build.linux32x86/pharo.cog.spur.lowcode/plugins.int M build.linux32x86/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.assert/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build/mvm M build.linux32x86/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.assert/mvm M build.linux32x86/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.debug/mvm M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build/mvm M build.linux32x86/pharo.cog.spur/plugins.ext M build.linux32x86/pharo.cog.spur/plugins.int M build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.assert/mvm M build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.debug/mvm M build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build/mvm M build.linux32x86/pharo.sista.spur/plugins.ext M build.linux32x86/pharo.sista.spur/plugins.int M build.linux32x86/pharo.stack.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build/mvm M build.linux32x86/pharo.stack.spur.lowcode/plugins.ext M build.linux32x86/pharo.stack.spur.lowcode/plugins.int M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm M build.linux32x86/squeak.cog.spur.immutability/build/mvm M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.int M build.linux32x86/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.assert/mvm M build.linux32x86/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.debug/mvm M build.linux32x86/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build/mvm M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.int M build.linux32x86/squeak.cog.v3/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.assert/mvm M build.linux32x86/squeak.cog.v3/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.debug/mvm M build.linux32x86/squeak.cog.v3/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.assert/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.debug/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded/mvm M build.linux32x86/squeak.cog.v3/build/mvm M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.int M build.linux32x86/squeak.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.assert/mvm M build.linux32x86/squeak.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.debug/mvm M build.linux32x86/squeak.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build/mvm M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.int M build.linux32x86/squeak.stack.spur/build.assert/mvm M build.linux32x86/squeak.stack.spur/build.debug/mvm M build.linux32x86/squeak.stack.spur/build/mvm M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.int M build.linux32x86/squeak.stack.v3/build.assert/mvm M build.linux32x86/squeak.stack.v3/build.debug/mvm M build.linux32x86/squeak.stack.v3/build/mvm M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.int A build.linux64ARMv8/HowToBuild A build.linux64ARMv8/makeall A build.linux64ARMv8/makeallclean A build.linux64ARMv8/makeallmakefiles A build.linux64ARMv8/makeallsqueak R build.linux64ARMv8/pharo.cog.spur/apt-get-libs.sh R build.linux64ARMv8/pharo.cog.spur/build/mvm R build.linux64ARMv8/pharo.cog.spur/plugins.ext R build.linux64ARMv8/pharo.cog.spur/plugins.ext.all R build.linux64ARMv8/pharo.cog.spur/plugins.int M build.linux64ARMv8/pharo.stack.spur/build.debug/mvm M build.linux64ARMv8/pharo.stack.spur/build/mvm M build.linux64ARMv8/pharo.stack.spur/plugins.ext M build.linux64ARMv8/pharo.stack.spur/plugins.int A build.linux64ARMv8/squeak.cog.spur/build.assert/mvm A build.linux64ARMv8/squeak.cog.spur/build.debug/mvm A build.linux64ARMv8/squeak.cog.spur/build/mvm A build.linux64ARMv8/squeak.cog.spur/makeallclean A build.linux64ARMv8/squeak.cog.spur/makealldirty A build.linux64ARMv8/squeak.cog.spur/plugins.ext A build.linux64ARMv8/squeak.cog.spur/plugins.int M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M build.linux64ARMv8/squeak.stack.spur/plugins.ext M build.linux64ARMv8/squeak.stack.spur/plugins.int M build.linux64x64/gdbarm32/conf.COG M build.linux64x64/gdbarm32/makeem A build.linux64x64/gdbarm64/conf.COG A build.linux64x64/gdbarm64/makeem M build.linux64x64/makeallsqueak M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.assert/mvm M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.debug/mvm M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build/mvm M build.linux64x64/newspeak.cog.spur/plugins.int M build.linux64x64/newspeak.sista.spur/plugins.int M build.linux64x64/newspeak.stack.spur/build.assert/mvm M build.linux64x64/newspeak.stack.spur/build.debug/mvm M build.linux64x64/newspeak.stack.spur/build/mvm M build.linux64x64/newspeak.stack.spur/plugins.int M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.assert/mvm M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.debug/mvm M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build/mvm M build.linux64x64/nsnac.cog.spur/plugins.int M build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build/mvm M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M build.linux64x64/pharo.cog.spur/plugins.ext M build.linux64x64/pharo.cog.spur/plugins.int M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm M build.linux64x64/squeak.cog.spur.immutability/build/mvm M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/plugins.int M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.assert/mvm M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.debug/mvm M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build/mvm M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.int M build.linux64x64/squeak.stack.spur/build.assert/mvm M build.linux64x64/squeak.stack.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build/mvm M build.linux64x64/squeak.stack.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.int M build.macos32x86/HowToBuild M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos32x86/common/Makefile.lib.extra M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.rules M build.macos32x86/common/Makefile.vm R build.macos32x86/common/mkNamedPrims.sh M build.macos32x86/gdbarm32/conf.COG M build.macos32x86/gdbarm32/makeem A build.macos32x86/gdbarm64/conf.COG A build.macos32x86/gdbarm64/makeem M build.macos32x86/makeproduct M build.macos32x86/newspeak.cog.spur/plugins.int M build.macos32x86/newspeak.stack.spur/plugins.int M build.macos32x86/pharo.cog.spur.lowcode/plugins.int M build.macos32x86/pharo.cog.spur.minheadless/plugins.int M build.macos32x86/pharo.cog.spur/plugins.ext M build.macos32x86/pharo.cog.spur/plugins.int M build.macos32x86/pharo.sista.spur/plugins.int M build.macos32x86/pharo.stack.spur.lowcode/plugins.int M build.macos32x86/pharo.stack.spur/plugins.int M build.macos32x86/squeak.cog.spur+immutability/plugins.ext M build.macos32x86/squeak.cog.spur+immutability/plugins.int M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos32x86/squeak.cog.spur/plugins.int M build.macos32x86/squeak.cog.v3/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.int M build.macos32x86/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.stack.spur/plugins.int M build.macos32x86/squeak.stack.v3/plugins.ext A build.macos64ARMv8/HowToBuild A build.macos64ARMv8/bochsx64/conf.COG A build.macos64ARMv8/bochsx64/conf.COG.dbg A build.macos64ARMv8/bochsx64/exploration/Makefile A build.macos64ARMv8/bochsx64/makeclean A build.macos64ARMv8/bochsx64/makeem A build.macos64ARMv8/bochsx86/conf.COG A build.macos64ARMv8/bochsx86/conf.COG.dbg A build.macos64ARMv8/bochsx86/exploration/Makefile A build.macos64ARMv8/bochsx86/makeclean A build.macos64ARMv8/bochsx86/makeem A build.macos64ARMv8/common/Makefile.app A build.macos64ARMv8/common/Makefile.app.newspeak A build.macos64ARMv8/common/Makefile.app.squeak A build.macos64ARMv8/common/Makefile.flags A build.macos64ARMv8/common/Makefile.lib.extra A build.macos64ARMv8/common/Makefile.plugin A build.macos64ARMv8/common/Makefile.rules A build.macos64ARMv8/common/Makefile.sources A build.macos64ARMv8/common/Makefile.vm A build.macos64ARMv8/common/entitlements.plist A build.macos64ARMv8/gdbarm32/clean A build.macos64ARMv8/gdbarm32/conf.COG A build.macos64ARMv8/gdbarm32/makeem A build.macos64ARMv8/gdbarm64/clean A build.macos64ARMv8/gdbarm64/conf.COG A build.macos64ARMv8/gdbarm64/makeem A build.macos64ARMv8/makeall A build.macos64ARMv8/makeallinstall A build.macos64ARMv8/makeproduct A build.macos64ARMv8/makeproductinstall A build.macos64ARMv8/makesista A build.macos64ARMv8/makespur A build.macos64ARMv8/pharo.stack.spur.lowcode/Makefile A build.macos64ARMv8/pharo.stack.spur.lowcode/mvm A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.ext A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.int A build.macos64ARMv8/pharo.stack.spur/Makefile A build.macos64ARMv8/pharo.stack.spur/mvm A build.macos64ARMv8/pharo.stack.spur/plugins.ext A build.macos64ARMv8/pharo.stack.spur/plugins.int A build.macos64ARMv8/squeak.cog.spur.immutability/Makefile A build.macos64ARMv8/squeak.cog.spur.immutability/mvm A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.ext A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.int A build.macos64ARMv8/squeak.cog.spur/Makefile A build.macos64ARMv8/squeak.cog.spur/mvm A build.macos64ARMv8/squeak.cog.spur/plugins.ext A build.macos64ARMv8/squeak.cog.spur/plugins.int A build.macos64ARMv8/squeak.sista.spur/Makefile A build.macos64ARMv8/squeak.sista.spur/mvm A build.macos64ARMv8/squeak.sista.spur/plugins.ext A build.macos64ARMv8/squeak.sista.spur/plugins.int A build.macos64ARMv8/squeak.stack.spur/Makefile A build.macos64ARMv8/squeak.stack.spur/mvm A build.macos64ARMv8/squeak.stack.spur/plugins.ext A build.macos64ARMv8/squeak.stack.spur/plugins.int M build.macos64x64/HowToBuild M build.macos64x64/bochsx64/conf.COG M build.macos64x64/bochsx64/conf.COG.dbg M build.macos64x64/bochsx86/conf.COG M build.macos64x64/bochsx86/conf.COG.dbg M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.app.squeak M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.lib.extra M build.macos64x64/common/Makefile.plugin M build.macos64x64/common/Makefile.rules M build.macos64x64/common/Makefile.vm R build.macos64x64/common/mkNamedPrims.sh A build.macos64x64/gdbarm32/clean M build.macos64x64/gdbarm32/conf.COG M build.macos64x64/gdbarm32/makeem A build.macos64x64/gdbarm64/clean A build.macos64x64/gdbarm64/conf.COG A build.macos64x64/gdbarm64/makeem M build.macos64x64/newspeak.cog.spur/plugins.int M build.macos64x64/newspeak.stack.spur/plugins.int M build.macos64x64/pharo.cog.spur.lowcode/plugins.int M build.macos64x64/pharo.cog.spur/plugins.int M build.macos64x64/pharo.sista.spur/plugins.int M build.macos64x64/pharo.stack.spur.lowcode/plugins.int M build.macos64x64/pharo.stack.spur/Makefile M build.macos64x64/pharo.stack.spur/plugins.int M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur.immutability/plugins.int M build.macos64x64/squeak.cog.spur/Makefile M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.int M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.int M build.macos64x64/squeak.stack.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.int M build.macos64x64/third-party/Makefile.libgit2 A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin-clang.cmake A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin-gcc.cmake R build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin.cmake M build.minheadless.cmake/x64/common/configure_variant.sh A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/Makefile A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x64/pharo.cog.spur/Makefile M build.minheadless.cmake/x64/pharo.cog.spur/mvm M build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/pharo.stack.spur/Makefile M build.minheadless.cmake/x64/pharo.stack.spur/mvm M build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/Makefile A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x64/squeak.cog.spur/Makefile M build.minheadless.cmake/x64/squeak.cog.spur/mvm M build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/squeak.stack.spur/Makefile M build.minheadless.cmake/x64/squeak.stack.spur/mvm M build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin-clang.cmake A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin-gcc.cmake R build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin.cmake M build.minheadless.cmake/x86/common/configure_variant.sh A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/Makefile A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x86/pharo.cog.spur/Makefile M build.minheadless.cmake/x86/pharo.cog.spur/mvm M build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/pharo.stack.spur/Makefile M build.minheadless.cmake/x86/pharo.stack.spur/mvm M build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/Makefile A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x86/squeak.cog.spur/Makefile M build.minheadless.cmake/x86/squeak.cog.spur/mvm M build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/squeak.stack.spur/Makefile M build.minheadless.cmake/x86/squeak.stack.spur/mvm M build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure_variant A build.sunos32x86/HowToBuild A build.sunos32x86/squeak.cog.spur/build/mvm A build.sunos32x86/squeak.cog.spur/plugins.ext A build.sunos32x86/squeak.cog.spur/plugins.int A build.sunos32x86/squeak.stack.spur/build/mvm A build.sunos32x86/squeak.stack.spur/plugins.ext A build.sunos32x86/squeak.stack.spur/plugins.int A build.sunos64x64/HowToBuild A build.sunos64x64/squeak.cog.spur/build/mvm A build.sunos64x64/squeak.cog.spur/plugins.ext A build.sunos64x64/squeak.cog.spur/plugins.int A build.sunos64x64/squeak.stack.spur/build/mvm A build.sunos64x64/squeak.stack.spur/plugins.ext A build.sunos64x64/squeak.stack.spur/plugins.int M build.win32x86/HowToBuild A build.win32x86/common/MAKEALL.BAT A build.win32x86/common/MAKEASSERT.BAT A build.win32x86/common/MAKEDEBUG.BAT A build.win32x86/common/MAKEFAST.BAT M build.win32x86/common/Makefile A build.win32x86/common/Makefile.msvc A build.win32x86/common/Makefile.msvc.clang.rules A build.win32x86/common/Makefile.msvc.flags A build.win32x86/common/Makefile.msvc.msvc.rules A build.win32x86/common/Makefile.msvc.plugin A build.win32x86/common/Makefile.msvc.rules A build.win32x86/common/Makefile.msvc.tools M build.win32x86/common/Makefile.plugin M build.win32x86/common/Makefile.tools A build.win32x86/common/SETPATH.BAT M build.win32x86/newspeak.cog.spur/Makefile M build.win32x86/newspeak.cog.spur/plugins.int M build.win32x86/newspeak.stack.spur/Makefile M build.win32x86/newspeak.stack.spur/plugins.int M build.win32x86/pharo.cog.spur.lowcode/mvm M build.win32x86/pharo.cog.spur.lowcode/plugins.ext M build.win32x86/pharo.cog.spur.lowcode/plugins.int M build.win32x86/pharo.cog.spur/Makefile M build.win32x86/pharo.cog.spur/plugins.ext M build.win32x86/pharo.cog.spur/plugins.int M build.win32x86/pharo.sista.spur/Makefile M build.win32x86/pharo.sista.spur/plugins.ext M build.win32x86/pharo.sista.spur/plugins.int M build.win32x86/pharo.stack.spur/Makefile M build.win32x86/pharo.stack.spur/plugins.ext M build.win32x86/pharo.stack.spur/plugins.int M build.win32x86/squeak.cog.spur.lowcode/Makefile M build.win32x86/squeak.cog.spur.lowcode/mvm M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur.lowcode/plugins.int M build.win32x86/squeak.cog.spur/Makefile M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.spur/plugins.int M build.win32x86/squeak.cog.v3/Makefile M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.cog.v3/plugins.int M build.win32x86/squeak.sista.spur/Makefile M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.sista.spur/plugins.int M build.win32x86/squeak.stack.spur/Makefile M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.int M build.win32x86/squeak.stack.v3/Makefile M build.win32x86/squeak.stack.v3/plugins.ext M build.win32x86/squeak.stack.v3/plugins.int M build.win32x86/third-party/Makefile.openssl M build.win64x64/HowToBuild A build.win64x64/common/MAKEALL.BAT A build.win64x64/common/MAKEASSERT.BAT A build.win64x64/common/MAKEDEBUG.BAT A build.win64x64/common/MAKEFAST.BAT M build.win64x64/common/Makefile A build.win64x64/common/Makefile.msvc A build.win64x64/common/Makefile.msvc.clang.rules A build.win64x64/common/Makefile.msvc.flags A build.win64x64/common/Makefile.msvc.plugin A build.win64x64/common/Makefile.msvc.rules A build.win64x64/common/Makefile.msvc.tools M build.win64x64/common/Makefile.plugin M build.win64x64/common/Makefile.tools A build.win64x64/common/SETPATH.BAT M build.win64x64/newspeak.cog.spur/Makefile M build.win64x64/newspeak.cog.spur/mvm M build.win64x64/newspeak.cog.spur/plugins.int M build.win64x64/newspeak.stack.spur/Makefile M build.win64x64/newspeak.stack.spur/mvm M build.win64x64/newspeak.stack.spur/plugins.int M build.win64x64/pharo.cog.spur/mvm M build.win64x64/pharo.cog.spur/plugins.ext M build.win64x64/pharo.cog.spur/plugins.int M build.win64x64/pharo.stack.spur/Makefile M build.win64x64/pharo.stack.spur/mvm M build.win64x64/pharo.stack.spur/plugins.ext M build.win64x64/pharo.stack.spur/plugins.int M build.win64x64/squeak.cog.spur/Makefile M build.win64x64/squeak.cog.spur/mvm M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.cog.spur/plugins.int M build.win64x64/squeak.stack.spur/Makefile M build.win64x64/squeak.stack.spur/mvm M build.win64x64/squeak.stack.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.int M build.win64x64/third-party/Makefile.openssl A cmake/Cairo.cmake A cmake/CompleteBundle.cmake.in A cmake/CreateBundle.sh.in A cmake/FT2Plugin.cmake A cmake/FixCygwinInstallPermissions.cmake.in A cmake/FixCygwinInstallPermissions.sh.in A cmake/FreeType2.cmake A cmake/LibGit2.cmake A cmake/LibPNG.cmake A cmake/LibSSH2.cmake M cmake/Mpeg3Plugin.cmake A cmake/OpenSSL.cmake A cmake/OpenSSL.mac-install.sh.in A cmake/Pixman.cmake A cmake/PkgConfig.cmake M cmake/Plugins.cmake A cmake/PluginsCommon.cmake A cmake/PluginsMacros.cmake M cmake/PluginsPharo.cmake A cmake/PluginsSqueak.cmake A cmake/SDL2.cmake A cmake/ThirdPartyDependencies.cmake A cmake/ThirdPartyDependenciesCommon.cmake A cmake/ThirdPartyDependenciesMacros.cmake A cmake/ThirdPartyDependenciesPharo.cmake A cmake/ThirdPartyDependenciesSqueak.cmake A cmake/ThirdPartyDependencyInstallScript.cmake.in A cmake/WindowsRuntimeLibraries.cmake A cmake/Zlib.cmake M deploy/filter-exec.sh M deploy/pack-vm.sh M deploy/pharo/filter-exec.sh M image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st M image/LoadFFI.st M image/LoadReader.st M image/LoadSistaSupport.st A image/SaveAsSista.st M image/VM Simulation Workspace.text A image/buildsistareader64image.sh M image/buildspurtrunkreader64image.sh M image/envvars.sh M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh M image/getlatesttrunk64image.sh M image/getlatesttrunkimage.sh A image/updatespur64SistaV1image.sh M include/OpenSmalltalkVM.h M nsspur64src/vm/cogit.c M nsspur64src/vm/cogit.h A nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cogmethod.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspursrc/vm/cogit.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cogmethod.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h M platforms/Cross/plugins/BochsIA32Plugin/BochsIA32Plugin.h M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/BochsX64Plugin/BochsX64Plugin.h M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp M platforms/Cross/plugins/CroquetPlugin/CroquetPlugin.h M platforms/Cross/plugins/FloatMathPlugin/FloatMathPlugin.h R platforms/Cross/plugins/FloatMathPlugin/FloatMathPlugin.st M platforms/Cross/plugins/FloatMathPlugin/acos.c M platforms/Cross/plugins/FloatMathPlugin/acosh.c M platforms/Cross/plugins/FloatMathPlugin/asin.c M platforms/Cross/plugins/FloatMathPlugin/asinh.c M platforms/Cross/plugins/FloatMathPlugin/atan.c M platforms/Cross/plugins/FloatMathPlugin/atan2.c M platforms/Cross/plugins/FloatMathPlugin/atanh.c M platforms/Cross/plugins/FloatMathPlugin/copysign.c M platforms/Cross/plugins/FloatMathPlugin/cos.c M platforms/Cross/plugins/FloatMathPlugin/cosh.c M platforms/Cross/plugins/FloatMathPlugin/exp.c M platforms/Cross/plugins/FloatMathPlugin/expm1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/MD5 R platforms/Cross/plugins/FloatMathPlugin/fdlibm/changes R platforms/Cross/plugins/FloatMathPlugin/fdlibm/configure R platforms/Cross/plugins/FloatMathPlugin/fdlibm/configure.in R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_acos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_acosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_asin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_atan2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_atanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_cosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_exp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_fmod.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_gamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_gamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_hypot.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_j0.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_j1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_jn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_lgamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_lgamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_log.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_log10.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_pow.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_rem_pio2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_remainder.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_scalb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_sinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_sqrt.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/fdlibm.h R platforms/Cross/plugins/FloatMathPlugin/fdlibm/index R platforms/Cross/plugins/FloatMathPlugin/fdlibm/index.html R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_cos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_rem_pio2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_sin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_standard.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_tan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/makefile R platforms/Cross/plugins/FloatMathPlugin/fdlibm/makefile.in R platforms/Cross/plugins/FloatMathPlugin/fdlibm/readme R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_asinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_atan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_cbrt.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ceil.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_copysign.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_cos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_erf.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_expm1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_fabs.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_finite.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_floor.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_frexp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ilogb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_isnan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ldexp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_lib_version.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_log1p.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_logb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_matherr.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_modf.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_nextafter.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_rint.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_scalbn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_signgam.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_significand.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_sin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_tan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_tanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_acos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_acosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_asin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_atan2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_atanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_cosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_exp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_fmod.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_gamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_gamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_hypot.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_j0.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_j1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_jn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_lgamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_lgamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_log.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_log10.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_pow.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_remainder.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_scalb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_sinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_sqrt.c M platforms/Cross/plugins/FloatMathPlugin/finite.c M platforms/Cross/plugins/FloatMathPlugin/fmod.c M platforms/Cross/plugins/FloatMathPlugin/hypot.c M platforms/Cross/plugins/FloatMathPlugin/ieee754names.h M platforms/Cross/plugins/FloatMathPlugin/isnan.c M platforms/Cross/plugins/FloatMathPlugin/k_cos.c M platforms/Cross/plugins/FloatMathPlugin/k_rem_pio2.c M platforms/Cross/plugins/FloatMathPlugin/k_sin.c M platforms/Cross/plugins/FloatMathPlugin/k_tan.c M platforms/Cross/plugins/FloatMathPlugin/ldexp.c M platforms/Cross/plugins/FloatMathPlugin/log.c M platforms/Cross/plugins/FloatMathPlugin/log10.c M platforms/Cross/plugins/FloatMathPlugin/log1p.c M platforms/Cross/plugins/FloatMathPlugin/modf.c M platforms/Cross/plugins/FloatMathPlugin/pow.c M platforms/Cross/plugins/FloatMathPlugin/rem_pio2.c M platforms/Cross/plugins/FloatMathPlugin/rint.c M platforms/Cross/plugins/FloatMathPlugin/scalb.c M platforms/Cross/plugins/FloatMathPlugin/scalbn.c M platforms/Cross/plugins/FloatMathPlugin/sin.c M platforms/Cross/plugins/FloatMathPlugin/sinh.c M platforms/Cross/plugins/FloatMathPlugin/sqrt.c M platforms/Cross/plugins/FloatMathPlugin/tan.c M platforms/Cross/plugins/FloatMathPlugin/tanh.c M platforms/Cross/plugins/GdbARMPlugin/GdbARMPlugin.h M platforms/Cross/plugins/GdbARMPlugin/HowToBuild R platforms/Cross/plugins/GdbARMPlugin/Makefile R platforms/Cross/plugins/GdbARMPlugin/Makefile.unix R platforms/Cross/plugins/GdbARMPlugin/Makefile.win32 R platforms/Cross/plugins/GdbARMPlugin/README M platforms/Cross/plugins/GdbARMPlugin/sqGdbARMPlugin.c A platforms/Cross/plugins/GdbARMv8Plugin/GdbARMv8Plugin.h A platforms/Cross/plugins/GdbARMv8Plugin/HowToBuild A platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c M platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/dabusiness.h M platforms/Cross/plugins/IA32ABI/dabusinessARM.h M platforms/Cross/plugins/IA32ABI/dabusinessARM32.h M platforms/Cross/plugins/IA32ABI/dabusinessARM64.h M platforms/Cross/plugins/IA32ABI/dabusinessPostLogic.h M platforms/Cross/plugins/IA32ABI/dabusinessppc.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicDouble.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicFloat.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicInteger.h M platforms/Cross/plugins/IA32ABI/ia32abi.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/plugins/IA32ABI/xabicc.c R platforms/Cross/plugins/JPEGReadWriter2Plugin/Error.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/README.6b2 R platforms/Cross/plugins/JPEGReadWriter2Plugin/ReadMe.txt M platforms/Cross/plugins/JPEGReadWriter2Plugin/jdphuff.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/jmorecfg.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/sqJPEGReadWriter2Plugin.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/header.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/layer1.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/layer3.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/mpeg3audio.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/pcm.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/bitstream.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/libmpeg3.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3atrack.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3atrack.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3demux.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3private.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3protos.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3title.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3vtrack.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3vtrack.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/getpicture.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/headers.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/macroblocks.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/motion.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3video.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3videoprotos.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/output.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/reconstruct.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/seek.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/slice.h M platforms/Cross/plugins/SerialPlugin/SerialPlugin.h M platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c M platforms/Cross/plugins/Squeak3D/b3d.h M platforms/Cross/plugins/Squeak3D/b3dDraw.c M platforms/Cross/plugins/Squeak3D/b3dInit.c M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c A platforms/Cross/third-party/fdlibm/Makefile A platforms/Cross/third-party/fdlibm/Makefile.in A platforms/Cross/third-party/fdlibm/Makefile.remote A platforms/Cross/third-party/fdlibm/README A platforms/Cross/third-party/fdlibm/README.md A platforms/Cross/third-party/fdlibm/configure A platforms/Cross/third-party/fdlibm/configure.in A platforms/Cross/third-party/fdlibm/e_acos.c A platforms/Cross/third-party/fdlibm/e_acosh.c A platforms/Cross/third-party/fdlibm/e_asin.c A platforms/Cross/third-party/fdlibm/e_atan2.c A platforms/Cross/third-party/fdlibm/e_atanh.c A platforms/Cross/third-party/fdlibm/e_cosh.c A platforms/Cross/third-party/fdlibm/e_exp.c A platforms/Cross/third-party/fdlibm/e_fmod.c A platforms/Cross/third-party/fdlibm/e_gamma.c A platforms/Cross/third-party/fdlibm/e_gamma_r.c A platforms/Cross/third-party/fdlibm/e_hypot.c A platforms/Cross/third-party/fdlibm/e_j0.c A platforms/Cross/third-party/fdlibm/e_j1.c A platforms/Cross/third-party/fdlibm/e_jn.c A platforms/Cross/third-party/fdlibm/e_lgamma.c A platforms/Cross/third-party/fdlibm/e_lgamma_r.c A platforms/Cross/third-party/fdlibm/e_log.c A platforms/Cross/third-party/fdlibm/e_log10.c A platforms/Cross/third-party/fdlibm/e_pow.c A platforms/Cross/third-party/fdlibm/e_rem_pio2.c A platforms/Cross/third-party/fdlibm/e_remainder.c A platforms/Cross/third-party/fdlibm/e_scalb.c A platforms/Cross/third-party/fdlibm/e_sinh.c A platforms/Cross/third-party/fdlibm/e_sqrt.c A platforms/Cross/third-party/fdlibm/fdlibm.h A platforms/Cross/third-party/fdlibm/generate_defines A platforms/Cross/third-party/fdlibm/k_cos.c A platforms/Cross/third-party/fdlibm/k_rem_pio2.c A platforms/Cross/third-party/fdlibm/k_sin.c A platforms/Cross/third-party/fdlibm/k_standard.c A platforms/Cross/third-party/fdlibm/k_tan.c A platforms/Cross/third-party/fdlibm/s_asinh.c A platforms/Cross/third-party/fdlibm/s_atan.c A platforms/Cross/third-party/fdlibm/s_cbrt.c A platforms/Cross/third-party/fdlibm/s_ceil.c A platforms/Cross/third-party/fdlibm/s_copysign.c A platforms/Cross/third-party/fdlibm/s_cos.c A platforms/Cross/third-party/fdlibm/s_erf.c A platforms/Cross/third-party/fdlibm/s_expm1.c A platforms/Cross/third-party/fdlibm/s_fabs.c A platforms/Cross/third-party/fdlibm/s_finite.c A platforms/Cross/third-party/fdlibm/s_floor.c A platforms/Cross/third-party/fdlibm/s_frexp.c A platforms/Cross/third-party/fdlibm/s_ilogb.c A platforms/Cross/third-party/fdlibm/s_isnan.c A platforms/Cross/third-party/fdlibm/s_ldexp.c A platforms/Cross/third-party/fdlibm/s_lib_version.c A platforms/Cross/third-party/fdlibm/s_log1p.c A platforms/Cross/third-party/fdlibm/s_logb.c A platforms/Cross/third-party/fdlibm/s_matherr.c A platforms/Cross/third-party/fdlibm/s_modf.c A platforms/Cross/third-party/fdlibm/s_nextafter.c A platforms/Cross/third-party/fdlibm/s_rint.c A platforms/Cross/third-party/fdlibm/s_scalbn.c A platforms/Cross/third-party/fdlibm/s_signgam.c A platforms/Cross/third-party/fdlibm/s_significand.c A platforms/Cross/third-party/fdlibm/s_sin.c A platforms/Cross/third-party/fdlibm/s_tan.c A platforms/Cross/third-party/fdlibm/s_tanh.c A platforms/Cross/third-party/fdlibm/w_acos.c A platforms/Cross/third-party/fdlibm/w_acosh.c A platforms/Cross/third-party/fdlibm/w_asin.c A platforms/Cross/third-party/fdlibm/w_atan2.c A platforms/Cross/third-party/fdlibm/w_atanh.c A platforms/Cross/third-party/fdlibm/w_cosh.c A platforms/Cross/third-party/fdlibm/w_exp.c A platforms/Cross/third-party/fdlibm/w_fmod.c A platforms/Cross/third-party/fdlibm/w_gamma.c A platforms/Cross/third-party/fdlibm/w_gamma_r.c A platforms/Cross/third-party/fdlibm/w_hypot.c A platforms/Cross/third-party/fdlibm/w_j0.c A platforms/Cross/third-party/fdlibm/w_j1.c A platforms/Cross/third-party/fdlibm/w_jn.c A platforms/Cross/third-party/fdlibm/w_lgamma.c A platforms/Cross/third-party/fdlibm/w_lgamma_r.c A platforms/Cross/third-party/fdlibm/w_log.c A platforms/Cross/third-party/fdlibm/w_log10.c A platforms/Cross/third-party/fdlibm/w_pow.c A platforms/Cross/third-party/fdlibm/w_remainder.c A platforms/Cross/third-party/fdlibm/w_scalb.c A platforms/Cross/third-party/fdlibm/w_sinh.c A platforms/Cross/third-party/fdlibm/w_sqrt.c A platforms/Cross/util/mkIntPluginIndices.sh A platforms/Cross/util/mkNamedPrims.sh M platforms/Cross/vm/dispdbg.h M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqAtomicOps.h M platforms/Cross/vm/sqCogStackAlignment.h A platforms/Cross/vm/sqMathShim.h M platforms/Cross/vm/sqMemoryAccess.h M platforms/Cross/vm/sqMemoryFence.h M platforms/Cross/vm/sqNamedPrims.c M platforms/Cross/vm/sqPath.c A platforms/Cross/vm/sqSetjmpShim.h M platforms/Cross/vm/sqTextEncoding.c M platforms/Cross/vm/sqTextEncoding.h M platforms/Cross/vm/sqTicker.c M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/Mac OS/plugins/HostWindowPlugin/sqMacHostWindow.c M platforms/Mac OS/plugins/HostWindowPlugin/sqMacHostWindow.h M platforms/Mac OS/vm/Developer/sqMacMinimal.c M platforms/Mac OS/vm/osExports.c M platforms/Mac OS/vm/sqMacMain.c M platforms/Mac OS/vm/sqMacMain.h M platforms/Mac OS/vm/sqMacMemory.c M platforms/Mac OS/vm/sqMacTime.c M platforms/Mac OS/vm/sqMacUnixCommandLineInterface.c M platforms/Mac OS/vm/sqPlatformSpecific.h R platforms/RiscOS/plugins/JPEGReadWriter2Plugin/stub M platforms/RiscOS/vm/sqRPCMain.c A platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.m A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.h A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.m A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalStructures.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/Makefile A platforms/iOS/plugins/B3DAcceleratorPlugin32/sqMacOpenGL.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/sqMacOpenGL.m A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGL.c A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGL.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGLInfo.c A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacUIConstants.h M platforms/iOS/plugins/BochsIA32Plugin/Makefile M platforms/iOS/plugins/BochsX64Plugin/Makefile M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m M platforms/iOS/plugins/GdbARMPlugin/Makefile A platforms/iOS/plugins/GdbARMv8Plugin/Makefile M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.h M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.m M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.h M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudioAPI.m M platforms/iOS/vm/Common/Classes/sqMacV2Time.c M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.h M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.m M platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryInterface.m M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/iOS/vm/Common/Classes/sqSqueakScreenAPI.m M platforms/iOS/vm/Common/main.m M platforms/iOS/vm/Common/sqDummyaio.h M platforms/iOS/vm/Common/sqMacV2Memory.c M platforms/iOS/vm/English.lproj/MainMenu-cg.xib M platforms/iOS/vm/English.lproj/MainMenu-opengl.xib M platforms/iOS/vm/English.lproj/MainMenu.xib M platforms/iOS/vm/OSX/SqViewBitmapConversion.m A platforms/iOS/vm/OSX/SqViewBitmapConversion.m.inc M platforms/iOS/vm/OSX/SqViewClut.m A platforms/iOS/vm/OSX/SqViewClut.m.inc M platforms/iOS/vm/OSX/Squeak-Info.plist M platforms/iOS/vm/OSX/SqueakMainShaders.metal R platforms/iOS/vm/OSX/SqueakMainShaders.metal.inc M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m M platforms/iOS/vm/OSX/sqPlatformSpecific.h M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/iOS/vm/OSX/sqSqueakOSXCGView.h M platforms/iOS/vm/OSX/sqSqueakOSXDropAPI.m A platforms/iOS/vm/OSX/sqSqueakOSXHeadlessView.h A platforms/iOS/vm/OSX/sqSqueakOSXHeadlessView.m M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.h M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m M platforms/iOS/vm/OSX/sqSqueakOSXScreenAndWindow.m A platforms/iOS/vm/OSX/sqSqueakOSXViewFactory.h A platforms/iOS/vm/OSX/sqSqueakOSXViewFactory.m M platforms/iOS/vm/SqueakPureObjc_Prefix.pch M platforms/iOS/vm/iPhone/Classes/SqueakUIView.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication+attributes.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication.m M platforms/iOS/vm/iPhone/sqDummyaio.c M platforms/iOS/vm/iPhone/sqPlatformSpecific.h A platforms/minheadless/common/sqGnu.h M platforms/minheadless/common/sqPrinting.c M platforms/minheadless/common/sqVirtualMachineInterface.c M platforms/minheadless/common/sqWindow-Dispatch.c M platforms/minheadless/common/sqaio.h M platforms/minheadless/config.h.in M platforms/minheadless/generic/sqPlatformSpecific-Generic.c A platforms/minheadless/mac/sqMain.m M platforms/minheadless/sdl2-window/sqWindow-SDL2.c A platforms/minheadless/startup.sh.in M platforms/minheadless/unix/sqPlatformSpecific-Unix.c M platforms/minheadless/unix/sqPlatformSpecific-Unix.h M platforms/minheadless/unix/sqUnixHeartbeat.c M platforms/minheadless/unix/sqUnixMemory.c M platforms/minheadless/unix/sqUnixSpurMemory.c A platforms/minheadless/windows/resources/Pharo/Pharo.exe.manifest.in A platforms/minheadless/windows/resources/Pharo/Pharo.ico A platforms/minheadless/windows/resources/Pharo/Pharo.rc.in A platforms/minheadless/windows/resources/Squeak/GreenCogSqueak.ico A platforms/minheadless/windows/resources/Squeak/Squeak.exe.manifest.in A platforms/minheadless/windows/resources/Squeak/Squeak.rc.in A platforms/minheadless/windows/resources/Squeak/squeak2.ico A platforms/minheadless/windows/resources/Squeak/squeak3.ico M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.h M platforms/minheadless/windows/sqWin32Alloc.c M platforms/minheadless/windows/sqWin32Directory.c M platforms/minheadless/windows/sqWin32Heartbeat.c M platforms/minheadless/windows/sqWin32Main.c M platforms/minheadless/windows/sqWin32SpurAlloc.c M platforms/minheadless/windows/sqWin32Time.c M platforms/unix/config/Makefile.in M platforms/unix/config/acinclude.m4 M platforms/unix/config/aclocal.m4 M platforms/unix/config/ax_append_flag.m4 M platforms/unix/config/ax_cflags_warn_all.m4 A platforms/unix/config/ax_compiler_vendor.m4 M platforms/unix/config/ax_have_epoll.m4 A platforms/unix/config/ax_prepend_flag.m4 M platforms/unix/config/ax_pthread.m4 M platforms/unix/config/config.guess M platforms/unix/config/config.h.in M platforms/unix/config/config.sub M platforms/unix/config/configure M platforms/unix/config/configure.ac M platforms/unix/config/ltmain.sh M platforms/unix/config/make.cfg.in M platforms/unix/config/mkmf M platforms/unix/misc/threadValidate/sqUnixHeartbeat.c M platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.c M platforms/unix/plugins/GdbARMPlugin/HowToBuild M platforms/unix/plugins/GdbARMPlugin/Makefile.inc A platforms/unix/plugins/GdbARMv8Plugin/HowToBuild A platforms/unix/plugins/GdbARMv8Plugin/Makefile.inc A platforms/unix/plugins/GdbARMv8Plugin/acinclude.m4 M platforms/unix/plugins/HostWindowPlugin/sqUnixHostWindowPlugin.c R platforms/unix/plugins/MIDIPlugin/Makefile.inc M platforms/unix/plugins/MIDIPlugin/acinclude.m4 M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c M platforms/unix/plugins/SecurityPlugin/sqUnixSecurity.c M platforms/unix/plugins/SerialPlugin/Makefile.inc M platforms/unix/plugins/SerialPlugin/sqUnixSerial.c M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c M platforms/unix/plugins/SqueakSSL/openssl_overlay.h M platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc M platforms/unix/plugins/UUIDPlugin/acinclude.m4 M platforms/unix/vm-display-Quartz/zzz/sqUnixQuartz.m M platforms/unix/vm-display-X11/acinclude.m4 M platforms/unix/vm-display-X11/sqUnixMozilla.c M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm-display-X11/sqUnixXdnd.c M platforms/unix/vm-display-fbdev/00_README.fbdev A platforms/unix/vm-display-fbdev/AlpineLinux-Notes.txt A platforms/unix/vm-display-fbdev/Armbian-Notes.txt A platforms/unix/vm-display-fbdev/Balloon.h A platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c A platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c M platforms/unix/vm-display-null/sqUnixDisplayNull.c R platforms/unix/vm-sound-NAS/Makefile.inc M platforms/unix/vm-sound-NAS/acinclude.m4 M platforms/unix/vm-sound-pulse/acinclude.m4 M platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c A platforms/unix/vm-sound-sndio/acinclude.m4 A platforms/unix/vm-sound-sndio/sqUnixSndioSound.c M platforms/unix/vm/Makefile.in M platforms/unix/vm/SqDisplay.h M platforms/unix/vm/aio.c M platforms/unix/vm/debug.h M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/osExports.c M platforms/unix/vm/sqConfig.h M platforms/unix/vm/sqPlatformSpecific.h M platforms/unix/vm/sqUnixCharConv.c M platforms/unix/vm/sqUnixEvent.c M platforms/unix/vm/sqUnixExternalPrims.c M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c M platforms/unix/vm/sqUnixMain.c M platforms/unix/vm/sqUnixMemory.c M platforms/unix/vm/sqUnixSpurMemory.c M platforms/unix/vm/sqaio.h A platforms/win32/.editorconfig M platforms/win32/misc/Makefile.mingw32 A platforms/win32/misc/_setjmp-x64.asm A platforms/win32/misc/qedit.h A platforms/win32/plugins/B3DAcceleratorPlugin/Makefile.msvc A platforms/win32/plugins/B3DAcceleratorPlugin/Makefile.plugin A platforms/win32/plugins/BitBltPlugin/Makefile.msvc R platforms/win32/plugins/CameraPlugin/Building Windows CameraPlugin.txt A platforms/win32/plugins/CameraPlugin/Building Windows CameraPlugini Using Visual Studio.txt R platforms/win32/plugins/CameraPlugin/CameraPlugin.cpp R platforms/win32/plugins/CameraPlugin/CameraPlugin.dll A platforms/win32/plugins/CameraPlugin/Makefile.msvc R platforms/win32/plugins/CameraPlugin/STRMBASE.lib M platforms/win32/plugins/CameraPlugin/winCameraOps.cpp R platforms/win32/plugins/CroquetPlugin/Makefile.msvc M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c M platforms/win32/plugins/DropPlugin/sqWin32Drop.c M platforms/win32/plugins/FT2Plugin/ft2build.h A platforms/win32/plugins/FileAttributesPlugin/Makefile.msvc M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FilePlugin/sqWin32File.h M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M platforms/win32/plugins/FloatMathPlugin/Makefile M platforms/win32/plugins/FloatMathPlugin/Makefile.msvc M platforms/win32/plugins/FloatMathPlugin/Makefile.plugin M platforms/win32/plugins/FloatMathPlugin/Makefile.win32 M platforms/win32/plugins/FontPlugin/sqWin32FontPlugin.c M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c A platforms/win32/plugins/IA32ABI/Makefile.msvc R platforms/win32/plugins/JPEGReadWriter2Plugin/stub M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c M platforms/win32/plugins/Mpeg3Plugin/Makefile.msvc A platforms/win32/plugins/SerialPlugin/Makefile.msvc M platforms/win32/plugins/SerialPlugin/sqWin32SerialPort.c M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c A platforms/win32/plugins/SqueakFFIPrims/Makefile.msvc A platforms/win32/plugins/SqueakSSL/Makefile.msvc M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c M platforms/win32/plugins/Win32OSProcessPlugin/Makefile.msvc R platforms/win32/release/stub R platforms/win32/third-party/dx9sdk/Include/Amvideo.h R platforms/win32/third-party/dx9sdk/Include/Bdatif.h R platforms/win32/third-party/dx9sdk/Include/DShow.h R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Bdatif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mpeg2Data.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mpeg2Structs.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mstvca.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mstvgs.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Msvidctl.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Segment.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Videoacc.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Vmrender.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/amstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/austream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/axcore.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/axextend.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/bdaiface.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/control.odl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/ddstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/devenum.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dmodshow.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dshowasf.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dvdif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dxtrans.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dyngraph.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mediaobj.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/medparam.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mixerocx.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mmstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mstve.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/qedit.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/regbag.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/sbe.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/strmif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/tuner.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/tvratings.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/vidcap.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/vmr9.idl R platforms/win32/third-party/dx9sdk/Include/DxDiag.h R platforms/win32/third-party/dx9sdk/Include/Iwstdec.h R platforms/win32/third-party/dx9sdk/Include/Mpeg2Bits.h R platforms/win32/third-party/dx9sdk/Include/Mpeg2Error.h R platforms/win32/third-party/dx9sdk/Include/Mstvca.h R platforms/win32/third-party/dx9sdk/Include/Mstve.h R platforms/win32/third-party/dx9sdk/Include/Msvidctl.h R platforms/win32/third-party/dx9sdk/Include/Msvidctl.tlb R platforms/win32/third-party/dx9sdk/Include/PixPlugin.h R platforms/win32/third-party/dx9sdk/Include/Segment.h R platforms/win32/third-party/dx9sdk/Include/Tuner.tlb R platforms/win32/third-party/dx9sdk/Include/activecf.h R platforms/win32/third-party/dx9sdk/Include/amaudio.h R platforms/win32/third-party/dx9sdk/Include/amparse.h R platforms/win32/third-party/dx9sdk/Include/amstream.h R platforms/win32/third-party/dx9sdk/Include/amva.h R platforms/win32/third-party/dx9sdk/Include/atsmedia.h R platforms/win32/third-party/dx9sdk/Include/audevcod.h R platforms/win32/third-party/dx9sdk/Include/austream.h R platforms/win32/third-party/dx9sdk/Include/aviriff.h R platforms/win32/third-party/dx9sdk/Include/bdaiface.h R platforms/win32/third-party/dx9sdk/Include/bdamedia.h R platforms/win32/third-party/dx9sdk/Include/bdatypes.h R platforms/win32/third-party/dx9sdk/Include/comlite.h R platforms/win32/third-party/dx9sdk/Include/control.h R platforms/win32/third-party/dx9sdk/Include/d3d.h R platforms/win32/third-party/dx9sdk/Include/d3d8.h R platforms/win32/third-party/dx9sdk/Include/d3d8caps.h R platforms/win32/third-party/dx9sdk/Include/d3d8types.h R platforms/win32/third-party/dx9sdk/Include/d3d9.h R platforms/win32/third-party/dx9sdk/Include/d3d9caps.h R platforms/win32/third-party/dx9sdk/Include/d3d9types.h R platforms/win32/third-party/dx9sdk/Include/d3dcaps.h R platforms/win32/third-party/dx9sdk/Include/d3drm.h R platforms/win32/third-party/dx9sdk/Include/d3drmdef.h R platforms/win32/third-party/dx9sdk/Include/d3drmobj.h R platforms/win32/third-party/dx9sdk/Include/d3drmwin.h R platforms/win32/third-party/dx9sdk/Include/d3dtypes.h R platforms/win32/third-party/dx9sdk/Include/d3dvec.inl R platforms/win32/third-party/dx9sdk/Include/d3dx.h R platforms/win32/third-party/dx9sdk/Include/d3dx8.h R platforms/win32/third-party/dx9sdk/Include/d3dx8core.h R platforms/win32/third-party/dx9sdk/Include/d3dx8effect.h R platforms/win32/third-party/dx9sdk/Include/d3dx8math.h R platforms/win32/third-party/dx9sdk/Include/d3dx8math.inl R platforms/win32/third-party/dx9sdk/Include/d3dx8mesh.h R platforms/win32/third-party/dx9sdk/Include/d3dx8shape.h R platforms/win32/third-party/dx9sdk/Include/d3dx8tex.h R platforms/win32/third-party/dx9sdk/Include/d3dx9.h R platforms/win32/third-party/dx9sdk/Include/d3dx9anim.h R platforms/win32/third-party/dx9sdk/Include/d3dx9core.h R platforms/win32/third-party/dx9sdk/Include/d3dx9effect.h R platforms/win32/third-party/dx9sdk/Include/d3dx9math.h R platforms/win32/third-party/dx9sdk/Include/d3dx9math.inl R platforms/win32/third-party/dx9sdk/Include/d3dx9mesh.h R platforms/win32/third-party/dx9sdk/Include/d3dx9shader.h R platforms/win32/third-party/dx9sdk/Include/d3dx9shape.h R platforms/win32/third-party/dx9sdk/Include/d3dx9tex.h R platforms/win32/third-party/dx9sdk/Include/d3dx9xof.h R platforms/win32/third-party/dx9sdk/Include/d3dxcore.h R platforms/win32/third-party/dx9sdk/Include/d3dxerr.h R platforms/win32/third-party/dx9sdk/Include/d3dxmath.h R platforms/win32/third-party/dx9sdk/Include/d3dxmath.inl R platforms/win32/third-party/dx9sdk/Include/d3dxshapes.h R platforms/win32/third-party/dx9sdk/Include/d3dxsprite.h R platforms/win32/third-party/dx9sdk/Include/ddraw.h R platforms/win32/third-party/dx9sdk/Include/ddstream.h R platforms/win32/third-party/dx9sdk/Include/dinput.h R platforms/win32/third-party/dx9sdk/Include/dinputd.h R platforms/win32/third-party/dx9sdk/Include/dls1.h R platforms/win32/third-party/dx9sdk/Include/dls2.h R platforms/win32/third-party/dx9sdk/Include/dmdls.h R platforms/win32/third-party/dx9sdk/Include/dmerror.h R platforms/win32/third-party/dx9sdk/Include/dmksctrl.h R platforms/win32/third-party/dx9sdk/Include/dmo.h R platforms/win32/third-party/dx9sdk/Include/dmodshow.h R platforms/win32/third-party/dx9sdk/Include/dmoimpl.h R platforms/win32/third-party/dx9sdk/Include/dmoreg.h R platforms/win32/third-party/dx9sdk/Include/dmort.h R platforms/win32/third-party/dx9sdk/Include/dmplugin.h R platforms/win32/third-party/dx9sdk/Include/dmusbuff.h R platforms/win32/third-party/dx9sdk/Include/dmusicc.h R platforms/win32/third-party/dx9sdk/Include/dmusicf.h R platforms/win32/third-party/dx9sdk/Include/dmusici.h R platforms/win32/third-party/dx9sdk/Include/dmusics.h R platforms/win32/third-party/dx9sdk/Include/dpaddr.h R platforms/win32/third-party/dx9sdk/Include/dplay.h R platforms/win32/third-party/dx9sdk/Include/dplay8.h R platforms/win32/third-party/dx9sdk/Include/dplobby.h R platforms/win32/third-party/dx9sdk/Include/dplobby8.h R platforms/win32/third-party/dx9sdk/Include/dpnathlp.h R platforms/win32/third-party/dx9sdk/Include/dsconf.h R platforms/win32/third-party/dx9sdk/Include/dsetup.h R platforms/win32/third-party/dx9sdk/Include/dshowasf.h R platforms/win32/third-party/dx9sdk/Include/dsound.h R platforms/win32/third-party/dx9sdk/Include/dv.h R platforms/win32/third-party/dx9sdk/Include/dvdevcod.h R platforms/win32/third-party/dx9sdk/Include/dvdmedia.h R platforms/win32/third-party/dx9sdk/Include/dvoice.h R platforms/win32/third-party/dx9sdk/Include/dvp.h R platforms/win32/third-party/dx9sdk/Include/dx7todx8.h R platforms/win32/third-party/dx9sdk/Include/dxerr8.h R platforms/win32/third-party/dx9sdk/Include/dxerr9.h R platforms/win32/third-party/dx9sdk/Include/dxfile.h R platforms/win32/third-party/dx9sdk/Include/dxtrans.h R platforms/win32/third-party/dx9sdk/Include/dxva.h R platforms/win32/third-party/dx9sdk/Include/edevctrl.h R platforms/win32/third-party/dx9sdk/Include/edevdefs.h R platforms/win32/third-party/dx9sdk/Include/errors.h R platforms/win32/third-party/dx9sdk/Include/evcode.h R platforms/win32/third-party/dx9sdk/Include/il21dec.h R platforms/win32/third-party/dx9sdk/Include/ks.h R platforms/win32/third-party/dx9sdk/Include/ksguid.h R platforms/win32/third-party/dx9sdk/Include/ksmedia.h R platforms/win32/third-party/dx9sdk/Include/ksproxy.h R platforms/win32/third-party/dx9sdk/Include/ksuuids.h R platforms/win32/third-party/dx9sdk/Include/mediaerr.h R platforms/win32/third-party/dx9sdk/Include/mediaobj.h R platforms/win32/third-party/dx9sdk/Include/medparam.h R platforms/win32/third-party/dx9sdk/Include/mixerocx.h R platforms/win32/third-party/dx9sdk/Include/mmstream.h R platforms/win32/third-party/dx9sdk/Include/mpconfig.h R platforms/win32/third-party/dx9sdk/Include/mpeg2data.h R platforms/win32/third-party/dx9sdk/Include/mpegtype.h R platforms/win32/third-party/dx9sdk/Include/multimon.h R platforms/win32/third-party/dx9sdk/Include/playlist.h R platforms/win32/third-party/dx9sdk/Include/qedit.h R platforms/win32/third-party/dx9sdk/Include/qnetwork.h R platforms/win32/third-party/dx9sdk/Include/regbag.h R platforms/win32/third-party/dx9sdk/Include/rmxfguid.h R platforms/win32/third-party/dx9sdk/Include/rmxftmpl.h R platforms/win32/third-party/dx9sdk/Include/sbe.h R platforms/win32/third-party/dx9sdk/Include/strmif.h R platforms/win32/third-party/dx9sdk/Include/strsafe.h R platforms/win32/third-party/dx9sdk/Include/tune.h R platforms/win32/third-party/dx9sdk/Include/tuner.h R platforms/win32/third-party/dx9sdk/Include/tvratings.h R platforms/win32/third-party/dx9sdk/Include/uuids.h R platforms/win32/third-party/dx9sdk/Include/vfwmsgs.h R platforms/win32/third-party/dx9sdk/Include/vidcap.h R platforms/win32/third-party/dx9sdk/Include/videoacc.h R platforms/win32/third-party/dx9sdk/Include/vmr9.h R platforms/win32/third-party/dx9sdk/Include/vpconfig.h R platforms/win32/third-party/dx9sdk/Include/vpnotify.h R platforms/win32/third-party/dx9sdk/Include/vptype.h R platforms/win32/third-party/dx9sdk/Include/xprtdefs.h R platforms/win32/third-party/dx9sdk/Lib/DxErr8.lib R platforms/win32/third-party/dx9sdk/Lib/DxErr9.lib R platforms/win32/third-party/dx9sdk/Lib/amstrmid.lib R platforms/win32/third-party/dx9sdk/Lib/d3d8.lib R platforms/win32/third-party/dx9sdk/Lib/d3d9.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8d.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8dt.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9d.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9dt.lib R platforms/win32/third-party/dx9sdk/Lib/d3dxd.lib R platforms/win32/third-party/dx9sdk/Lib/d3dxof.lib R platforms/win32/third-party/dx9sdk/Lib/ddraw.lib R platforms/win32/third-party/dx9sdk/Lib/dinput.lib R platforms/win32/third-party/dx9sdk/Lib/dinput8.lib R platforms/win32/third-party/dx9sdk/Lib/dmoguids.lib R platforms/win32/third-party/dx9sdk/Lib/dplayx.lib R platforms/win32/third-party/dx9sdk/Lib/dsetup.lib R platforms/win32/third-party/dx9sdk/Lib/dsound.lib R platforms/win32/third-party/dx9sdk/Lib/dxguid.lib R platforms/win32/third-party/dx9sdk/Lib/dxtrans.lib R platforms/win32/third-party/dx9sdk/Lib/encapi.lib R platforms/win32/third-party/dx9sdk/Lib/ksproxy.lib R platforms/win32/third-party/dx9sdk/Lib/ksuser.lib R platforms/win32/third-party/dx9sdk/Lib/msdmo.lib R platforms/win32/third-party/dx9sdk/Lib/quartz.lib R platforms/win32/third-party/dx9sdk/Lib/strmiids.lib R platforms/win32/third-party/dx9sdk/README-TELEPLACE.txt M platforms/win32/vm/config.h M platforms/win32/vm/sqConfig.h M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32DirectInput.c M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32DnsInfo.c M platforms/win32/vm/sqWin32Exports.c M platforms/win32/vm/sqWin32ExternalPrims.c M platforms/win32/vm/sqWin32GUID.c M platforms/win32/vm/sqWin32HandleTable.h M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32SpurAlloc.c M platforms/win32/vm/sqWin32Threads.c M platforms/win32/vm/sqWin32Time.c M platforms/win32/vm/sqWin32Utils.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c M platforms/win32/vm/version.c R processors/ARM/TODO M processors/ARM/exploration/Makefile M processors/ARM/exploration/Makefile64 M processors/ARM/exploration/printcpuctrl.c A processors/ARM/exploration64/Makefile A processors/ARM/exploration64/Makefile64 A processors/ARM/exploration64/printcpu.c A processors/ARM/exploration64/printcpuctrl.c A processors/ARM/exploration64/printcpuvfp.c R processors/ARM/gdb-7.10/COPYING.LIB R processors/ARM/gdb-7.10/COPYING3.LIB R processors/ARM/gdb-7.10/ChangeLog R processors/ARM/gdb-7.10/MAINTAINERS R processors/ARM/gdb-7.10/Makefile.def R processors/ARM/gdb-7.10/Makefile.in R processors/ARM/gdb-7.10/Makefile.tpl R processors/ARM/gdb-7.10/README R processors/ARM/gdb-7.10/README-maintainer-mode R processors/ARM/gdb-7.10/bfd/ChangeLog R processors/ARM/gdb-7.10/bfd/ChangeLog-0001 R processors/ARM/gdb-7.10/bfd/ChangeLog-0203 R processors/ARM/gdb-7.10/bfd/ChangeLog-2004 R processors/ARM/gdb-7.10/bfd/ChangeLog-2005 R processors/ARM/gdb-7.10/bfd/ChangeLog-2006 R processors/ARM/gdb-7.10/bfd/ChangeLog-2007 R processors/ARM/gdb-7.10/bfd/ChangeLog-2008 R processors/ARM/gdb-7.10/bfd/ChangeLog-2009 R processors/ARM/gdb-7.10/bfd/ChangeLog-2010 R processors/ARM/gdb-7.10/bfd/ChangeLog-2011 R processors/ARM/gdb-7.10/bfd/ChangeLog-2012 R processors/ARM/gdb-7.10/bfd/ChangeLog-2013 R processors/ARM/gdb-7.10/bfd/ChangeLog-2014 R processors/ARM/gdb-7.10/bfd/ChangeLog-9193 R processors/ARM/gdb-7.10/bfd/ChangeLog-9495 R processors/ARM/gdb-7.10/bfd/ChangeLog-9697 R processors/ARM/gdb-7.10/bfd/ChangeLog-9899 R processors/ARM/gdb-7.10/bfd/MAINTAINERS R processors/ARM/gdb-7.10/bfd/Makefile.am R processors/ARM/gdb-7.10/bfd/Makefile.in R processors/ARM/gdb-7.10/bfd/PORTING R processors/ARM/gdb-7.10/bfd/README R processors/ARM/gdb-7.10/bfd/TODO R processors/ARM/gdb-7.10/bfd/acinclude.m4 R processors/ARM/gdb-7.10/bfd/aclocal.m4 R processors/ARM/gdb-7.10/bfd/aix386-core.c R processors/ARM/gdb-7.10/bfd/aix5ppc-core.c R processors/ARM/gdb-7.10/bfd/aout-adobe.c R processors/ARM/gdb-7.10/bfd/aout-arm.c R processors/ARM/gdb-7.10/bfd/aout-cris.c R processors/ARM/gdb-7.10/bfd/aout-ns32k.c R processors/ARM/gdb-7.10/bfd/aout-sparcle.c R processors/ARM/gdb-7.10/bfd/aout-target.h R processors/ARM/gdb-7.10/bfd/aout-tic30.c R processors/ARM/gdb-7.10/bfd/aout0.c R processors/ARM/gdb-7.10/bfd/aout32.c R processors/ARM/gdb-7.10/bfd/aout64.c R processors/ARM/gdb-7.10/bfd/aoutf1.h R processors/ARM/gdb-7.10/bfd/aoutx.h R processors/ARM/gdb-7.10/bfd/archive.c R processors/ARM/gdb-7.10/bfd/archive64.c R processors/ARM/gdb-7.10/bfd/archures.c R processors/ARM/gdb-7.10/bfd/armnetbsd.c R processors/ARM/gdb-7.10/bfd/bfd-in.h R processors/ARM/gdb-7.10/bfd/bfd-in2.h R processors/ARM/gdb-7.10/bfd/bfd.c R processors/ARM/gdb-7.10/bfd/bfd.m4 R processors/ARM/gdb-7.10/bfd/bfdio.c R processors/ARM/gdb-7.10/bfd/bfdwin.c R processors/ARM/gdb-7.10/bfd/binary.c R processors/ARM/gdb-7.10/bfd/bout.c R processors/ARM/gdb-7.10/bfd/cache.c R processors/ARM/gdb-7.10/bfd/cf-i386lynx.c R processors/ARM/gdb-7.10/bfd/cf-sparclynx.c R processors/ARM/gdb-7.10/bfd/cisco-core.c R processors/ARM/gdb-7.10/bfd/coff-alpha.c R processors/ARM/gdb-7.10/bfd/coff-apollo.c R processors/ARM/gdb-7.10/bfd/coff-arm.c R processors/ARM/gdb-7.10/bfd/coff-aux.c R processors/ARM/gdb-7.10/bfd/coff-bfd.c R processors/ARM/gdb-7.10/bfd/coff-bfd.h R processors/ARM/gdb-7.10/bfd/coff-go32.c R processors/ARM/gdb-7.10/bfd/coff-h8300.c R processors/ARM/gdb-7.10/bfd/coff-h8500.c R processors/ARM/gdb-7.10/bfd/coff-i386.c R processors/ARM/gdb-7.10/bfd/coff-i860.c R processors/ARM/gdb-7.10/bfd/coff-i960.c R processors/ARM/gdb-7.10/bfd/coff-ia64.c R processors/ARM/gdb-7.10/bfd/coff-m68k.c R processors/ARM/gdb-7.10/bfd/coff-m88k.c R processors/ARM/gdb-7.10/bfd/coff-mcore.c R processors/ARM/gdb-7.10/bfd/coff-mips.c R processors/ARM/gdb-7.10/bfd/coff-ppc.c R processors/ARM/gdb-7.10/bfd/coff-rs6000.c R processors/ARM/gdb-7.10/bfd/coff-sh.c R processors/ARM/gdb-7.10/bfd/coff-sparc.c R processors/ARM/gdb-7.10/bfd/coff-stgo32.c R processors/ARM/gdb-7.10/bfd/coff-svm68k.c R processors/ARM/gdb-7.10/bfd/coff-tic30.c R processors/ARM/gdb-7.10/bfd/coff-tic4x.c R processors/ARM/gdb-7.10/bfd/coff-tic54x.c R processors/ARM/gdb-7.10/bfd/coff-tic80.c R processors/ARM/gdb-7.10/bfd/coff-u68k.c R processors/ARM/gdb-7.10/bfd/coff-w65.c R processors/ARM/gdb-7.10/bfd/coff-we32k.c R processors/ARM/gdb-7.10/bfd/coff-x86_64.c R processors/ARM/gdb-7.10/bfd/coff-z80.c R processors/ARM/gdb-7.10/bfd/coff-z8k.c R processors/ARM/gdb-7.10/bfd/coff64-rs6000.c R processors/ARM/gdb-7.10/bfd/coffcode.h R processors/ARM/gdb-7.10/bfd/coffgen.c R processors/ARM/gdb-7.10/bfd/cofflink.c R processors/ARM/gdb-7.10/bfd/coffswap.h R processors/ARM/gdb-7.10/bfd/compress.c R processors/ARM/gdb-7.10/bfd/config.bfd R processors/ARM/gdb-7.10/bfd/config.in R processors/ARM/gdb-7.10/bfd/configure R processors/ARM/gdb-7.10/bfd/configure.ac R processors/ARM/gdb-7.10/bfd/configure.com R processors/ARM/gdb-7.10/bfd/configure.host R processors/ARM/gdb-7.10/bfd/corefile.c R processors/ARM/gdb-7.10/bfd/cpu-aarch64.c R processors/ARM/gdb-7.10/bfd/cpu-alpha.c R processors/ARM/gdb-7.10/bfd/cpu-arc.c R processors/ARM/gdb-7.10/bfd/cpu-arm.c R processors/ARM/gdb-7.10/bfd/cpu-avr.c R processors/ARM/gdb-7.10/bfd/cpu-bfin.c R processors/ARM/gdb-7.10/bfd/cpu-cr16.c R processors/ARM/gdb-7.10/bfd/cpu-cr16c.c R processors/ARM/gdb-7.10/bfd/cpu-cris.c R processors/ARM/gdb-7.10/bfd/cpu-crx.c R processors/ARM/gdb-7.10/bfd/cpu-d10v.c R processors/ARM/gdb-7.10/bfd/cpu-d30v.c R processors/ARM/gdb-7.10/bfd/cpu-dlx.c R processors/ARM/gdb-7.10/bfd/cpu-epiphany.c R processors/ARM/gdb-7.10/bfd/cpu-fr30.c R processors/ARM/gdb-7.10/bfd/cpu-frv.c R processors/ARM/gdb-7.10/bfd/cpu-ft32.c R processors/ARM/gdb-7.10/bfd/cpu-h8300.c R processors/ARM/gdb-7.10/bfd/cpu-h8500.c R processors/ARM/gdb-7.10/bfd/cpu-hppa.c R processors/ARM/gdb-7.10/bfd/cpu-i370.c R processors/ARM/gdb-7.10/bfd/cpu-i386.c R processors/ARM/gdb-7.10/bfd/cpu-i860.c R processors/ARM/gdb-7.10/bfd/cpu-i960.c R processors/ARM/gdb-7.10/bfd/cpu-ia64-opc.c R processors/ARM/gdb-7.10/bfd/cpu-ia64.c R processors/ARM/gdb-7.10/bfd/cpu-iamcu.c R processors/ARM/gdb-7.10/bfd/cpu-ip2k.c R processors/ARM/gdb-7.10/bfd/cpu-iq2000.c R processors/ARM/gdb-7.10/bfd/cpu-k1om.c R processors/ARM/gdb-7.10/bfd/cpu-l1om.c R processors/ARM/gdb-7.10/bfd/cpu-lm32.c R processors/ARM/gdb-7.10/bfd/cpu-m10200.c R processors/ARM/gdb-7.10/bfd/cpu-m10300.c R processors/ARM/gdb-7.10/bfd/cpu-m32c.c R processors/ARM/gdb-7.10/bfd/cpu-m32r.c R processors/ARM/gdb-7.10/bfd/cpu-m68hc11.c R processors/ARM/gdb-7.10/bfd/cpu-m68hc12.c R processors/ARM/gdb-7.10/bfd/cpu-m68k.c R processors/ARM/gdb-7.10/bfd/cpu-m88k.c R processors/ARM/gdb-7.10/bfd/cpu-m9s12x.c R processors/ARM/gdb-7.10/bfd/cpu-m9s12xg.c R processors/ARM/gdb-7.10/bfd/cpu-mcore.c R processors/ARM/gdb-7.10/bfd/cpu-mep.c R processors/ARM/gdb-7.10/bfd/cpu-metag.c R processors/ARM/gdb-7.10/bfd/cpu-microblaze.c R processors/ARM/gdb-7.10/bfd/cpu-mips.c R processors/ARM/gdb-7.10/bfd/cpu-mmix.c R processors/ARM/gdb-7.10/bfd/cpu-moxie.c R processors/ARM/gdb-7.10/bfd/cpu-msp430.c R processors/ARM/gdb-7.10/bfd/cpu-mt.c R processors/ARM/gdb-7.10/bfd/cpu-nds32.c R processors/ARM/gdb-7.10/bfd/cpu-nios2.c R processors/ARM/gdb-7.10/bfd/cpu-ns32k.c R processors/ARM/gdb-7.10/bfd/cpu-or1k.c R processors/ARM/gdb-7.10/bfd/cpu-pdp11.c R processors/ARM/gdb-7.10/bfd/cpu-pj.c R processors/ARM/gdb-7.10/bfd/cpu-plugin.c R processors/ARM/gdb-7.10/bfd/cpu-powerpc.c R processors/ARM/gdb-7.10/bfd/cpu-rl78.c R processors/ARM/gdb-7.10/bfd/cpu-rs6000.c R processors/ARM/gdb-7.10/bfd/cpu-rx.c R processors/ARM/gdb-7.10/bfd/cpu-s390.c R processors/ARM/gdb-7.10/bfd/cpu-score.c R processors/ARM/gdb-7.10/bfd/cpu-sh.c R processors/ARM/gdb-7.10/bfd/cpu-sparc.c R processors/ARM/gdb-7.10/bfd/cpu-spu.c R processors/ARM/gdb-7.10/bfd/cpu-tic30.c R processors/ARM/gdb-7.10/bfd/cpu-tic4x.c R processors/ARM/gdb-7.10/bfd/cpu-tic54x.c R processors/ARM/gdb-7.10/bfd/cpu-tic6x.c R processors/ARM/gdb-7.10/bfd/cpu-tic80.c R processors/ARM/gdb-7.10/bfd/cpu-tilegx.c R processors/ARM/gdb-7.10/bfd/cpu-tilepro.c R processors/ARM/gdb-7.10/bfd/cpu-v850.c R processors/ARM/gdb-7.10/bfd/cpu-v850_rh850.c R processors/ARM/gdb-7.10/bfd/cpu-vax.c R processors/ARM/gdb-7.10/bfd/cpu-visium.c R processors/ARM/gdb-7.10/bfd/cpu-w65.c R processors/ARM/gdb-7.10/bfd/cpu-we32k.c R processors/ARM/gdb-7.10/bfd/cpu-xc16x.c R processors/ARM/gdb-7.10/bfd/cpu-xgate.c R processors/ARM/gdb-7.10/bfd/cpu-xstormy16.c R processors/ARM/gdb-7.10/bfd/cpu-xtensa.c R processors/ARM/gdb-7.10/bfd/cpu-z80.c R processors/ARM/gdb-7.10/bfd/cpu-z8k.c R processors/ARM/gdb-7.10/bfd/demo64.c R processors/ARM/gdb-7.10/bfd/development.sh R processors/ARM/gdb-7.10/bfd/doc/Makefile.am R processors/ARM/gdb-7.10/bfd/doc/Makefile.in R processors/ARM/gdb-7.10/bfd/doc/aoutx.texi R processors/ARM/gdb-7.10/bfd/doc/archive.texi R processors/ARM/gdb-7.10/bfd/doc/archures.texi R processors/ARM/gdb-7.10/bfd/doc/bfd.info R processors/ARM/gdb-7.10/bfd/doc/bfd.texinfo R processors/ARM/gdb-7.10/bfd/doc/bfdint.texi R processors/ARM/gdb-7.10/bfd/doc/bfdio.texi R processors/ARM/gdb-7.10/bfd/doc/bfdsumm.texi R processors/ARM/gdb-7.10/bfd/doc/bfdt.texi R processors/ARM/gdb-7.10/bfd/doc/bfdver.texi R processors/ARM/gdb-7.10/bfd/doc/bfdwin.texi R processors/ARM/gdb-7.10/bfd/doc/cache.texi R processors/ARM/gdb-7.10/bfd/doc/chew.c R processors/ARM/gdb-7.10/bfd/doc/chw8494 R processors/ARM/gdb-7.10/bfd/doc/coffcode.texi R processors/ARM/gdb-7.10/bfd/doc/core.texi R processors/ARM/gdb-7.10/bfd/doc/elf.texi R processors/ARM/gdb-7.10/bfd/doc/elfcode.texi R processors/ARM/gdb-7.10/bfd/doc/format.texi R processors/ARM/gdb-7.10/bfd/doc/hash.texi R processors/ARM/gdb-7.10/bfd/doc/header.sed R processors/ARM/gdb-7.10/bfd/doc/init.texi R processors/ARM/gdb-7.10/bfd/doc/libbfd.texi R processors/ARM/gdb-7.10/bfd/doc/linker.texi R processors/ARM/gdb-7.10/bfd/doc/makefile.vms R processors/ARM/gdb-7.10/bfd/doc/mmo.texi R processors/ARM/gdb-7.10/bfd/doc/opncls.texi R processors/ARM/gdb-7.10/bfd/doc/reloc.texi R processors/ARM/gdb-7.10/bfd/doc/section.texi R processors/ARM/gdb-7.10/bfd/doc/syms.texi R processors/ARM/gdb-7.10/bfd/doc/targets.texi R processors/ARM/gdb-7.10/bfd/dwarf1.c R processors/ARM/gdb-7.10/bfd/dwarf2.c R processors/ARM/gdb-7.10/bfd/ecoff.c R processors/ARM/gdb-7.10/bfd/ecofflink.c R processors/ARM/gdb-7.10/bfd/ecoffswap.h R processors/ARM/gdb-7.10/bfd/elf-attrs.c R processors/ARM/gdb-7.10/bfd/elf-bfd.h R processors/ARM/gdb-7.10/bfd/elf-eh-frame.c R processors/ARM/gdb-7.10/bfd/elf-hppa.h R processors/ARM/gdb-7.10/bfd/elf-ifunc.c R processors/ARM/gdb-7.10/bfd/elf-linux-psinfo.h R processors/ARM/gdb-7.10/bfd/elf-m10200.c R processors/ARM/gdb-7.10/bfd/elf-m10300.c R processors/ARM/gdb-7.10/bfd/elf-nacl.c R processors/ARM/gdb-7.10/bfd/elf-nacl.h R processors/ARM/gdb-7.10/bfd/elf-s390-common.c R processors/ARM/gdb-7.10/bfd/elf-strtab.c R processors/ARM/gdb-7.10/bfd/elf-vxworks.c R processors/ARM/gdb-7.10/bfd/elf-vxworks.h R processors/ARM/gdb-7.10/bfd/elf.c R processors/ARM/gdb-7.10/bfd/elf32-am33lin.c R processors/ARM/gdb-7.10/bfd/elf32-arc.c R processors/ARM/gdb-7.10/bfd/elf32-arm.c R processors/ARM/gdb-7.10/bfd/elf32-avr.c R processors/ARM/gdb-7.10/bfd/elf32-avr.h R processors/ARM/gdb-7.10/bfd/elf32-bfin.c R processors/ARM/gdb-7.10/bfd/elf32-cr16.c R processors/ARM/gdb-7.10/bfd/elf32-cr16c.c R processors/ARM/gdb-7.10/bfd/elf32-cris.c R processors/ARM/gdb-7.10/bfd/elf32-crx.c R processors/ARM/gdb-7.10/bfd/elf32-d10v.c R processors/ARM/gdb-7.10/bfd/elf32-d30v.c R processors/ARM/gdb-7.10/bfd/elf32-dlx.c R processors/ARM/gdb-7.10/bfd/elf32-epiphany.c R processors/ARM/gdb-7.10/bfd/elf32-fr30.c R processors/ARM/gdb-7.10/bfd/elf32-frv.c R processors/ARM/gdb-7.10/bfd/elf32-ft32.c R processors/ARM/gdb-7.10/bfd/elf32-gen.c R processors/ARM/gdb-7.10/bfd/elf32-h8300.c R processors/ARM/gdb-7.10/bfd/elf32-hppa.c R processors/ARM/gdb-7.10/bfd/elf32-hppa.h R processors/ARM/gdb-7.10/bfd/elf32-i370.c R processors/ARM/gdb-7.10/bfd/elf32-i386.c R processors/ARM/gdb-7.10/bfd/elf32-i860.c R processors/ARM/gdb-7.10/bfd/elf32-i960.c R processors/ARM/gdb-7.10/bfd/elf32-ip2k.c R processors/ARM/gdb-7.10/bfd/elf32-iq2000.c R processors/ARM/gdb-7.10/bfd/elf32-lm32.c R processors/ARM/gdb-7.10/bfd/elf32-m32c.c R processors/ARM/gdb-7.10/bfd/elf32-m32r.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc11.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc12.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc1x.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc1x.h R processors/ARM/gdb-7.10/bfd/elf32-m68k.c R processors/ARM/gdb-7.10/bfd/elf32-m88k.c R processors/ARM/gdb-7.10/bfd/elf32-mcore.c R processors/ARM/gdb-7.10/bfd/elf32-mep.c R processors/ARM/gdb-7.10/bfd/elf32-metag.c R processors/ARM/gdb-7.10/bfd/elf32-metag.h R processors/ARM/gdb-7.10/bfd/elf32-microblaze.c R processors/ARM/gdb-7.10/bfd/elf32-mips.c R processors/ARM/gdb-7.10/bfd/elf32-moxie.c R processors/ARM/gdb-7.10/bfd/elf32-msp430.c R processors/ARM/gdb-7.10/bfd/elf32-mt.c R processors/ARM/gdb-7.10/bfd/elf32-nds32.c R processors/ARM/gdb-7.10/bfd/elf32-nds32.h R processors/ARM/gdb-7.10/bfd/elf32-nios2.c R processors/ARM/gdb-7.10/bfd/elf32-nios2.h R processors/ARM/gdb-7.10/bfd/elf32-or1k.c R processors/ARM/gdb-7.10/bfd/elf32-pj.c R processors/ARM/gdb-7.10/bfd/elf32-ppc.c R processors/ARM/gdb-7.10/bfd/elf32-ppc.h R processors/ARM/gdb-7.10/bfd/elf32-rl78.c R processors/ARM/gdb-7.10/bfd/elf32-rx.c R processors/ARM/gdb-7.10/bfd/elf32-rx.h R processors/ARM/gdb-7.10/bfd/elf32-s390.c R processors/ARM/gdb-7.10/bfd/elf32-score.c R processors/ARM/gdb-7.10/bfd/elf32-score.h R processors/ARM/gdb-7.10/bfd/elf32-score7.c R processors/ARM/gdb-7.10/bfd/elf32-sh-relocs.h R processors/ARM/gdb-7.10/bfd/elf32-sh-symbian.c R processors/ARM/gdb-7.10/bfd/elf32-sh.c R processors/ARM/gdb-7.10/bfd/elf32-sh64-com.c R processors/ARM/gdb-7.10/bfd/elf32-sh64.c R processors/ARM/gdb-7.10/bfd/elf32-sh64.h R processors/ARM/gdb-7.10/bfd/elf32-sparc.c R processors/ARM/gdb-7.10/bfd/elf32-spu.c R processors/ARM/gdb-7.10/bfd/elf32-spu.h R processors/ARM/gdb-7.10/bfd/elf32-tic6x.c R processors/ARM/gdb-7.10/bfd/elf32-tic6x.h R processors/ARM/gdb-7.10/bfd/elf32-tilegx.c R processors/ARM/gdb-7.10/bfd/elf32-tilegx.h R processors/ARM/gdb-7.10/bfd/elf32-tilepro.c R processors/ARM/gdb-7.10/bfd/elf32-tilepro.h R processors/ARM/gdb-7.10/bfd/elf32-v850.c R processors/ARM/gdb-7.10/bfd/elf32-vax.c R processors/ARM/gdb-7.10/bfd/elf32-visium.c R processors/ARM/gdb-7.10/bfd/elf32-xc16x.c R processors/ARM/gdb-7.10/bfd/elf32-xgate.c R processors/ARM/gdb-7.10/bfd/elf32-xgate.h R processors/ARM/gdb-7.10/bfd/elf32-xstormy16.c R processors/ARM/gdb-7.10/bfd/elf32-xtensa.c R processors/ARM/gdb-7.10/bfd/elf32.c R processors/ARM/gdb-7.10/bfd/elf64-alpha.c R processors/ARM/gdb-7.10/bfd/elf64-gen.c R processors/ARM/gdb-7.10/bfd/elf64-hppa.c R processors/ARM/gdb-7.10/bfd/elf64-hppa.h R processors/ARM/gdb-7.10/bfd/elf64-ia64-vms.c R processors/ARM/gdb-7.10/bfd/elf64-mips.c R processors/ARM/gdb-7.10/bfd/elf64-mmix.c R processors/ARM/gdb-7.10/bfd/elf64-ppc.c R processors/ARM/gdb-7.10/bfd/elf64-ppc.h R processors/ARM/gdb-7.10/bfd/elf64-s390.c R processors/ARM/gdb-7.10/bfd/elf64-sh64.c R processors/ARM/gdb-7.10/bfd/elf64-sparc.c R processors/ARM/gdb-7.10/bfd/elf64-tilegx.c R processors/ARM/gdb-7.10/bfd/elf64-tilegx.h R processors/ARM/gdb-7.10/bfd/elf64-x86-64.c R processors/ARM/gdb-7.10/bfd/elf64.c R processors/ARM/gdb-7.10/bfd/elfcode.h R processors/ARM/gdb-7.10/bfd/elfcore.h R processors/ARM/gdb-7.10/bfd/elflink.c R processors/ARM/gdb-7.10/bfd/elfn32-mips.c R processors/ARM/gdb-7.10/bfd/elfnn-aarch64.c R processors/ARM/gdb-7.10/bfd/elfnn-ia64.c R processors/ARM/gdb-7.10/bfd/elfxx-aarch64.c R processors/ARM/gdb-7.10/bfd/elfxx-aarch64.h R processors/ARM/gdb-7.10/bfd/elfxx-ia64.c R processors/ARM/gdb-7.10/bfd/elfxx-ia64.h R processors/ARM/gdb-7.10/bfd/elfxx-mips.c R processors/ARM/gdb-7.10/bfd/elfxx-mips.h R processors/ARM/gdb-7.10/bfd/elfxx-sparc.c R processors/ARM/gdb-7.10/bfd/elfxx-sparc.h R processors/ARM/gdb-7.10/bfd/elfxx-target.h R processors/ARM/gdb-7.10/bfd/elfxx-tilegx.c R processors/ARM/gdb-7.10/bfd/elfxx-tilegx.h R processors/ARM/gdb-7.10/bfd/epoc-pe-arm.c R processors/ARM/gdb-7.10/bfd/epoc-pei-arm.c R processors/ARM/gdb-7.10/bfd/format.c R processors/ARM/gdb-7.10/bfd/freebsd.h R processors/ARM/gdb-7.10/bfd/gen-aout.c R processors/ARM/gdb-7.10/bfd/genlink.h R processors/ARM/gdb-7.10/bfd/hash.c R processors/ARM/gdb-7.10/bfd/host-aout.c R processors/ARM/gdb-7.10/bfd/hosts/alphalinux.h R processors/ARM/gdb-7.10/bfd/hosts/alphavms.h R processors/ARM/gdb-7.10/bfd/hosts/decstation.h R processors/ARM/gdb-7.10/bfd/hosts/delta68.h R processors/ARM/gdb-7.10/bfd/hosts/dpx2.h R processors/ARM/gdb-7.10/bfd/hosts/hp300bsd.h R processors/ARM/gdb-7.10/bfd/hosts/i386bsd.h R processors/ARM/gdb-7.10/bfd/hosts/i386linux.h R processors/ARM/gdb-7.10/bfd/hosts/i386mach3.h R processors/ARM/gdb-7.10/bfd/hosts/i386sco.h R processors/ARM/gdb-7.10/bfd/hosts/i860mach3.h R processors/ARM/gdb-7.10/bfd/hosts/m68kaux.h R processors/ARM/gdb-7.10/bfd/hosts/m68klinux.h R processors/ARM/gdb-7.10/bfd/hosts/m88kmach3.h R processors/ARM/gdb-7.10/bfd/hosts/mipsbsd.h R processors/ARM/gdb-7.10/bfd/hosts/mipsmach3.h R processors/ARM/gdb-7.10/bfd/hosts/news-mips.h R processors/ARM/gdb-7.10/bfd/hosts/news.h R processors/ARM/gdb-7.10/bfd/hosts/pc532mach.h R processors/ARM/gdb-7.10/bfd/hosts/riscos.h R processors/ARM/gdb-7.10/bfd/hosts/symmetry.h R processors/ARM/gdb-7.10/bfd/hosts/tahoe.h R processors/ARM/gdb-7.10/bfd/hosts/vaxbsd.h R processors/ARM/gdb-7.10/bfd/hosts/vaxlinux.h R processors/ARM/gdb-7.10/bfd/hosts/vaxult.h R processors/ARM/gdb-7.10/bfd/hosts/vaxult2.h R processors/ARM/gdb-7.10/bfd/hosts/x86-64linux.h R processors/ARM/gdb-7.10/bfd/hp300bsd.c R processors/ARM/gdb-7.10/bfd/hp300hpux.c R processors/ARM/gdb-7.10/bfd/hppabsd-core.c R processors/ARM/gdb-7.10/bfd/hpux-core.c R processors/ARM/gdb-7.10/bfd/i386aout.c R processors/ARM/gdb-7.10/bfd/i386bsd.c R processors/ARM/gdb-7.10/bfd/i386dynix.c R processors/ARM/gdb-7.10/bfd/i386freebsd.c R processors/ARM/gdb-7.10/bfd/i386linux.c R processors/ARM/gdb-7.10/bfd/i386lynx.c R processors/ARM/gdb-7.10/bfd/i386mach3.c R processors/ARM/gdb-7.10/bfd/i386msdos.c R processors/ARM/gdb-7.10/bfd/i386netbsd.c R processors/ARM/gdb-7.10/bfd/i386os9k.c R processors/ARM/gdb-7.10/bfd/ieee.c R processors/ARM/gdb-7.10/bfd/ihex.c R processors/ARM/gdb-7.10/bfd/init.c R processors/ARM/gdb-7.10/bfd/irix-core.c R processors/ARM/gdb-7.10/bfd/libaout.h R processors/ARM/gdb-7.10/bfd/libbfd-in.h R processors/ARM/gdb-7.10/bfd/libbfd.c R processors/ARM/gdb-7.10/bfd/libbfd.h R processors/ARM/gdb-7.10/bfd/libcoff-in.h R processors/ARM/gdb-7.10/bfd/libcoff.h R processors/ARM/gdb-7.10/bfd/libecoff.h R processors/ARM/gdb-7.10/bfd/libhppa.h R processors/ARM/gdb-7.10/bfd/libieee.h R processors/ARM/gdb-7.10/bfd/libnlm.h R processors/ARM/gdb-7.10/bfd/liboasys.h R processors/ARM/gdb-7.10/bfd/libpei.h R processors/ARM/gdb-7.10/bfd/libxcoff.h R processors/ARM/gdb-7.10/bfd/linker.c R processors/ARM/gdb-7.10/bfd/lynx-core.c R processors/ARM/gdb-7.10/bfd/m68k4knetbsd.c R processors/ARM/gdb-7.10/bfd/m68klinux.c R processors/ARM/gdb-7.10/bfd/m68knetbsd.c R processors/ARM/gdb-7.10/bfd/m88kmach3.c R processors/ARM/gdb-7.10/bfd/m88kopenbsd.c R processors/ARM/gdb-7.10/bfd/mach-o-i386.c R processors/ARM/gdb-7.10/bfd/mach-o-target.c R processors/ARM/gdb-7.10/bfd/mach-o-x86-64.c R processors/ARM/gdb-7.10/bfd/mach-o.c R processors/ARM/gdb-7.10/bfd/mach-o.h R processors/ARM/gdb-7.10/bfd/makefile.vms R processors/ARM/gdb-7.10/bfd/mep-relocs.pl R processors/ARM/gdb-7.10/bfd/merge.c R processors/ARM/gdb-7.10/bfd/mipsbsd.c R processors/ARM/gdb-7.10/bfd/mmo.c R processors/ARM/gdb-7.10/bfd/netbsd-core.c R processors/ARM/gdb-7.10/bfd/netbsd.h R processors/ARM/gdb-7.10/bfd/newsos3.c R processors/ARM/gdb-7.10/bfd/nlm-target.h R processors/ARM/gdb-7.10/bfd/nlm.c R processors/ARM/gdb-7.10/bfd/nlm32-alpha.c R processors/ARM/gdb-7.10/bfd/nlm32-i386.c R processors/ARM/gdb-7.10/bfd/nlm32-ppc.c R processors/ARM/gdb-7.10/bfd/nlm32-sparc.c R processors/ARM/gdb-7.10/bfd/nlm32.c R processors/ARM/gdb-7.10/bfd/nlm64.c R processors/ARM/gdb-7.10/bfd/nlmcode.h R processors/ARM/gdb-7.10/bfd/nlmswap.h R processors/ARM/gdb-7.10/bfd/ns32k.h R processors/ARM/gdb-7.10/bfd/ns32knetbsd.c R processors/ARM/gdb-7.10/bfd/oasys.c R processors/ARM/gdb-7.10/bfd/opncls.c R processors/ARM/gdb-7.10/bfd/osf-core.c R processors/ARM/gdb-7.10/bfd/pc532-mach.c R processors/ARM/gdb-7.10/bfd/pdp11.c R processors/ARM/gdb-7.10/bfd/pe-arm-wince.c R processors/ARM/gdb-7.10/bfd/pe-arm.c R processors/ARM/gdb-7.10/bfd/pe-i386.c R processors/ARM/gdb-7.10/bfd/pe-mcore.c R processors/ARM/gdb-7.10/bfd/pe-mips.c R processors/ARM/gdb-7.10/bfd/pe-ppc.c R processors/ARM/gdb-7.10/bfd/pe-sh.c R processors/ARM/gdb-7.10/bfd/pe-x86_64.c R processors/ARM/gdb-7.10/bfd/peXXigen.c R processors/ARM/gdb-7.10/bfd/pef-traceback.h R processors/ARM/gdb-7.10/bfd/pef.c R processors/ARM/gdb-7.10/bfd/pef.h R processors/ARM/gdb-7.10/bfd/pei-arm-wince.c R processors/ARM/gdb-7.10/bfd/pei-arm.c R processors/ARM/gdb-7.10/bfd/pei-i386.c R processors/ARM/gdb-7.10/bfd/pei-ia64.c R processors/ARM/gdb-7.10/bfd/pei-mcore.c R processors/ARM/gdb-7.10/bfd/pei-mips.c R processors/ARM/gdb-7.10/bfd/pei-ppc.c R processors/ARM/gdb-7.10/bfd/pei-sh.c R processors/ARM/gdb-7.10/bfd/pei-x86_64.c R processors/ARM/gdb-7.10/bfd/peicode.h R processors/ARM/gdb-7.10/bfd/plugin.c R processors/ARM/gdb-7.10/bfd/plugin.h R processors/ARM/gdb-7.10/bfd/po/BLD-POTFILES.in R processors/ARM/gdb-7.10/bfd/po/Make-in R processors/ARM/gdb-7.10/bfd/po/SRC-POTFILES.in R processors/ARM/gdb-7.10/bfd/po/bfd.pot R processors/ARM/gdb-7.10/bfd/po/da.gmo R processors/ARM/gdb-7.10/bfd/po/da.po R processors/ARM/gdb-7.10/bfd/po/es.gmo R processors/ARM/gdb-7.10/bfd/po/es.po R processors/ARM/gdb-7.10/bfd/po/fi.gmo R processors/ARM/gdb-7.10/bfd/po/fi.po R processors/ARM/gdb-7.10/bfd/po/fr.gmo R processors/ARM/gdb-7.10/bfd/po/fr.po R processors/ARM/gdb-7.10/bfd/po/id.gmo R processors/ARM/gdb-7.10/bfd/po/id.po R processors/ARM/gdb-7.10/bfd/po/ja.gmo R processors/ARM/gdb-7.10/bfd/po/ja.po R processors/ARM/gdb-7.10/bfd/po/ro.gmo R processors/ARM/gdb-7.10/bfd/po/ro.po R processors/ARM/gdb-7.10/bfd/po/ru.gmo R processors/ARM/gdb-7.10/bfd/po/ru.po R processors/ARM/gdb-7.10/bfd/po/rw.gmo R processors/ARM/gdb-7.10/bfd/po/sv.gmo R processors/ARM/gdb-7.10/bfd/po/sv.po R processors/ARM/gdb-7.10/bfd/po/tr.gmo R processors/ARM/gdb-7.10/bfd/po/tr.po R processors/ARM/gdb-7.10/bfd/po/uk.gmo R processors/ARM/gdb-7.10/bfd/po/uk.po R processors/ARM/gdb-7.10/bfd/po/vi.gmo R processors/ARM/gdb-7.10/bfd/po/vi.po R processors/ARM/gdb-7.10/bfd/po/zh_CN.gmo R processors/ARM/gdb-7.10/bfd/po/zh_CN.po R processors/ARM/gdb-7.10/bfd/ppcboot.c R processors/ARM/gdb-7.10/bfd/ptrace-core.c R processors/ARM/gdb-7.10/bfd/reloc.c R processors/ARM/gdb-7.10/bfd/reloc16.c R processors/ARM/gdb-7.10/bfd/riscix.c R processors/ARM/gdb-7.10/bfd/rs6000-core.c R processors/ARM/gdb-7.10/bfd/sco5-core.c R processors/ARM/gdb-7.10/bfd/section.c R processors/ARM/gdb-7.10/bfd/simple.c R processors/ARM/gdb-7.10/bfd/som.c R processors/ARM/gdb-7.10/bfd/som.h R processors/ARM/gdb-7.10/bfd/sparclinux.c R processors/ARM/gdb-7.10/bfd/sparclynx.c R processors/ARM/gdb-7.10/bfd/sparcnetbsd.c R processors/ARM/gdb-7.10/bfd/srec.c R processors/ARM/gdb-7.10/bfd/stab-syms.c R processors/ARM/gdb-7.10/bfd/stabs.c R processors/ARM/gdb-7.10/bfd/sunos.c R processors/ARM/gdb-7.10/bfd/syms.c R processors/ARM/gdb-7.10/bfd/sysdep.h R processors/ARM/gdb-7.10/bfd/targets.c R processors/ARM/gdb-7.10/bfd/tekhex.c R processors/ARM/gdb-7.10/bfd/trad-core.c R processors/ARM/gdb-7.10/bfd/vax1knetbsd.c R processors/ARM/gdb-7.10/bfd/vaxbsd.c R processors/ARM/gdb-7.10/bfd/vaxnetbsd.c R processors/ARM/gdb-7.10/bfd/verilog.c R processors/ARM/gdb-7.10/bfd/versados.c R processors/ARM/gdb-7.10/bfd/version.h R processors/ARM/gdb-7.10/bfd/version.m4 R processors/ARM/gdb-7.10/bfd/vms-alpha.c R processors/ARM/gdb-7.10/bfd/vms-lib.c R processors/ARM/gdb-7.10/bfd/vms-misc.c R processors/ARM/gdb-7.10/bfd/vms.h R processors/ARM/gdb-7.10/bfd/warning.m4 R processors/ARM/gdb-7.10/bfd/xcofflink.c R processors/ARM/gdb-7.10/bfd/xsym.c R processors/ARM/gdb-7.10/bfd/xsym.h R processors/ARM/gdb-7.10/bfd/xtensa-isa.c R processors/ARM/gdb-7.10/bfd/xtensa-modules.c R processors/ARM/gdb-7.10/compile R processors/ARM/gdb-7.10/config-ml.in R processors/ARM/gdb-7.10/config.guess R processors/ARM/gdb-7.10/config.sub R processors/ARM/gdb-7.10/config/ChangeLog R processors/ARM/gdb-7.10/config/acx.m4 R processors/ARM/gdb-7.10/config/bootstrap-asan.mk R processors/ARM/gdb-7.10/config/bootstrap-debug-lean.mk R processors/ARM/gdb-7.10/config/bootstrap-lto.mk R processors/ARM/gdb-7.10/config/bootstrap-ubsan.mk R processors/ARM/gdb-7.10/config/dfp.m4 R processors/ARM/gdb-7.10/config/gettext.m4 R processors/ARM/gdb-7.10/config/iconv.m4 R processors/ARM/gdb-7.10/config/isl.m4 R processors/ARM/gdb-7.10/config/math.m4 R processors/ARM/gdb-7.10/config/multi.m4 R processors/ARM/gdb-7.10/config/override.m4 R processors/ARM/gdb-7.10/config/picflag.m4 R processors/ARM/gdb-7.10/config/plugins.m4 R processors/ARM/gdb-7.10/config/po.m4 R processors/ARM/gdb-7.10/config/stdint.m4 R processors/ARM/gdb-7.10/config/tcl.m4 R processors/ARM/gdb-7.10/config/tls.m4 R processors/ARM/gdb-7.10/config/warnings.m4 R processors/ARM/gdb-7.10/configure R processors/ARM/gdb-7.10/configure.ac R processors/ARM/gdb-7.10/include/COPYING R processors/ARM/gdb-7.10/include/COPYING3 R processors/ARM/gdb-7.10/include/ChangeLog R processors/ARM/gdb-7.10/include/ChangeLog-9103 R processors/ARM/gdb-7.10/include/MAINTAINERS R processors/ARM/gdb-7.10/include/alloca-conf.h R processors/ARM/gdb-7.10/include/ansidecl.h R processors/ARM/gdb-7.10/include/aout/ChangeLog R processors/ARM/gdb-7.10/include/aout/adobe.h R processors/ARM/gdb-7.10/include/aout/aout64.h R processors/ARM/gdb-7.10/include/aout/ar.h R processors/ARM/gdb-7.10/include/aout/dynix3.h R processors/ARM/gdb-7.10/include/aout/encap.h R processors/ARM/gdb-7.10/include/aout/host.h R processors/ARM/gdb-7.10/include/aout/hp.h R processors/ARM/gdb-7.10/include/aout/hp300hpux.h R processors/ARM/gdb-7.10/include/aout/hppa.h R processors/ARM/gdb-7.10/include/aout/ranlib.h R processors/ARM/gdb-7.10/include/aout/reloc.h R processors/ARM/gdb-7.10/include/aout/stab.def R processors/ARM/gdb-7.10/include/aout/stab_gnu.h R processors/ARM/gdb-7.10/include/aout/sun4.h R processors/ARM/gdb-7.10/include/bfdlink.h R processors/ARM/gdb-7.10/include/binary-io.h R processors/ARM/gdb-7.10/include/bout.h R processors/ARM/gdb-7.10/include/cgen/basic-modes.h R processors/ARM/gdb-7.10/include/cgen/basic-ops.h R processors/ARM/gdb-7.10/include/cgen/bitset.h R processors/ARM/gdb-7.10/include/coff/alpha.h R processors/ARM/gdb-7.10/include/coff/apollo.h R processors/ARM/gdb-7.10/include/coff/arm.h R processors/ARM/gdb-7.10/include/coff/aux-coff.h R processors/ARM/gdb-7.10/include/coff/ecoff.h R processors/ARM/gdb-7.10/include/coff/external.h R processors/ARM/gdb-7.10/include/coff/go32exe.h R processors/ARM/gdb-7.10/include/coff/h8300.h R processors/ARM/gdb-7.10/include/coff/h8500.h R processors/ARM/gdb-7.10/include/coff/i386.h R processors/ARM/gdb-7.10/include/coff/i860.h R processors/ARM/gdb-7.10/include/coff/i960.h R processors/ARM/gdb-7.10/include/coff/ia64.h R processors/ARM/gdb-7.10/include/coff/internal.h R processors/ARM/gdb-7.10/include/coff/m68k.h R processors/ARM/gdb-7.10/include/coff/m88k.h R processors/ARM/gdb-7.10/include/coff/mcore.h R processors/ARM/gdb-7.10/include/coff/mips.h R processors/ARM/gdb-7.10/include/coff/mipspe.h R processors/ARM/gdb-7.10/include/coff/pe.h R processors/ARM/gdb-7.10/include/coff/powerpc.h R processors/ARM/gdb-7.10/include/coff/rs6000.h R processors/ARM/gdb-7.10/include/coff/rs6k64.h R processors/ARM/gdb-7.10/include/coff/sh.h R processors/ARM/gdb-7.10/include/coff/sparc.h R processors/ARM/gdb-7.10/include/coff/ti.h R processors/ARM/gdb-7.10/include/coff/tic30.h R processors/ARM/gdb-7.10/include/coff/tic4x.h R processors/ARM/gdb-7.10/include/coff/tic54x.h R processors/ARM/gdb-7.10/include/coff/tic80.h R processors/ARM/gdb-7.10/include/coff/w65.h R processors/ARM/gdb-7.10/include/coff/we32k.h R processors/ARM/gdb-7.10/include/coff/x86_64.h R processors/ARM/gdb-7.10/include/coff/xcoff.h R processors/ARM/gdb-7.10/include/coff/z80.h R processors/ARM/gdb-7.10/include/coff/z8k.h R processors/ARM/gdb-7.10/include/demangle.h R processors/ARM/gdb-7.10/include/dis-asm.h R processors/ARM/gdb-7.10/include/dwarf2.def R processors/ARM/gdb-7.10/include/dwarf2.h R processors/ARM/gdb-7.10/include/dyn-string.h R processors/ARM/gdb-7.10/include/elf/ChangeLog R processors/ARM/gdb-7.10/include/elf/aarch64.h R processors/ARM/gdb-7.10/include/elf/alpha.h R processors/ARM/gdb-7.10/include/elf/arc.h R processors/ARM/gdb-7.10/include/elf/arm.h R processors/ARM/gdb-7.10/include/elf/avr.h R processors/ARM/gdb-7.10/include/elf/bfin.h R processors/ARM/gdb-7.10/include/elf/common.h R processors/ARM/gdb-7.10/include/elf/cr16.h R processors/ARM/gdb-7.10/include/elf/cr16c.h R processors/ARM/gdb-7.10/include/elf/cris.h R processors/ARM/gdb-7.10/include/elf/crx.h R processors/ARM/gdb-7.10/include/elf/d10v.h R processors/ARM/gdb-7.10/include/elf/d30v.h R processors/ARM/gdb-7.10/include/elf/dlx.h R processors/ARM/gdb-7.10/include/elf/dwarf.h R processors/ARM/gdb-7.10/include/elf/epiphany.h R processors/ARM/gdb-7.10/include/elf/external.h R processors/ARM/gdb-7.10/include/elf/fr30.h R processors/ARM/gdb-7.10/include/elf/frv.h R processors/ARM/gdb-7.10/include/elf/ft32.h R processors/ARM/gdb-7.10/include/elf/h8.h R processors/ARM/gdb-7.10/include/elf/hppa.h R processors/ARM/gdb-7.10/include/elf/i370.h R processors/ARM/gdb-7.10/include/elf/i386.h R processors/ARM/gdb-7.10/include/elf/i860.h R processors/ARM/gdb-7.10/include/elf/i960.h R processors/ARM/gdb-7.10/include/elf/ia64.h R processors/ARM/gdb-7.10/include/elf/internal.h R processors/ARM/gdb-7.10/include/elf/ip2k.h R processors/ARM/gdb-7.10/include/elf/iq2000.h R processors/ARM/gdb-7.10/include/elf/lm32.h R processors/ARM/gdb-7.10/include/elf/m32c.h R processors/ARM/gdb-7.10/include/elf/m32r.h R processors/ARM/gdb-7.10/include/elf/m68hc11.h R processors/ARM/gdb-7.10/include/elf/m68k.h R processors/ARM/gdb-7.10/include/elf/mcore.h R processors/ARM/gdb-7.10/include/elf/mep.h R processors/ARM/gdb-7.10/include/elf/metag.h R processors/ARM/gdb-7.10/include/elf/microblaze.h R processors/ARM/gdb-7.10/include/elf/mips.h R processors/ARM/gdb-7.10/include/elf/mmix.h R processors/ARM/gdb-7.10/include/elf/mn10200.h R processors/ARM/gdb-7.10/include/elf/mn10300.h R processors/ARM/gdb-7.10/include/elf/moxie.h R processors/ARM/gdb-7.10/include/elf/msp430.h R processors/ARM/gdb-7.10/include/elf/mt.h R processors/ARM/gdb-7.10/include/elf/nds32.h R processors/ARM/gdb-7.10/include/elf/nios2.h R processors/ARM/gdb-7.10/include/elf/or1k.h R processors/ARM/gdb-7.10/include/elf/pj.h R processors/ARM/gdb-7.10/include/elf/ppc.h R processors/ARM/gdb-7.10/include/elf/ppc64.h R processors/ARM/gdb-7.10/include/elf/reloc-macros.h R processors/ARM/gdb-7.10/include/elf/rl78.h R processors/ARM/gdb-7.10/include/elf/rx.h R processors/ARM/gdb-7.10/include/elf/s390.h R processors/ARM/gdb-7.10/include/elf/score.h R processors/ARM/gdb-7.10/include/elf/sh.h R processors/ARM/gdb-7.10/include/elf/sparc.h R processors/ARM/gdb-7.10/include/elf/spu.h R processors/ARM/gdb-7.10/include/elf/tic6x-attrs.h R processors/ARM/gdb-7.10/include/elf/tic6x.h R processors/ARM/gdb-7.10/include/elf/tilegx.h R processors/ARM/gdb-7.10/include/elf/tilepro.h R processors/ARM/gdb-7.10/include/elf/v850.h R processors/ARM/gdb-7.10/include/elf/vax.h R processors/ARM/gdb-7.10/include/elf/visium.h R processors/ARM/gdb-7.10/include/elf/vxworks.h R processors/ARM/gdb-7.10/include/elf/x86-64.h R processors/ARM/gdb-7.10/include/elf/xc16x.h R processors/ARM/gdb-7.10/include/elf/xgate.h R processors/ARM/gdb-7.10/include/elf/xstormy16.h R processors/ARM/gdb-7.10/include/elf/xtensa.h R processors/ARM/gdb-7.10/include/fibheap.h R processors/ARM/gdb-7.10/include/filenames.h R processors/ARM/gdb-7.10/include/floatformat.h R processors/ARM/gdb-7.10/include/fnmatch.h R processors/ARM/gdb-7.10/include/fopen-bin.h R processors/ARM/gdb-7.10/include/fopen-same.h R processors/ARM/gdb-7.10/include/fopen-vms.h R processors/ARM/gdb-7.10/include/gcc-c-fe.def R processors/ARM/gdb-7.10/include/gcc-c-interface.h R processors/ARM/gdb-7.10/include/gcc-interface.h R processors/ARM/gdb-7.10/include/gdb/ChangeLog R processors/ARM/gdb-7.10/include/gdb/callback.h R processors/ARM/gdb-7.10/include/gdb/fileio.h R processors/ARM/gdb-7.10/include/gdb/gdb-index.h R processors/ARM/gdb-7.10/include/gdb/remote-sim.h R processors/ARM/gdb-7.10/include/gdb/section-scripts.h R processors/ARM/gdb-7.10/include/gdb/signals.def R processors/ARM/gdb-7.10/include/gdb/signals.h R processors/ARM/gdb-7.10/include/gdb/sim-arm.h R processors/ARM/gdb-7.10/include/gdb/sim-bfin.h R processors/ARM/gdb-7.10/include/gdb/sim-cr16.h R processors/ARM/gdb-7.10/include/gdb/sim-d10v.h R processors/ARM/gdb-7.10/include/gdb/sim-frv.h R processors/ARM/gdb-7.10/include/gdb/sim-ft32.h R processors/ARM/gdb-7.10/include/gdb/sim-h8300.h R processors/ARM/gdb-7.10/include/gdb/sim-lm32.h R processors/ARM/gdb-7.10/include/gdb/sim-m32c.h R processors/ARM/gdb-7.10/include/gdb/sim-ppc.h R processors/ARM/gdb-7.10/include/gdb/sim-rl78.h R processors/ARM/gdb-7.10/include/gdb/sim-rx.h R processors/ARM/gdb-7.10/include/gdb/sim-sh.h R processors/ARM/gdb-7.10/include/getopt.h R processors/ARM/gdb-7.10/include/hashtab.h R processors/ARM/gdb-7.10/include/hp-symtab.h R processors/ARM/gdb-7.10/include/ieee.h R processors/ARM/gdb-7.10/include/leb128.h R processors/ARM/gdb-7.10/include/libiberty.h R processors/ARM/gdb-7.10/include/longlong.h R processors/ARM/gdb-7.10/include/lto-symtab.h R processors/ARM/gdb-7.10/include/mach-o/ChangeLog R processors/ARM/gdb-7.10/include/mach-o/arm.h R processors/ARM/gdb-7.10/include/mach-o/codesign.h R processors/ARM/gdb-7.10/include/mach-o/external.h R processors/ARM/gdb-7.10/include/mach-o/loader.h R processors/ARM/gdb-7.10/include/mach-o/reloc.h R processors/ARM/gdb-7.10/include/mach-o/unwind.h R processors/ARM/gdb-7.10/include/mach-o/x86-64.h R processors/ARM/gdb-7.10/include/md5.h R processors/ARM/gdb-7.10/include/nlm/ChangeLog R processors/ARM/gdb-7.10/include/nlm/alpha-ext.h R processors/ARM/gdb-7.10/include/nlm/common.h R processors/ARM/gdb-7.10/include/nlm/external.h R processors/ARM/gdb-7.10/include/nlm/i386-ext.h R processors/ARM/gdb-7.10/include/nlm/internal.h R processors/ARM/gdb-7.10/include/nlm/ppc-ext.h R processors/ARM/gdb-7.10/include/nlm/sparc32-ext.h R processors/ARM/gdb-7.10/include/oasys.h R processors/ARM/gdb-7.10/include/objalloc.h R processors/ARM/gdb-7.10/include/obstack.h R processors/ARM/gdb-7.10/include/opcode/ChangeLog R processors/ARM/gdb-7.10/include/opcode/aarch64.h R processors/ARM/gdb-7.10/include/opcode/alpha.h R processors/ARM/gdb-7.10/include/opcode/arc.h R processors/ARM/gdb-7.10/include/opcode/arm.h R processors/ARM/gdb-7.10/include/opcode/avr.h R processors/ARM/gdb-7.10/include/opcode/bfin.h R processors/ARM/gdb-7.10/include/opcode/cgen.h R processors/ARM/gdb-7.10/include/opcode/convex.h R processors/ARM/gdb-7.10/include/opcode/cr16.h R processors/ARM/gdb-7.10/include/opcode/cris.h R processors/ARM/gdb-7.10/include/opcode/crx.h R processors/ARM/gdb-7.10/include/opcode/d10v.h R processors/ARM/gdb-7.10/include/opcode/d30v.h R processors/ARM/gdb-7.10/include/opcode/dlx.h R processors/ARM/gdb-7.10/include/opcode/ft32.h R processors/ARM/gdb-7.10/include/opcode/h8300.h R processors/ARM/gdb-7.10/include/opcode/hppa.h R processors/ARM/gdb-7.10/include/opcode/i370.h R processors/ARM/gdb-7.10/include/opcode/i386.h R processors/ARM/gdb-7.10/include/opcode/i860.h R processors/ARM/gdb-7.10/include/opcode/i960.h R processors/ARM/gdb-7.10/include/opcode/ia64.h R processors/ARM/gdb-7.10/include/opcode/m68hc11.h R processors/ARM/gdb-7.10/include/opcode/m68k.h R processors/ARM/gdb-7.10/include/opcode/m88k.h R processors/ARM/gdb-7.10/include/opcode/metag.h R processors/ARM/gdb-7.10/include/opcode/mips.h R processors/ARM/gdb-7.10/include/opcode/mmix.h R processors/ARM/gdb-7.10/include/opcode/mn10200.h R processors/ARM/gdb-7.10/include/opcode/mn10300.h R processors/ARM/gdb-7.10/include/opcode/moxie.h R processors/ARM/gdb-7.10/include/opcode/msp430-decode.h R processors/ARM/gdb-7.10/include/opcode/msp430.h R processors/ARM/gdb-7.10/include/opcode/nds32.h R processors/ARM/gdb-7.10/include/opcode/nios2.h R processors/ARM/gdb-7.10/include/opcode/nios2r1.h R processors/ARM/gdb-7.10/include/opcode/nios2r2.h R processors/ARM/gdb-7.10/include/opcode/np1.h R processors/ARM/gdb-7.10/include/opcode/ns32k.h R processors/ARM/gdb-7.10/include/opcode/pdp11.h R processors/ARM/gdb-7.10/include/opcode/pj.h R processors/ARM/gdb-7.10/include/opcode/pn.h R processors/ARM/gdb-7.10/include/opcode/ppc.h R processors/ARM/gdb-7.10/include/opcode/pyr.h R processors/ARM/gdb-7.10/include/opcode/rl78.h R processors/ARM/gdb-7.10/include/opcode/rx.h R processors/ARM/gdb-7.10/include/opcode/s390.h R processors/ARM/gdb-7.10/include/opcode/score-datadep.h R processors/ARM/gdb-7.10/include/opcode/score-inst.h R processors/ARM/gdb-7.10/include/opcode/sparc.h R processors/ARM/gdb-7.10/include/opcode/spu-insns.h R processors/ARM/gdb-7.10/include/opcode/spu.h R processors/ARM/gdb-7.10/include/opcode/tahoe.h R processors/ARM/gdb-7.10/include/opcode/tic30.h R processors/ARM/gdb-7.10/include/opcode/tic4x.h R processors/ARM/gdb-7.10/include/opcode/tic54x.h R processors/ARM/gdb-7.10/include/opcode/tic6x-control-registers.h R processors/ARM/gdb-7.10/include/opcode/tic6x-insn-formats.h R processors/ARM/gdb-7.10/include/opcode/tic6x-opcode-table.h R processors/ARM/gdb-7.10/include/opcode/tic6x.h R processors/ARM/gdb-7.10/include/opcode/tic80.h R processors/ARM/gdb-7.10/include/opcode/tilegx.h R processors/ARM/gdb-7.10/include/opcode/tilepro.h R processors/ARM/gdb-7.10/include/opcode/v850.h R processors/ARM/gdb-7.10/include/opcode/vax.h R processors/ARM/gdb-7.10/include/opcode/visium.h R processors/ARM/gdb-7.10/include/opcode/xgate.h R processors/ARM/gdb-7.10/include/os9k.h R processors/ARM/gdb-7.10/include/partition.h R processors/ARM/gdb-7.10/include/plugin-api.h R processors/ARM/gdb-7.10/include/progress.h R processors/ARM/gdb-7.10/include/safe-ctype.h R processors/ARM/gdb-7.10/include/sha1.h R processors/ARM/gdb-7.10/include/simple-object.h R processors/ARM/gdb-7.10/include/som/aout.h R processors/ARM/gdb-7.10/include/som/clock.h R processors/ARM/gdb-7.10/include/som/internal.h R processors/ARM/gdb-7.10/include/som/lst.h R processors/ARM/gdb-7.10/include/som/reloc.h R processors/ARM/gdb-7.10/include/sort.h R processors/ARM/gdb-7.10/include/splay-tree.h R processors/ARM/gdb-7.10/include/symcat.h R processors/ARM/gdb-7.10/include/timeval-utils.h R processors/ARM/gdb-7.10/include/vms/dcx.h R processors/ARM/gdb-7.10/include/vms/dmt.h R processors/ARM/gdb-7.10/include/vms/dsc.h R processors/ARM/gdb-7.10/include/vms/dst.h R processors/ARM/gdb-7.10/include/vms/eeom.h R processors/ARM/gdb-7.10/include/vms/egps.h R processors/ARM/gdb-7.10/include/vms/egsd.h R processors/ARM/gdb-7.10/include/vms/egst.h R processors/ARM/gdb-7.10/include/vms/egsy.h R processors/ARM/gdb-7.10/include/vms/eiaf.h R processors/ARM/gdb-7.10/include/vms/eicp.h R processors/ARM/gdb-7.10/include/vms/eidc.h R processors/ARM/gdb-7.10/include/vms/eiha.h R processors/ARM/gdb-7.10/include/vms/eihd.h R processors/ARM/gdb-7.10/include/vms/eihi.h R processors/ARM/gdb-7.10/include/vms/eihs.h R processors/ARM/gdb-7.10/include/vms/eihvn.h R processors/ARM/gdb-7.10/include/vms/eisd.h R processors/ARM/gdb-7.10/include/vms/emh.h R processors/ARM/gdb-7.10/include/vms/eobjrec.h R processors/ARM/gdb-7.10/include/vms/esdf.h R processors/ARM/gdb-7.10/include/vms/esdfm.h R processors/ARM/gdb-7.10/include/vms/esdfv.h R processors/ARM/gdb-7.10/include/vms/esgps.h R processors/ARM/gdb-7.10/include/vms/esrf.h R processors/ARM/gdb-7.10/include/vms/etir.h R processors/ARM/gdb-7.10/include/vms/internal.h R processors/ARM/gdb-7.10/include/vms/lbr.h R processors/ARM/gdb-7.10/include/vms/prt.h R processors/ARM/gdb-7.10/include/vms/shl.h R processors/ARM/gdb-7.10/include/vtv-change-permission.h R processors/ARM/gdb-7.10/include/xregex2.h R processors/ARM/gdb-7.10/include/xtensa-config.h R processors/ARM/gdb-7.10/include/xtensa-isa-internal.h R processors/ARM/gdb-7.10/include/xtensa-isa.h R processors/ARM/gdb-7.10/libiberty/ChangeLog R processors/ARM/gdb-7.10/libiberty/Makefile.in R processors/ARM/gdb-7.10/libiberty/_doprnt.c R processors/ARM/gdb-7.10/libiberty/argv.c R processors/ARM/gdb-7.10/libiberty/asprintf.c R processors/ARM/gdb-7.10/libiberty/choose-temp.c R processors/ARM/gdb-7.10/libiberty/clock.c R processors/ARM/gdb-7.10/libiberty/concat.c R processors/ARM/gdb-7.10/libiberty/config.in R processors/ARM/gdb-7.10/libiberty/configure R processors/ARM/gdb-7.10/libiberty/configure.ac R processors/ARM/gdb-7.10/libiberty/copying-lib.texi R processors/ARM/gdb-7.10/libiberty/cp-demangle.c R processors/ARM/gdb-7.10/libiberty/cp-demangle.h R processors/ARM/gdb-7.10/libiberty/cp-demint.c R processors/ARM/gdb-7.10/libiberty/cplus-dem.c R processors/ARM/gdb-7.10/libiberty/crc32.c R processors/ARM/gdb-7.10/libiberty/d-demangle.c R processors/ARM/gdb-7.10/libiberty/dwarfnames.c R processors/ARM/gdb-7.10/libiberty/dyn-string.c R processors/ARM/gdb-7.10/libiberty/fdmatch.c R processors/ARM/gdb-7.10/libiberty/fibheap.c R processors/ARM/gdb-7.10/libiberty/filename_cmp.c R processors/ARM/gdb-7.10/libiberty/floatformat.c R processors/ARM/gdb-7.10/libiberty/fnmatch.c R processors/ARM/gdb-7.10/libiberty/fopen_unlocked.c R processors/ARM/gdb-7.10/libiberty/functions.texi R processors/ARM/gdb-7.10/libiberty/gather-docs R processors/ARM/gdb-7.10/libiberty/getopt.c R processors/ARM/gdb-7.10/libiberty/getopt1.c R processors/ARM/gdb-7.10/libiberty/getruntime.c R processors/ARM/gdb-7.10/libiberty/hashtab.c R processors/ARM/gdb-7.10/libiberty/hex.c R processors/ARM/gdb-7.10/libiberty/lbasename.c R processors/ARM/gdb-7.10/libiberty/libiberty.texi R processors/ARM/gdb-7.10/libiberty/lrealpath.c R processors/ARM/gdb-7.10/libiberty/maint-tool R processors/ARM/gdb-7.10/libiberty/make-relative-prefix.c R processors/ARM/gdb-7.10/libiberty/make-temp-file.c R processors/ARM/gdb-7.10/libiberty/md5.c R processors/ARM/gdb-7.10/libiberty/memmem.c R processors/ARM/gdb-7.10/libiberty/mempcpy.c R processors/ARM/gdb-7.10/libiberty/mkstemps.c R processors/ARM/gdb-7.10/libiberty/objalloc.c R processors/ARM/gdb-7.10/libiberty/obstack.c R processors/ARM/gdb-7.10/libiberty/obstacks.texi R processors/ARM/gdb-7.10/libiberty/partition.c R processors/ARM/gdb-7.10/libiberty/pex-common.c R processors/ARM/gdb-7.10/libiberty/pex-common.h R processors/ARM/gdb-7.10/libiberty/pex-djgpp.c R processors/ARM/gdb-7.10/libiberty/pex-msdos.c R processors/ARM/gdb-7.10/libiberty/pex-one.c R processors/ARM/gdb-7.10/libiberty/pex-unix.c R processors/ARM/gdb-7.10/libiberty/pex-win32.c R processors/ARM/gdb-7.10/libiberty/pexecute.c R processors/ARM/gdb-7.10/libiberty/physmem.c R processors/ARM/gdb-7.10/libiberty/putenv.c R processors/ARM/gdb-7.10/libiberty/regex.c R processors/ARM/gdb-7.10/libiberty/safe-ctype.c R processors/ARM/gdb-7.10/libiberty/setenv.c R processors/ARM/gdb-7.10/libiberty/setproctitle.c R processors/ARM/gdb-7.10/libiberty/sha1.c R processors/ARM/gdb-7.10/libiberty/simple-object-coff.c R processors/ARM/gdb-7.10/libiberty/simple-object-common.h R processors/ARM/gdb-7.10/libiberty/simple-object-elf.c R processors/ARM/gdb-7.10/libiberty/simple-object-mach-o.c R processors/ARM/gdb-7.10/libiberty/simple-object-xcoff.c R processors/ARM/gdb-7.10/libiberty/simple-object.c R processors/ARM/gdb-7.10/libiberty/snprintf.c R processors/ARM/gdb-7.10/libiberty/sort.c R processors/ARM/gdb-7.10/libiberty/spaces.c R processors/ARM/gdb-7.10/libiberty/splay-tree.c R processors/ARM/gdb-7.10/libiberty/stack-limit.c R processors/ARM/gdb-7.10/libiberty/stpcpy.c R processors/ARM/gdb-7.10/libiberty/stpncpy.c R processors/ARM/gdb-7.10/libiberty/strndup.c R processors/ARM/gdb-7.10/libiberty/strtod.c R processors/ARM/gdb-7.10/libiberty/strverscmp.c R processors/ARM/gdb-7.10/libiberty/testsuite/Makefile.in R processors/ARM/gdb-7.10/libiberty/testsuite/d-demangle-expected R processors/ARM/gdb-7.10/libiberty/testsuite/demangle-expected R processors/ARM/gdb-7.10/libiberty/testsuite/demangler-fuzzer.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-demangle.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-expandargv.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-pexecute.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-strtol.c R processors/ARM/gdb-7.10/libiberty/timeval-utils.c R processors/ARM/gdb-7.10/libiberty/unlink-if-ordinary.c R processors/ARM/gdb-7.10/libiberty/vasprintf.c R processors/ARM/gdb-7.10/libiberty/vfprintf.c R processors/ARM/gdb-7.10/libiberty/vprintf-support.c R processors/ARM/gdb-7.10/libiberty/vprintf-support.h R processors/ARM/gdb-7.10/libiberty/vsnprintf.c R processors/ARM/gdb-7.10/libiberty/vsprintf.c R processors/ARM/gdb-7.10/libiberty/waitpid.c R processors/ARM/gdb-7.10/libiberty/xasprintf.c R processors/ARM/gdb-7.10/libiberty/xexit.c R processors/ARM/gdb-7.10/libiberty/xmalloc.c R processors/ARM/gdb-7.10/libiberty/xmemdup.c R processors/ARM/gdb-7.10/libiberty/xstrndup.c R processors/ARM/gdb-7.10/libiberty/xvasprintf.c R processors/ARM/gdb-7.10/md5.sum R processors/ARM/gdb-7.10/missing R processors/ARM/gdb-7.10/mkdep R processors/ARM/gdb-7.10/opcodes/ChangeLog R processors/ARM/gdb-7.10/opcodes/ChangeLog-0001 R processors/ARM/gdb-7.10/opcodes/ChangeLog-0203 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2004 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2005 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2006 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2007 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2008 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2009 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2010 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2011 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2012 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2013 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2014 R processors/ARM/gdb-7.10/opcodes/ChangeLog-9297 R processors/ARM/gdb-7.10/opcodes/ChangeLog-9899 R processors/ARM/gdb-7.10/opcodes/MAINTAINERS R processors/ARM/gdb-7.10/opcodes/Makefile.am R processors/ARM/gdb-7.10/opcodes/Makefile.in R processors/ARM/gdb-7.10/opcodes/aarch64-asm-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-asm.c R processors/ARM/gdb-7.10/opcodes/aarch64-asm.h R processors/ARM/gdb-7.10/opcodes/aarch64-dis-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-dis.c R processors/ARM/gdb-7.10/opcodes/aarch64-dis.h R processors/ARM/gdb-7.10/opcodes/aarch64-gen.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc.h R processors/ARM/gdb-7.10/opcodes/aarch64-tbl.h R processors/ARM/gdb-7.10/opcodes/aclocal.m4 R processors/ARM/gdb-7.10/opcodes/alpha-dis.c R processors/ARM/gdb-7.10/opcodes/alpha-opc.c R processors/ARM/gdb-7.10/opcodes/arc-dis.c R processors/ARM/gdb-7.10/opcodes/arc-dis.h R processors/ARM/gdb-7.10/opcodes/arc-ext.c R processors/ARM/gdb-7.10/opcodes/arc-ext.h R processors/ARM/gdb-7.10/opcodes/arc-opc.c R processors/ARM/gdb-7.10/opcodes/arm-dis.c R processors/ARM/gdb-7.10/opcodes/avr-dis.c R processors/ARM/gdb-7.10/opcodes/bfin-dis.c R processors/ARM/gdb-7.10/opcodes/cgen-asm.c R processors/ARM/gdb-7.10/opcodes/cgen-asm.in R processors/ARM/gdb-7.10/opcodes/cgen-bitset.c R processors/ARM/gdb-7.10/opcodes/cgen-dis.c R processors/ARM/gdb-7.10/opcodes/cgen-dis.in R processors/ARM/gdb-7.10/opcodes/cgen-ibld.in R processors/ARM/gdb-7.10/opcodes/cgen-opc.c R processors/ARM/gdb-7.10/opcodes/cgen.sh R processors/ARM/gdb-7.10/opcodes/configure R processors/ARM/gdb-7.10/opcodes/configure.ac R processors/ARM/gdb-7.10/opcodes/configure.com R processors/ARM/gdb-7.10/opcodes/cr16-dis.c R processors/ARM/gdb-7.10/opcodes/cr16-opc.c R processors/ARM/gdb-7.10/opcodes/cris-dis.c R processors/ARM/gdb-7.10/opcodes/cris-opc.c R processors/ARM/gdb-7.10/opcodes/crx-dis.c R processors/ARM/gdb-7.10/opcodes/crx-opc.c R processors/ARM/gdb-7.10/opcodes/d10v-dis.c R processors/ARM/gdb-7.10/opcodes/d10v-opc.c R processors/ARM/gdb-7.10/opcodes/d30v-dis.c R processors/ARM/gdb-7.10/opcodes/d30v-opc.c R processors/ARM/gdb-7.10/opcodes/dis-buf.c R processors/ARM/gdb-7.10/opcodes/dis-init.c R processors/ARM/gdb-7.10/opcodes/disassemble.c R processors/ARM/gdb-7.10/opcodes/dlx-dis.c R processors/ARM/gdb-7.10/opcodes/epiphany-asm.c R processors/ARM/gdb-7.10/opcodes/epiphany-desc.c R processors/ARM/gdb-7.10/opcodes/epiphany-desc.h R processors/ARM/gdb-7.10/opcodes/epiphany-dis.c R processors/ARM/gdb-7.10/opcodes/epiphany-ibld.c R processors/ARM/gdb-7.10/opcodes/epiphany-opc.c R processors/ARM/gdb-7.10/opcodes/epiphany-opc.h R processors/ARM/gdb-7.10/opcodes/fr30-asm.c R processors/ARM/gdb-7.10/opcodes/fr30-desc.c R processors/ARM/gdb-7.10/opcodes/fr30-desc.h R processors/ARM/gdb-7.10/opcodes/fr30-dis.c R processors/ARM/gdb-7.10/opcodes/fr30-ibld.c R processors/ARM/gdb-7.10/opcodes/fr30-opc.c R processors/ARM/gdb-7.10/opcodes/fr30-opc.h R processors/ARM/gdb-7.10/opcodes/frv-asm.c R processors/ARM/gdb-7.10/opcodes/frv-desc.c R processors/ARM/gdb-7.10/opcodes/frv-desc.h R processors/ARM/gdb-7.10/opcodes/frv-dis.c R processors/ARM/gdb-7.10/opcodes/frv-ibld.c R processors/ARM/gdb-7.10/opcodes/frv-opc.c R processors/ARM/gdb-7.10/opcodes/frv-opc.h R processors/ARM/gdb-7.10/opcodes/ft32-dis.c R processors/ARM/gdb-7.10/opcodes/ft32-opc.c R processors/ARM/gdb-7.10/opcodes/h8300-dis.c R processors/ARM/gdb-7.10/opcodes/h8500-dis.c R processors/ARM/gdb-7.10/opcodes/h8500-opc.h R processors/ARM/gdb-7.10/opcodes/hppa-dis.c R processors/ARM/gdb-7.10/opcodes/i370-dis.c R processors/ARM/gdb-7.10/opcodes/i370-opc.c R processors/ARM/gdb-7.10/opcodes/i386-dis-evex.h R processors/ARM/gdb-7.10/opcodes/i386-dis.c R processors/ARM/gdb-7.10/opcodes/i386-gen.c R processors/ARM/gdb-7.10/opcodes/i386-init.h R processors/ARM/gdb-7.10/opcodes/i386-opc.c R processors/ARM/gdb-7.10/opcodes/i386-opc.h R processors/ARM/gdb-7.10/opcodes/i386-opc.tbl R processors/ARM/gdb-7.10/opcodes/i386-reg.tbl R processors/ARM/gdb-7.10/opcodes/i386-tbl.h R processors/ARM/gdb-7.10/opcodes/i860-dis.c R processors/ARM/gdb-7.10/opcodes/i960-dis.c R processors/ARM/gdb-7.10/opcodes/ia64-asmtab.c R processors/ARM/gdb-7.10/opcodes/ia64-asmtab.h R processors/ARM/gdb-7.10/opcodes/ia64-dis.c R processors/ARM/gdb-7.10/opcodes/ia64-gen.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-a.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-b.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-d.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-f.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-i.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-m.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-x.c R processors/ARM/gdb-7.10/opcodes/ia64-opc.c R processors/ARM/gdb-7.10/opcodes/ia64-opc.h R processors/ARM/gdb-7.10/opcodes/ip2k-asm.c R processors/ARM/gdb-7.10/opcodes/ip2k-desc.c R processors/ARM/gdb-7.10/opcodes/ip2k-desc.h R processors/ARM/gdb-7.10/opcodes/ip2k-dis.c R processors/ARM/gdb-7.10/opcodes/ip2k-ibld.c R processors/ARM/gdb-7.10/opcodes/ip2k-opc.c R processors/ARM/gdb-7.10/opcodes/ip2k-opc.h R processors/ARM/gdb-7.10/opcodes/iq2000-asm.c R processors/ARM/gdb-7.10/opcodes/iq2000-desc.c R processors/ARM/gdb-7.10/opcodes/iq2000-desc.h R processors/ARM/gdb-7.10/opcodes/iq2000-dis.c R processors/ARM/gdb-7.10/opcodes/iq2000-ibld.c R processors/ARM/gdb-7.10/opcodes/iq2000-opc.c R processors/ARM/gdb-7.10/opcodes/iq2000-opc.h R processors/ARM/gdb-7.10/opcodes/lm32-asm.c R processors/ARM/gdb-7.10/opcodes/lm32-desc.c R processors/ARM/gdb-7.10/opcodes/lm32-desc.h R processors/ARM/gdb-7.10/opcodes/lm32-dis.c R processors/ARM/gdb-7.10/opcodes/lm32-ibld.c R processors/ARM/gdb-7.10/opcodes/lm32-opc.c R processors/ARM/gdb-7.10/opcodes/lm32-opc.h R processors/ARM/gdb-7.10/opcodes/lm32-opinst.c R processors/ARM/gdb-7.10/opcodes/m10200-dis.c R processors/ARM/gdb-7.10/opcodes/m10200-opc.c R processors/ARM/gdb-7.10/opcodes/m10300-dis.c R processors/ARM/gdb-7.10/opcodes/m10300-opc.c R processors/ARM/gdb-7.10/opcodes/m32c-asm.c R processors/ARM/gdb-7.10/opcodes/m32c-desc.c R processors/ARM/gdb-7.10/opcodes/m32c-desc.h R processors/ARM/gdb-7.10/opcodes/m32c-dis.c R processors/ARM/gdb-7.10/opcodes/m32c-ibld.c R processors/ARM/gdb-7.10/opcodes/m32c-opc.c R processors/ARM/gdb-7.10/opcodes/m32c-opc.h R processors/ARM/gdb-7.10/opcodes/m32r-asm.c R processors/ARM/gdb-7.10/opcodes/m32r-desc.c R processors/ARM/gdb-7.10/opcodes/m32r-desc.h R processors/ARM/gdb-7.10/opcodes/m32r-dis.c R processors/ARM/gdb-7.10/opcodes/m32r-ibld.c R processors/ARM/gdb-7.10/opcodes/m32r-opc.c R processors/ARM/gdb-7.10/opcodes/m32r-opc.h R processors/ARM/gdb-7.10/opcodes/m32r-opinst.c R processors/ARM/gdb-7.10/opcodes/m68hc11-dis.c R processors/ARM/gdb-7.10/opcodes/m68hc11-opc.c R processors/ARM/gdb-7.10/opcodes/m68k-dis.c R processors/ARM/gdb-7.10/opcodes/m68k-opc.c R processors/ARM/gdb-7.10/opcodes/m88k-dis.c R processors/ARM/gdb-7.10/opcodes/makefile.vms R processors/ARM/gdb-7.10/opcodes/mcore-dis.c R processors/ARM/gdb-7.10/opcodes/mcore-opc.h R processors/ARM/gdb-7.10/opcodes/mep-asm.c R processors/ARM/gdb-7.10/opcodes/mep-desc.c R processors/ARM/gdb-7.10/opcodes/mep-desc.h R processors/ARM/gdb-7.10/opcodes/mep-dis.c R processors/ARM/gdb-7.10/opcodes/mep-ibld.c R processors/ARM/gdb-7.10/opcodes/mep-opc.c R processors/ARM/gdb-7.10/opcodes/mep-opc.h R processors/ARM/gdb-7.10/opcodes/metag-dis.c R processors/ARM/gdb-7.10/opcodes/microblaze-dis.c R processors/ARM/gdb-7.10/opcodes/microblaze-dis.h R processors/ARM/gdb-7.10/opcodes/microblaze-opc.h R processors/ARM/gdb-7.10/opcodes/microblaze-opcm.h R processors/ARM/gdb-7.10/opcodes/micromips-opc.c R processors/ARM/gdb-7.10/opcodes/mips-dis.c R processors/ARM/gdb-7.10/opcodes/mips-formats.h R processors/ARM/gdb-7.10/opcodes/mips-opc.c R processors/ARM/gdb-7.10/opcodes/mips16-opc.c R processors/ARM/gdb-7.10/opcodes/mmix-dis.c R processors/ARM/gdb-7.10/opcodes/mmix-opc.c R processors/ARM/gdb-7.10/opcodes/moxie-dis.c R processors/ARM/gdb-7.10/opcodes/moxie-opc.c R processors/ARM/gdb-7.10/opcodes/msp430-decode.c R processors/ARM/gdb-7.10/opcodes/msp430-decode.opc R processors/ARM/gdb-7.10/opcodes/msp430-dis.c R processors/ARM/gdb-7.10/opcodes/mt-asm.c R processors/ARM/gdb-7.10/opcodes/mt-desc.c R processors/ARM/gdb-7.10/opcodes/mt-desc.h R processors/ARM/gdb-7.10/opcodes/mt-dis.c R processors/ARM/gdb-7.10/opcodes/mt-ibld.c R processors/ARM/gdb-7.10/opcodes/mt-opc.c R processors/ARM/gdb-7.10/opcodes/mt-opc.h R processors/ARM/gdb-7.10/opcodes/nds32-asm.c R processors/ARM/gdb-7.10/opcodes/nds32-asm.h R processors/ARM/gdb-7.10/opcodes/nds32-dis.c R processors/ARM/gdb-7.10/opcodes/nds32-opc.h R processors/ARM/gdb-7.10/opcodes/nios2-dis.c R processors/ARM/gdb-7.10/opcodes/nios2-opc.c R processors/ARM/gdb-7.10/opcodes/ns32k-dis.c R processors/ARM/gdb-7.10/opcodes/opc2c.c R processors/ARM/gdb-7.10/opcodes/opintl.h R processors/ARM/gdb-7.10/opcodes/or1k-asm.c R processors/ARM/gdb-7.10/opcodes/or1k-desc.c R processors/ARM/gdb-7.10/opcodes/or1k-desc.h R processors/ARM/gdb-7.10/opcodes/or1k-dis.c R processors/ARM/gdb-7.10/opcodes/or1k-ibld.c R processors/ARM/gdb-7.10/opcodes/or1k-opc.c R processors/ARM/gdb-7.10/opcodes/or1k-opc.h R processors/ARM/gdb-7.10/opcodes/or1k-opinst.c R processors/ARM/gdb-7.10/opcodes/pdp11-dis.c R processors/ARM/gdb-7.10/opcodes/pdp11-opc.c R processors/ARM/gdb-7.10/opcodes/pj-dis.c R processors/ARM/gdb-7.10/opcodes/pj-opc.c R processors/ARM/gdb-7.10/opcodes/po/Make-in R processors/ARM/gdb-7.10/opcodes/po/POTFILES.in R processors/ARM/gdb-7.10/opcodes/po/da.gmo R processors/ARM/gdb-7.10/opcodes/po/da.po R processors/ARM/gdb-7.10/opcodes/po/de.gmo R processors/ARM/gdb-7.10/opcodes/po/de.po R processors/ARM/gdb-7.10/opcodes/po/es.gmo R processors/ARM/gdb-7.10/opcodes/po/es.po R processors/ARM/gdb-7.10/opcodes/po/fi.gmo R processors/ARM/gdb-7.10/opcodes/po/fi.po R processors/ARM/gdb-7.10/opcodes/po/fr.gmo R processors/ARM/gdb-7.10/opcodes/po/fr.po R processors/ARM/gdb-7.10/opcodes/po/ga.gmo R processors/ARM/gdb-7.10/opcodes/po/ga.po R processors/ARM/gdb-7.10/opcodes/po/id.gmo R processors/ARM/gdb-7.10/opcodes/po/id.po R processors/ARM/gdb-7.10/opcodes/po/it.gmo R processors/ARM/gdb-7.10/opcodes/po/it.po R processors/ARM/gdb-7.10/opcodes/po/nl.gmo R processors/ARM/gdb-7.10/opcodes/po/nl.po R processors/ARM/gdb-7.10/opcodes/po/opcodes.pot R processors/ARM/gdb-7.10/opcodes/po/pt_BR.gmo R processors/ARM/gdb-7.10/opcodes/po/pt_BR.po R processors/ARM/gdb-7.10/opcodes/po/ro.gmo R processors/ARM/gdb-7.10/opcodes/po/ro.po R processors/ARM/gdb-7.10/opcodes/po/sv.gmo R processors/ARM/gdb-7.10/opcodes/po/sv.po R processors/ARM/gdb-7.10/opcodes/po/tr.gmo R processors/ARM/gdb-7.10/opcodes/po/tr.po R processors/ARM/gdb-7.10/opcodes/po/uk.gmo R processors/ARM/gdb-7.10/opcodes/po/uk.po R processors/ARM/gdb-7.10/opcodes/po/vi.gmo R processors/ARM/gdb-7.10/opcodes/po/vi.po R processors/ARM/gdb-7.10/opcodes/po/zh_CN.gmo R processors/ARM/gdb-7.10/opcodes/po/zh_CN.po R processors/ARM/gdb-7.10/opcodes/ppc-dis.c R processors/ARM/gdb-7.10/opcodes/ppc-opc.c R processors/ARM/gdb-7.10/opcodes/rl78-decode.c R processors/ARM/gdb-7.10/opcodes/rl78-decode.opc R processors/ARM/gdb-7.10/opcodes/rl78-dis.c R processors/ARM/gdb-7.10/opcodes/rx-decode.c R processors/ARM/gdb-7.10/opcodes/rx-decode.opc R processors/ARM/gdb-7.10/opcodes/rx-dis.c R processors/ARM/gdb-7.10/opcodes/s390-dis.c R processors/ARM/gdb-7.10/opcodes/s390-mkopc.c R processors/ARM/gdb-7.10/opcodes/s390-opc.c R processors/ARM/gdb-7.10/opcodes/s390-opc.txt R processors/ARM/gdb-7.10/opcodes/score-dis.c R processors/ARM/gdb-7.10/opcodes/score-opc.h R processors/ARM/gdb-7.10/opcodes/score7-dis.c R processors/ARM/gdb-7.10/opcodes/sh-dis.c R processors/ARM/gdb-7.10/opcodes/sh-opc.h R processors/ARM/gdb-7.10/opcodes/sh64-dis.c R processors/ARM/gdb-7.10/opcodes/sh64-opc.c R processors/ARM/gdb-7.10/opcodes/sh64-opc.h R processors/ARM/gdb-7.10/opcodes/sparc-dis.c R processors/ARM/gdb-7.10/opcodes/sparc-opc.c R processors/ARM/gdb-7.10/opcodes/spu-dis.c R processors/ARM/gdb-7.10/opcodes/spu-opc.c R processors/ARM/gdb-7.10/opcodes/sysdep.h R processors/ARM/gdb-7.10/opcodes/tic30-dis.c R processors/ARM/gdb-7.10/opcodes/tic4x-dis.c R processors/ARM/gdb-7.10/opcodes/tic54x-dis.c R processors/ARM/gdb-7.10/opcodes/tic54x-opc.c R processors/ARM/gdb-7.10/opcodes/tic6x-dis.c R processors/ARM/gdb-7.10/opcodes/tic80-dis.c R processors/ARM/gdb-7.10/opcodes/tic80-opc.c R processors/ARM/gdb-7.10/opcodes/tilegx-dis.c R processors/ARM/gdb-7.10/opcodes/tilegx-opc.c R processors/ARM/gdb-7.10/opcodes/tilepro-dis.c R processors/ARM/gdb-7.10/opcodes/tilepro-opc.c R processors/ARM/gdb-7.10/opcodes/v850-dis.c R processors/ARM/gdb-7.10/opcodes/v850-opc.c R processors/ARM/gdb-7.10/opcodes/vax-dis.c R processors/ARM/gdb-7.10/opcodes/visium-dis.c R processors/ARM/gdb-7.10/opcodes/visium-opc.c R processors/ARM/gdb-7.10/opcodes/w65-dis.c R processors/ARM/gdb-7.10/opcodes/w65-opc.h R processors/ARM/gdb-7.10/opcodes/xc16x-asm.c R processors/ARM/gdb-7.10/opcodes/xc16x-desc.c R processors/ARM/gdb-7.10/opcodes/xc16x-desc.h R processors/ARM/gdb-7.10/opcodes/xc16x-dis.c R processors/ARM/gdb-7.10/opcodes/xc16x-ibld.c R processors/ARM/gdb-7.10/opcodes/xc16x-opc.c R processors/ARM/gdb-7.10/opcodes/xc16x-opc.h R processors/ARM/gdb-7.10/opcodes/xgate-dis.c R processors/ARM/gdb-7.10/opcodes/xgate-opc.c R processors/ARM/gdb-7.10/opcodes/xstormy16-asm.c R processors/ARM/gdb-7.10/opcodes/xstormy16-desc.c R processors/ARM/gdb-7.10/opcodes/xstormy16-desc.h R processors/ARM/gdb-7.10/opcodes/xstormy16-dis.c R processors/ARM/gdb-7.10/opcodes/xstormy16-ibld.c R processors/ARM/gdb-7.10/opcodes/xstormy16-opc.c R processors/ARM/gdb-7.10/opcodes/xstormy16-opc.h R processors/ARM/gdb-7.10/opcodes/xtensa-dis.c R processors/ARM/gdb-7.10/opcodes/z80-dis.c R processors/ARM/gdb-7.10/opcodes/z8k-dis.c R processors/ARM/gdb-7.10/opcodes/z8k-opc.h R processors/ARM/gdb-7.10/opcodes/z8kgen.c R processors/ARM/gdb-7.10/sim/.gitignore R processors/ARM/gdb-7.10/sim/ChangeLog R processors/ARM/gdb-7.10/sim/MAINTAINERS R processors/ARM/gdb-7.10/sim/Makefile.in R processors/ARM/gdb-7.10/sim/README-HACKING R processors/ARM/gdb-7.10/sim/arm/ChangeLog R processors/ARM/gdb-7.10/sim/arm/GdbARMPlugin.h R processors/ARM/gdb-7.10/sim/arm/Makefile.in R processors/ARM/gdb-7.10/sim/arm/aclocal.m4 R processors/ARM/gdb-7.10/sim/arm/armcopro.c R processors/ARM/gdb-7.10/sim/arm/armdefs.h R processors/ARM/gdb-7.10/sim/arm/armemu.c R processors/ARM/gdb-7.10/sim/arm/armfpe.h R processors/ARM/gdb-7.10/sim/arm/arminit.c R processors/ARM/gdb-7.10/sim/arm/armopts.h R processors/ARM/gdb-7.10/sim/arm/armos.c R processors/ARM/gdb-7.10/sim/arm/armos.h R processors/ARM/gdb-7.10/sim/arm/armrdi.c R processors/ARM/gdb-7.10/sim/arm/armsupp.c R processors/ARM/gdb-7.10/sim/arm/armulmem.c R processors/ARM/gdb-7.10/sim/arm/armvirt.c R processors/ARM/gdb-7.10/sim/arm/bag.c R processors/ARM/gdb-7.10/sim/arm/bag.h R processors/ARM/gdb-7.10/sim/arm/communicate.c R processors/ARM/gdb-7.10/sim/arm/communicate.h R processors/ARM/gdb-7.10/sim/arm/config.in R processors/ARM/gdb-7.10/sim/arm/configure R processors/ARM/gdb-7.10/sim/arm/configure.ac R processors/ARM/gdb-7.10/sim/arm/dbg_conf.h R processors/ARM/gdb-7.10/sim/arm/dbg_cp.h R processors/ARM/gdb-7.10/sim/arm/dbg_hif.h R processors/ARM/gdb-7.10/sim/arm/dbg_rdi.h R processors/ARM/gdb-7.10/sim/arm/gdbhost.c R processors/ARM/gdb-7.10/sim/arm/gdbhost.h R processors/ARM/gdb-7.10/sim/arm/hw-config.h R processors/ARM/gdb-7.10/sim/arm/iwmmxt.c R processors/ARM/gdb-7.10/sim/arm/iwmmxt.h R processors/ARM/gdb-7.10/sim/arm/kid.c R processors/ARM/gdb-7.10/sim/arm/libtool R processors/ARM/gdb-7.10/sim/arm/main.c R processors/ARM/gdb-7.10/sim/arm/maverick.c R processors/ARM/gdb-7.10/sim/arm/parent.c R processors/ARM/gdb-7.10/sim/arm/sim-main.h R processors/ARM/gdb-7.10/sim/arm/thumbemu.c R processors/ARM/gdb-7.10/sim/arm/version.c R processors/ARM/gdb-7.10/sim/arm/wrapper.c R processors/ARM/gdb-7.10/sim/avr/ChangeLog R processors/ARM/gdb-7.10/sim/avr/Makefile.in R processors/ARM/gdb-7.10/sim/avr/aclocal.m4 R processors/ARM/gdb-7.10/sim/avr/config.in R processors/ARM/gdb-7.10/sim/avr/configure R processors/ARM/gdb-7.10/sim/avr/configure.ac R processors/ARM/gdb-7.10/sim/avr/interp.c R processors/ARM/gdb-7.10/sim/avr/sim-main.h R processors/ARM/gdb-7.10/sim/bfin/ChangeLog R processors/ARM/gdb-7.10/sim/bfin/Makefile.in R processors/ARM/gdb-7.10/sim/bfin/TODO R processors/ARM/gdb-7.10/sim/bfin/aclocal.m4 R processors/ARM/gdb-7.10/sim/bfin/bfin-sim.c R processors/ARM/gdb-7.10/sim/bfin/bfin-sim.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/all.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf50x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf51x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf51x-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf51x-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf526-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf526-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf526-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf527-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf527-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf527-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf533-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf533-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf533-0.3.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf537-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf537-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf537-0.3.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf538-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.4.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.4.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf561-0.5.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf59x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf59x_l1-0.1.h R processors/ARM/gdb-7.10/sim/bfin/config.in R processors/ARM/gdb-7.10/sim/bfin/configure R processors/ARM/gdb-7.10/sim/bfin/configure.ac R processors/ARM/gdb-7.10/sim/bfin/devices.c R processors/ARM/gdb-7.10/sim/bfin/devices.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_cec.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_cec.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ctimer.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ctimer.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dma.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dma.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dmac.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dmac.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_amc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_amc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_ddrc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_ddrc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_sdc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_sdc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_emac.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_emac.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_eppi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_eppi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_evt.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_evt.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio2.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio2.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gptimer.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gptimer.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_jtag.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_jtag.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_mmu.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_mmu.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_nfc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_nfc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_otp.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_otp.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pfmon.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pfmon.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pint.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pint.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pll.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pll.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ppi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ppi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_rtc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_rtc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_sic.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_sic.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_spi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_spi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_trace.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_trace.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_twi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_twi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart2.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart2.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wdog.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wdog.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wp.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wp.h R processors/ARM/gdb-7.10/sim/bfin/dv-eth_phy.c R processors/ARM/gdb-7.10/sim/bfin/gui.c R processors/ARM/gdb-7.10/sim/bfin/gui.h R processors/ARM/gdb-7.10/sim/bfin/insn_list.def R processors/ARM/gdb-7.10/sim/bfin/interp.c R processors/ARM/gdb-7.10/sim/bfin/linux-fixed-code.h R processors/ARM/gdb-7.10/sim/bfin/linux-fixed-code.s R processors/ARM/gdb-7.10/sim/bfin/linux-targ-map.h R processors/ARM/gdb-7.10/sim/bfin/machs.c R processors/ARM/gdb-7.10/sim/bfin/machs.h R processors/ARM/gdb-7.10/sim/bfin/proc_list.def R processors/ARM/gdb-7.10/sim/bfin/sim-main.h R processors/ARM/gdb-7.10/sim/bfin/tconfig.h R processors/ARM/gdb-7.10/sim/common/ChangeLog R processors/ARM/gdb-7.10/sim/common/Make-common.in R processors/ARM/gdb-7.10/sim/common/Makefile.in R processors/ARM/gdb-7.10/sim/common/acinclude.m4 R processors/ARM/gdb-7.10/sim/common/aclocal.m4 R processors/ARM/gdb-7.10/sim/common/callback.c R processors/ARM/gdb-7.10/sim/common/cgen-accfp.c R processors/ARM/gdb-7.10/sim/common/cgen-cpu.h R processors/ARM/gdb-7.10/sim/common/cgen-defs.h R processors/ARM/gdb-7.10/sim/common/cgen-engine.h R processors/ARM/gdb-7.10/sim/common/cgen-fpu.h R processors/ARM/gdb-7.10/sim/common/cgen-mem.h R processors/ARM/gdb-7.10/sim/common/cgen-ops.h R processors/ARM/gdb-7.10/sim/common/cgen-par.c R processors/ARM/gdb-7.10/sim/common/cgen-par.h R processors/ARM/gdb-7.10/sim/common/cgen-run.c R processors/ARM/gdb-7.10/sim/common/cgen-scache.c R processors/ARM/gdb-7.10/sim/common/cgen-scache.h R processors/ARM/gdb-7.10/sim/common/cgen-sim.h R processors/ARM/gdb-7.10/sim/common/cgen-trace.c R processors/ARM/gdb-7.10/sim/common/cgen-trace.h R processors/ARM/gdb-7.10/sim/common/cgen-types.h R processors/ARM/gdb-7.10/sim/common/cgen-utils.c R processors/ARM/gdb-7.10/sim/common/config.in R processors/ARM/gdb-7.10/sim/common/configure R processors/ARM/gdb-7.10/sim/common/configure.ac R processors/ARM/gdb-7.10/sim/common/dv-cfi.c R processors/ARM/gdb-7.10/sim/common/dv-cfi.h R processors/ARM/gdb-7.10/sim/common/dv-core.c R processors/ARM/gdb-7.10/sim/common/dv-glue.c R processors/ARM/gdb-7.10/sim/common/dv-pal.c R processors/ARM/gdb-7.10/sim/common/dv-sockser.c R processors/ARM/gdb-7.10/sim/common/dv-sockser.h R processors/ARM/gdb-7.10/sim/common/genmloop.sh R processors/ARM/gdb-7.10/sim/common/gentmap.c R processors/ARM/gdb-7.10/sim/common/hw-alloc.c R processors/ARM/gdb-7.10/sim/common/hw-alloc.h R processors/ARM/gdb-7.10/sim/common/hw-base.c R processors/ARM/gdb-7.10/sim/common/hw-base.h R processors/ARM/gdb-7.10/sim/common/hw-device.c R processors/ARM/gdb-7.10/sim/common/hw-device.h R processors/ARM/gdb-7.10/sim/common/hw-events.c R processors/ARM/gdb-7.10/sim/common/hw-events.h R processors/ARM/gdb-7.10/sim/common/hw-handles.c R processors/ARM/gdb-7.10/sim/common/hw-handles.h R processors/ARM/gdb-7.10/sim/common/hw-instances.c R processors/ARM/gdb-7.10/sim/common/hw-instances.h R processors/ARM/gdb-7.10/sim/common/hw-main.h R processors/ARM/gdb-7.10/sim/common/hw-ports.c R processors/ARM/gdb-7.10/sim/common/hw-ports.h R processors/ARM/gdb-7.10/sim/common/hw-properties.c R processors/ARM/gdb-7.10/sim/common/hw-properties.h R processors/ARM/gdb-7.10/sim/common/hw-tree.c R processors/ARM/gdb-7.10/sim/common/hw-tree.h R processors/ARM/gdb-7.10/sim/common/libtool R processors/ARM/gdb-7.10/sim/common/nrun.c R processors/ARM/gdb-7.10/sim/common/run.1 R processors/ARM/gdb-7.10/sim/common/sim-abort.c R processors/ARM/gdb-7.10/sim/common/sim-alu.h R processors/ARM/gdb-7.10/sim/common/sim-arange.c R processors/ARM/gdb-7.10/sim/common/sim-arange.h R processors/ARM/gdb-7.10/sim/common/sim-assert.h R processors/ARM/gdb-7.10/sim/common/sim-base.h R processors/ARM/gdb-7.10/sim/common/sim-basics.h R processors/ARM/gdb-7.10/sim/common/sim-bits.c R processors/ARM/gdb-7.10/sim/common/sim-bits.h R processors/ARM/gdb-7.10/sim/common/sim-command.c R processors/ARM/gdb-7.10/sim/common/sim-config.c R processors/ARM/gdb-7.10/sim/common/sim-config.h R processors/ARM/gdb-7.10/sim/common/sim-core.c R processors/ARM/gdb-7.10/sim/common/sim-core.h R processors/ARM/gdb-7.10/sim/common/sim-cpu.c R processors/ARM/gdb-7.10/sim/common/sim-cpu.h R processors/ARM/gdb-7.10/sim/common/sim-endian.c R processors/ARM/gdb-7.10/sim/common/sim-endian.h R processors/ARM/gdb-7.10/sim/common/sim-engine.c R processors/ARM/gdb-7.10/sim/common/sim-engine.h R processors/ARM/gdb-7.10/sim/common/sim-events.c R processors/ARM/gdb-7.10/sim/common/sim-events.h R processors/ARM/gdb-7.10/sim/common/sim-fpu.c R processors/ARM/gdb-7.10/sim/common/sim-fpu.h R processors/ARM/gdb-7.10/sim/common/sim-hload.c R processors/ARM/gdb-7.10/sim/common/sim-hrw.c R processors/ARM/gdb-7.10/sim/common/sim-hw.c R processors/ARM/gdb-7.10/sim/common/sim-hw.h R processors/ARM/gdb-7.10/sim/common/sim-info.c R processors/ARM/gdb-7.10/sim/common/sim-inline.c R processors/ARM/gdb-7.10/sim/common/sim-inline.h R processors/ARM/gdb-7.10/sim/common/sim-io.c R processors/ARM/gdb-7.10/sim/common/sim-io.h R processors/ARM/gdb-7.10/sim/common/sim-load.c R processors/ARM/gdb-7.10/sim/common/sim-memopt.c R processors/ARM/gdb-7.10/sim/common/sim-memopt.h R processors/ARM/gdb-7.10/sim/common/sim-model.c R processors/ARM/gdb-7.10/sim/common/sim-model.h R processors/ARM/gdb-7.10/sim/common/sim-module.c R processors/ARM/gdb-7.10/sim/common/sim-module.h R processors/ARM/gdb-7.10/sim/common/sim-n-bits.h R processors/ARM/gdb-7.10/sim/common/sim-n-core.h R processors/ARM/gdb-7.10/sim/common/sim-n-endian.h R processors/ARM/gdb-7.10/sim/common/sim-options.c R processors/ARM/gdb-7.10/sim/common/sim-options.h R processors/ARM/gdb-7.10/sim/common/sim-profile.c R processors/ARM/gdb-7.10/sim/common/sim-profile.h R processors/ARM/gdb-7.10/sim/common/sim-reason.c R processors/ARM/gdb-7.10/sim/common/sim-reg.c R processors/ARM/gdb-7.10/sim/common/sim-resume.c R processors/ARM/gdb-7.10/sim/common/sim-run.c R processors/ARM/gdb-7.10/sim/common/sim-signal.c R processors/ARM/gdb-7.10/sim/common/sim-signal.h R processors/ARM/gdb-7.10/sim/common/sim-stop.c R processors/ARM/gdb-7.10/sim/common/sim-syscall.c R processors/ARM/gdb-7.10/sim/common/sim-syscall.h R processors/ARM/gdb-7.10/sim/common/sim-trace.c R processors/ARM/gdb-7.10/sim/common/sim-trace.h R processors/ARM/gdb-7.10/sim/common/sim-types.h R processors/ARM/gdb-7.10/sim/common/sim-utils.c R processors/ARM/gdb-7.10/sim/common/sim-utils.h R processors/ARM/gdb-7.10/sim/common/sim-watch.c R processors/ARM/gdb-7.10/sim/common/sim-watch.h R processors/ARM/gdb-7.10/sim/common/syscall.c R processors/ARM/gdb-7.10/sim/common/tconfig.h R processors/ARM/gdb-7.10/sim/common/version.h R processors/ARM/gdb-7.10/sim/configure R processors/ARM/gdb-7.10/sim/configure.ac R processors/ARM/gdb-7.10/sim/configure.tgt R processors/ARM/gdb-7.10/sim/cr16/ChangeLog R processors/ARM/gdb-7.10/sim/cr16/Makefile.in R processors/ARM/gdb-7.10/sim/cr16/aclocal.m4 R processors/ARM/gdb-7.10/sim/cr16/config.in R processors/ARM/gdb-7.10/sim/cr16/configure R processors/ARM/gdb-7.10/sim/cr16/configure.ac R processors/ARM/gdb-7.10/sim/cr16/cr16_sim.h R processors/ARM/gdb-7.10/sim/cr16/endian.c R processors/ARM/gdb-7.10/sim/cr16/gencode.c R processors/ARM/gdb-7.10/sim/cr16/interp.c R processors/ARM/gdb-7.10/sim/cr16/sim-main.h R processors/ARM/gdb-7.10/sim/cr16/simops.c R processors/ARM/gdb-7.10/sim/cris/ChangeLog R processors/ARM/gdb-7.10/sim/cris/Makefile.in R processors/ARM/gdb-7.10/sim/cris/aclocal.m4 R processors/ARM/gdb-7.10/sim/cris/arch.c R processors/ARM/gdb-7.10/sim/cris/arch.h R processors/ARM/gdb-7.10/sim/cris/config.in R processors/ARM/gdb-7.10/sim/cris/configure Log Message: ----------- Merge branch 'Cog' into fixes/security Commit: 92cafdfab47776ffb7c75300371a3b5b941d795b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/92cafdfab47776ffb7c75300371a3b5b941d795b Author: Tobias Pape Date: 2020-09-10 (Thu, 10 Sep 2020) Changed paths: M build.linux32ARMv6/third-party/Makefile.libgit2 M build.linux32x86/third-party/Makefile.libgit2 M build.linux64ARMv8/third-party/Makefile.libgit2 M build.linux64x64/third-party/Makefile.libgit2 M build.linux64x64/third-party/Makefile.libssh2 M build.macos32x86/third-party/Makefile.libgit2 M build.macos64x64/third-party/Makefile.libgit2 M build.win32x86/third-party/Makefile.libgit2 M third-party/libgit2.spec M third-party/libpng.spec M third-party/libpng.spec.win Log Message: ----------- Merge pull request #386 from zecke/fixes/security third-party: Stop building/using vulnerable software Commit: 2f31daf6a1c3ad37b2598d5ab5b4cf79cfa90f01 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2f31daf6a1c3ad37b2598d5ab5b4cf79cfa90f01 Author: Eliot Miranda Date: 2020-09-10 (Thu, 10 Sep 2020) Changed paths: M src/plugins/SoundPlugin/SoundPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2804 SmartSyntaxPrimitives: Fix the case where the final method return is in a conditional, and hence fix a terrible regression in SoundPlugin>>#primitiveSoundPlaySamples:from:startingAt: Commit: d2c335a3d2638f4106c3c06173c51d898a7871b3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d2c335a3d2638f4106c3c06173c51d898a7871b3 Author: Tobias Pape Date: 2020-09-11 (Fri, 11 Sep 2020) Changed paths: M .gitignore M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #518 from LinqLover/fix-win-evt-timestamps Fix timestamps for DragDrop events on Windows Commit: 5ba9783316157678e4193e5653d9431b9879feea https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5ba9783316157678e4193e5653d9431b9879feea Author: Tobias Pape Date: 2020-09-11 (Fri, 11 Sep 2020) Changed paths: M .gitignore M build.linux32ARMv6/third-party/Makefile.libgit2 M build.linux32x86/third-party/Makefile.libgit2 M build.linux64ARMv8/third-party/Makefile.libgit2 M build.linux64x64/third-party/Makefile.libgit2 M build.linux64x64/third-party/Makefile.libssh2 M build.macos32x86/third-party/Makefile.libgit2 M build.macos64x64/third-party/Makefile.libgit2 M build.win32x86/common/Makefile.msvc.flags M build.win32x86/common/Makefile.msvc.tools M build.win32x86/third-party/Makefile.libgit2 M build.win64x64/common/Makefile.tools M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Mac OS/vm/sqMacMain.c M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/unix/vm/sqUnixMain.c M platforms/win32/plugins/B3DAcceleratorPlugin/Makefile.msvc M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Window.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M third-party/libgit2.spec M third-party/libpng.spec M third-party/libpng.spec.win Log Message: ----------- Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2 * origin/Cog: CogVM source as per VMMaker.oscog-eem.2804 CogVM sources as per VMMaker.oscog-eem.2803 Win32 cleanups: if is not a function call. Clang-cl does not appear to support x86. B3DPlugin needs user32.dll CogVM source as per Name: VMMaker.oscog-eem.2802 [skip-ci] Improve comment Use GetTickCount() instead of GetMessageTime(). Fix timestamps for DragDrop events on Windows Early WIP fix libgit2 makefile wip.. WIP.. move libpng16 forward for real.. update n code clones and deal with their speciality Make it use the OpenSSL we built, let it find libssh2 third-party: Stop building/using vulnerable software Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/643aabc51911...5ba978331615 From builds at travis-ci.org Fri Sep 11 09:14:07 2020 From: builds at travis-ci.org (Travis CI) Date: Fri, 11 Sep 2020 09:14:07 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2166 (krono/highdpi-v2 - 5ba9783) In-Reply-To: Message-ID: <5f5b3fdeb8102_13ffa81fb82c0672e5@travis-tasks-76d957f64-rd4nz.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2166 Status: Errored Duration: 6 mins and 14 secs Commit: 5ba9783 (krono/highdpi-v2) Author: Tobias Pape Message: Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2 * origin/Cog: CogVM source as per VMMaker.oscog-eem.2804 CogVM sources as per VMMaker.oscog-eem.2803 Win32 cleanups: if is not a function call. Clang-cl does not appear to support x86. B3DPlugin needs user32.dll CogVM source as per Name: VMMaker.oscog-eem.2802 [skip-ci] Improve comment Use GetTickCount() instead of GetMessageTime(). Fix timestamps for DragDrop events on Windows Early WIP fix libgit2 makefile wip.. WIP.. move libpng16 forward for real.. update n code clones and deal with their speciality Make it use the OpenSSL we built, let it find libssh2 third-party: Stop building/using vulnerable software View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/643aabc51911...5ba978331615 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726208202?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 10:47:24 2020 From: notifications at github.com (Christoph Thiede) Date: Fri, 11 Sep 2020 03:47:24 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: Thank you for the discussion and, first of all, for merging a working patch. :-) But it's true, `Time eventMillisecondClock` and `ActiveHand lastEvent timeStamp` are not comparable at the moment on Windows, which is suboptimal. Do you propose simply to restore the old versions from http://squeakvm.org/cgi-bin/viewvc.cgi/squeak/trunk/platforms/win32/vm/sqWin32Window.c?revision=3784&view=markup#l1420? I would like to read some changelogs documenting the changes or to run some regression tests before reverting, but I could not find any of both ... -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-691022783 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 12:07:43 2020 From: notifications at github.com (Tobias Pape) Date: Fri, 11 Sep 2020 05:07:43 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: WinCE is dead, but yes, I'd say use that version _but_ make sure the Mask is sensible. It is currently 32bit, isn't it? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-691054734 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 12:49:25 2020 From: notifications at github.com (David T Lewis) Date: Fri, 11 Sep 2020 05:49:25 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: To be clear - I do not propose reverting to the old version. But maybe there is a way to update the current version so that the time basis would match that of Windows events (time delta between system start time and VM start time is constant). It is just an idea, and I have not looked in detail. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-691074887 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Fri Sep 11 09:06:25 2020 From: noreply at github.com (Tobias Pape) Date: Fri, 11 Sep 2020 02:06:25 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] b272e2: Merge branch 'cf_useScriptToInstallCygwinWithAllDe... Message-ID: Branch: refs/heads/krono/highdpi-v2 Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: b272e24b39b9c59b64730260395b96e27ec3c54d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b272e24b39b9c59b64730260395b96e27ec3c54d Author: Fabio Niephaus Date: 2018-08-19 (Sun, 19 Aug 2018) Changed paths: M .appveyor.yml M .gitattributes M build.win32x86/HowToBuild M build.win64x64/HowToBuild A scripts/ci/installCygwin.bat Log Message: ----------- Merge branch 'cf_useScriptToInstallCygwinWithAllDependencies' of https://github.com/jecisc/opensmalltalk-vm into Cog Commit: 815be6b5123c2939f2652f9ac1bd105fffde9117 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/815be6b5123c2939f2652f9ac1bd105fffde9117 Author: Fabio Niephaus Date: 2018-08-19 (Sun, 19 Aug 2018) Changed paths: M .appveyor.yml M build.win32x86/HowToBuild M build.win64x64/HowToBuild R scripts/ci/installCygwin.bat A scripts/installCygwin.bat Log Message: ----------- Move installCygwin.bat to scripts/ Commit: 6ed41a4fa01e6394ddab5abfa7b187b096173ac8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6ed41a4fa01e6394ddab5abfa7b187b096173ac8 Author: Fabio Niephaus Date: 2018-08-19 (Sun, 19 Aug 2018) Changed paths: M .appveyor.yml M .travis.yml R .travis_build.sh R .travis_helpers.sh R .travis_install.sh R .travis_test.sh A scripts/ci/travis_build.sh A scripts/ci/travis_helpers.sh A scripts/ci/travis_install.sh A scripts/ci/travis_test.sh M tests/newspeakBootstrap.sh Log Message: ----------- Merge branch 'cf_moveTravisScriptsToScriptsCi' of https://github.com/jecisc/opensmalltalk-vm into Cog Commit: 0f780694a39155a9149da89d8d3dcc5e8b7b62e9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0f780694a39155a9149da89d8d3dcc5e8b7b62e9 Author: AlistairGrant Date: 2018-08-23 (Thu, 23 Aug 2018) Changed paths: A platforms/iOS/plugins/FileAttributesPlugin/Makefile M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- 1.3.3: Add path encoding / decoding MacOS uses custom decomposed UTF8 encoded strings for path names (while precomposed Unicode strings are typically used within the image). Encode and decode path names using the existing VM routines (ux2sqPath() and sq2uxPath()). Linux provides ux2sqPath() and sq2uxPath() as part of vm.a. OSX requires a plugin specific Makefile to access sqUnixCharConv.[ch] Commit: 2c9cb8a6f80c2e4ff78b7a8f348506534f03ee67 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2c9cb8a6f80c2e4ff78b7a8f348506534f03ee67 Author: AlistairGrant Date: 2018-08-23 (Thu, 23 Aug 2018) Changed paths: M build.macos64x64/pharo.cog.spur/plugins.ext M build.macos64x64/pharo.cog.spur/plugins.int Log Message: ----------- FileAttributesPlugin: make plugin internal on macos64x64 Commit: 0ddeabf4f9055284a6cf9645bf67bba4394e4e7c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0ddeabf4f9055284a6cf9645bf67bba4394e4e7c Author: AlistairGrant Date: 2018-08-23 (Thu, 23 Aug 2018) Changed paths: M build.macos64x64/common/Makefile.vm Log Message: ----------- FileAttributesPlugin: add to VM additional includes Commit: 2c9561129b2386eb28dca29af0cdcfdf00eab411 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2c9561129b2386eb28dca29af0cdcfdf00eab411 Author: AlistairGrant Date: 2018-08-23 (Thu, 23 Aug 2018) Changed paths: M build.macos32x86/pharo.cog.spur.lowcode/plugins.ext M build.macos32x86/pharo.cog.spur.lowcode/plugins.int M build.macos32x86/pharo.cog.spur/plugins.ext M build.macos32x86/pharo.cog.spur/plugins.int M build.macos32x86/pharo.sista.spur/plugins.ext M build.macos32x86/pharo.sista.spur/plugins.int M build.macos32x86/pharo.stack.spur.lowcode/plugins.ext M build.macos32x86/pharo.stack.spur.lowcode/plugins.int M build.macos32x86/pharo.stack.spur/plugins.ext M build.macos32x86/pharo.stack.spur/plugins.int M build.macos32x86/squeak.cog.spur+immutability/plugins.ext M build.macos32x86/squeak.cog.spur+immutability/plugins.int M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos32x86/squeak.cog.spur/plugins.int M build.macos32x86/squeak.cog.v3/plugins.ext M build.macos32x86/squeak.cog.v3/plugins.int M build.macos32x86/squeak.sista.spur/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.int M build.macos32x86/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.stack.spur/plugins.int M build.macos32x86/squeak.stack.v3/plugins.ext M build.macos32x86/squeak.stack.v3/plugins.int M build.macos64x64/pharo.cog.spur.lowcode/plugins.ext M build.macos64x64/pharo.cog.spur.lowcode/plugins.int M build.macos64x64/pharo.sista.spur/plugins.ext M build.macos64x64/pharo.sista.spur/plugins.int M build.macos64x64/pharo.stack.spur.lowcode/plugins.ext M build.macos64x64/pharo.stack.spur.lowcode/plugins.int M build.macos64x64/pharo.stack.spur/plugins.ext M build.macos64x64/pharo.stack.spur/plugins.int M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur.immutability/plugins.int M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.int M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.int M build.macos64x64/squeak.stack.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.int Log Message: ----------- FileAttributesPlugin: plugin is internal on macos Commit: 71f0df6a09866426abf78cc76b2282efb0ee7f11 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/71f0df6a09866426abf78cc76b2282efb0ee7f11 Author: AlistairGrant Date: 2018-08-23 (Thu, 23 Aug 2018) Changed paths: M build.macos64x64/common/Makefile.vm Log Message: ----------- Revert "FileAttributesPlugin: add to VM additional includes" This reverts commit 0ddeabf4f9055284a6cf9645bf67bba4394e4e7c. Confirming that this isn't required on macos. Commit: 217e917cea38ee3a5a381d7aef31643c85c6609f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/217e917cea38ee3a5a381d7aef31643c85c6609f Author: akgrant43 Date: 2018-08-23 (Thu, 23 Aug 2018) Changed paths: M build.macos32x86/pharo.cog.spur.lowcode/plugins.ext M build.macos32x86/pharo.cog.spur.lowcode/plugins.int M build.macos32x86/pharo.cog.spur/plugins.ext M build.macos32x86/pharo.cog.spur/plugins.int M build.macos32x86/pharo.sista.spur/plugins.ext M build.macos32x86/pharo.sista.spur/plugins.int M build.macos32x86/pharo.stack.spur.lowcode/plugins.ext M build.macos32x86/pharo.stack.spur.lowcode/plugins.int M build.macos32x86/pharo.stack.spur/plugins.ext M build.macos32x86/pharo.stack.spur/plugins.int M build.macos32x86/squeak.cog.spur+immutability/plugins.ext M build.macos32x86/squeak.cog.spur+immutability/plugins.int M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos32x86/squeak.cog.spur/plugins.int M build.macos32x86/squeak.cog.v3/plugins.ext M build.macos32x86/squeak.cog.v3/plugins.int M build.macos32x86/squeak.sista.spur/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.int M build.macos32x86/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.stack.spur/plugins.int M build.macos32x86/squeak.stack.v3/plugins.ext M build.macos32x86/squeak.stack.v3/plugins.int M build.macos64x64/pharo.cog.spur.lowcode/plugins.ext M build.macos64x64/pharo.cog.spur.lowcode/plugins.int M build.macos64x64/pharo.cog.spur/plugins.ext M build.macos64x64/pharo.cog.spur/plugins.int M build.macos64x64/pharo.sista.spur/plugins.ext M build.macos64x64/pharo.sista.spur/plugins.int M build.macos64x64/pharo.stack.spur.lowcode/plugins.ext M build.macos64x64/pharo.stack.spur.lowcode/plugins.int M build.macos64x64/pharo.stack.spur/plugins.ext M build.macos64x64/pharo.stack.spur/plugins.int M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur.immutability/plugins.int M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.int M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.int M build.macos64x64/squeak.stack.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.int A platforms/iOS/plugins/FileAttributesPlugin/Makefile M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Merge pull request #280 from akgrant43/FileAttributesPlugin133 1.3.3: Add path encoding / decoding MacOS uses custom decomposed UTF8 encoded strings for path names (while precomposed Unicode strings are typically used within the image). Encode and decode path names using the existing VM routines (ux2sqPath() and sq2uxPath()). Commit: e2fa2d10b4e85f1fae03f4e759527eb8e1742385 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e2fa2d10b4e85f1fae03f4e759527eb8e1742385 Author: Eliot Miranda Date: 2018-08-24 (Fri, 24 Aug 2018) Changed paths: M image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st A image/LoadFFI.st R image/Object-performwithwithwithwithwith.st M image/Slang Test Workspace.text M image/buildspurtrunkreader64image.sh M image/buildspurtrunkreaderimage.sh M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m A platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixMain.c M platforms/unix/vm/sqUnixVMProfile.c M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spur64src/vm/interp.h M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcode64src/vm/interp.h M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/interp.h M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestack64src/vm/interp.h M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spurlowcodestacksrc/vm/interp.h M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursista64src/vm/interp.h M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursistasrc/vm/interp.h M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spursrc/vm/interp.h M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/interp.h M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/interp.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M src/vm/interp.h M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M stacksrc/vm/interp.h Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2436 Core VM: Support for failing FFI calls that raise exceptions. primitiveFailForFFIException:at: is the entry point for the platform exception handlers (sigsegv, squeakExceptionHandler, et al) to catch the signal and call to activate the invoking method as a primitive failure. Have the ThreadedFFIPlugin always call disownVM: and ownVM:, providing a flag that states if this is a threaded callout or not, and another flag that states that this is an FFI call. Provide ffiExceptionResponse as a global variable the VM command line argument processors can set. By default this is 0 and whether an FFI exception is caught or not depends on there being an error code in the FFI callout. If there is one any exception will be caught; if there isn't a crash will occur as always. If ffiExceptionResponse is < 0 FFI exceptions will never be caught and never delivered as primitive failures (which is selected by -nofailonffiexception). If ffiExceptionResponse is > 0 then FFI exceptions will always be caught and always delivered as primitive failures (which is selected by -failonffiexception). primitiveFailForFFIException:at: now fails if - in an FFI call as indicated by DisownVMForFFICall being set in inFFIFlags - ffiExceptionResponse > 0 or ffiExceptionResponse = 0 and newMethod has an error code So it should always be called from the platform exception handlers such as sigsegv on Unix platforms. Refactoring: Move reenterInterpreter up to StackInterpreter from CoInterpreter, along with all relevant methods. Add mustBeInterpreterFrame agument to justActivateNewMethod: to that the Cog VM can insist on activating the failing FFI invoking method in the interpreter, which simplifies the machinery in activateFailingPrimitiveMethod, which does the work of failing the primitive and long-jumping to the interpreter. Fix a bug in CoInterpreter's justActivateNewMethod: which left the instructionPointer one ahead if activating a failing primitive method. Add primitiveFailForFFIException:at: as a setter for the exception state. Add PrimErrFFIException. Update cloneOSErrorObj:numSlots: to deal with a three slot subclass of PrimitiveError that adds a pc at which an exception took place (exception can be represented by errorCode). Misc: Initializing extensions should occur before fetching a bytecode, in case the bytecode is itself extended. FileAttributesPlugin: 274: Update primitiveFileStdioHandles error handling. Previously validMask = -1 was considered an error. Now validMask < 0 is considered an error and the value is returned to the image with primitiveFailForOSError(). This is more robust against word length in the VM and provides a general mechanism for the plugin to provide error information back to the image. 274: primitiveFileStdioHandles() fails to return nil if stdio file is not available Modify FilePlugin>>primitiveFileStdioHandles to treat validMask = 0 as successfully determining that no stdio streams are available. Previously validMask = 0 would result in the primitive failing with Unsupported. However having no stdio streams available is normal on Windows, and so shouldn't signal an error. sqFileStdioHandlesInto() can either return -1 to signal an unspecified error or use primitiveFailFor() or primitiveFailForOSError() to specify an error. Image Directory: Add LoadFFI.st to ease creating spurreader images containing the FFI. Fix the use of getGoodSpur[64]VM.sh so the buildspurtrunkreader[64]image.sh commands can take both a -vm foo and an FFI argument. Nuke Object-performwithwithwithwithwith.st. This is now in VMMaker.oscog. Commit: de918b2a4cf8f27eb7d1ec548477a7393dc8076c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/de918b2a4cf8f27eb7d1ec548477a7393dc8076c Author: Eliot Miranda Date: 2018-08-24 (Fri, 24 Aug 2018) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2437 StackInterpreter: Fix signature of reapAndResetErrorCodeTo:header: to leiminate warnings. Generate the changed ThreadedFFIPlugin which somehow got forgot in the previous commit. Slang: Fix a slip in type inference. Named constants have types too. Commit: 73df2f775c5f16cdff3855176807a0a133c6f989 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/73df2f775c5f16cdff3855176807a0a133c6f989 Author: Eliot Miranda Date: 2018-08-24 (Fri, 24 Aug 2018) Changed paths: M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/unix/vm/sqUnixMain.c M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Fix signatures of primitiveFailForFFIExceptionat in the platform exception handlers. Commit: 88d75e428475a9a82a373600fdf92fb1059e7e30 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/88d75e428475a9a82a373600fdf92fb1059e7e30 Author: AlistairGrant Date: 2018-08-25 (Sat, 25 Aug 2018) Changed paths: M platforms/unix/vm/sqUnixCharConv.c Log Message: ----------- sqUnixCharConv.c: correct path encoding - Use UTF8 instead of MacRoman when converting paths sq to ux - Convert decomposed to precomposed UTF8 when convert ux to sq Commit: 5baff07526c73fdfb813fc8022d88f73faa823c4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5baff07526c73fdfb813fc8022d88f73faa823c4 Author: Eliot Miranda Date: 2018-08-25 (Sat, 25 Aug 2018) Changed paths: M platforms/unix/vm/sqUnixCharConv.c Log Message: ----------- Merge pull request #281 from akgrant43/FileAttributesPlugin133 sqUnixCharConv.c: correct path encoding Commit: 70e76d94e83894c6bee06e4b6132e3aa8d738fca https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/70e76d94e83894c6bee06e4b6132e3aa8d738fca Author: AlistairGrant Date: 2018-08-27 (Mon, 27 Aug 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin 1.3.4 - Answer unsupportedOperation for isSymlink on Windows - Expect filenames to be passed as ByteArrays (UTF8 encoded) -- Strings are still allowed for backward compatibility Commit: 905fbb6aa86a386c4b0be6ecef29d59564dd4573 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/905fbb6aa86a386c4b0be6ecef29d59564dd4573 Author: akgrant43 Date: 2018-08-28 (Tue, 28 Aug 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Merge pull request #282 from akgrant43/FileAttributesPlugin133 FileAttributesPlugin 1.3.4 - Answer unsupportedOperation for isSymlink on Windows - Expect filenames to be passed as ByteArrays (UTF8 encoded) -- Strings are still allowed for backward compatibility Commit: ec50a09f422a51489f8bedf57997b88eba7081ed https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ec50a09f422a51489f8bedf57997b88eba7081ed Author: AlistairGrant Date: 2018-08-28 (Tue, 28 Aug 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributes 1.4.0: File permissions and ownership Add the ability to modify the posix permissions (chmod()) and user and group ids (chown()). Also properly declare cPathString in unixPathToOop:. Commit: d952580fab8ff8481ff8c861eba36593951b4999 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d952580fab8ff8481ff8c861eba36593951b4999 Author: akgrant43 Date: 2018-08-29 (Wed, 29 Aug 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Merge pull request #283 from akgrant43/FileAttributes140 FileAttributes 1.4.0: File permissions and ownership Add the ability to modify the posix permissions (chmod()) and user and group ids (chown()). Also properly declare cPathString in unixPathToOop:. Commit: db7ec7bd953bd3602fdd04c0fd711a43ece7961b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/db7ec7bd953bd3602fdd04c0fd711a43ece7961b Author: Esteban Lorenzano Date: 2018-09-05 (Wed, 05 Sep 2018) Changed paths: M .appveyor.yml M .gitattributes M .gitignore M .travis.yml R .travis_build.sh R .travis_helpers.sh R .travis_install.sh R .travis_test.sh M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux32x86/third-party/Makefile.pkgconfig M build.linux64x64/newspeak.cog.spur/plugins.int M build.linux64x64/newspeak.sista.spur/plugins.int M build.linux64x64/newspeak.stack.spur/plugins.int M build.linux64x64/nsnac.cog.spur/plugins.int M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/plugins.int M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.int M build.linux64x64/squeak.stack.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.int M build.macos32x86/common/Makefile.app M build.macos32x86/pharo.cog.spur.lowcode/plugins.ext M build.macos32x86/pharo.cog.spur.lowcode/plugins.int M build.macos32x86/pharo.cog.spur/plugins.ext M build.macos32x86/pharo.cog.spur/plugins.int M build.macos32x86/pharo.sista.spur/plugins.ext M build.macos32x86/pharo.sista.spur/plugins.int M build.macos32x86/pharo.stack.spur.lowcode/plugins.ext M build.macos32x86/pharo.stack.spur.lowcode/plugins.int M build.macos32x86/pharo.stack.spur/plugins.ext M build.macos32x86/pharo.stack.spur/plugins.int M build.macos32x86/squeak.cog.spur+immutability/plugins.int M build.macos32x86/squeak.cog.spur/plugins.int M build.macos32x86/squeak.cog.v3/plugins.int M build.macos32x86/squeak.sista.spur/plugins.int M build.macos32x86/squeak.stack.spur/plugins.int M build.macos32x86/squeak.stack.v3/plugins.int M build.macos64x64/common/Makefile.app M build.macos64x64/pharo.cog.spur.lowcode/plugins.ext M build.macos64x64/pharo.cog.spur.lowcode/plugins.int M build.macos64x64/pharo.cog.spur/plugins.ext M build.macos64x64/pharo.cog.spur/plugins.int M build.macos64x64/pharo.sista.spur/plugins.ext M build.macos64x64/pharo.sista.spur/plugins.int M build.macos64x64/pharo.stack.spur.lowcode/plugins.ext M build.macos64x64/pharo.stack.spur.lowcode/plugins.int M build.macos64x64/pharo.stack.spur/plugins.ext M build.macos64x64/pharo.stack.spur/plugins.int M build.macos64x64/squeak.cog.spur.immutability/plugins.int M build.macos64x64/squeak.cog.spur/plugins.int M build.macos64x64/squeak.sista.spur/plugins.int M build.macos64x64/squeak.stack.spur/plugins.int M build.win32x86/HowToBuild M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.v3/plugins.ext M build.win64x64/HowToBuild M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.ext M build.win64x64/third-party/Makefile.cairo M build.win64x64/third-party/Makefile.freetype2 M build.win64x64/third-party/Makefile.libgit2 M build.win64x64/third-party/Makefile.libpng M build.win64x64/third-party/Makefile.libssh2 M build.win64x64/third-party/Makefile.pixman M deploy/pack-vm.sh A image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st A image/LoadFFI.st R image/Object-performwithwithwithwithwith.st A image/PharoWorkspace.text M image/Slang Test Workspace.text M image/buildspurtrunkreader64image.sh M image/buildspurtrunkreaderimage.sh M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/RiscOS/plugins/FilePlugin/sqFilePluginBasicPrims.c A platforms/iOS/plugins/FileAttributesPlugin/Makefile M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/unix/plugins/HostWindowPlugin/sqUnixHostWindowPlugin.c M platforms/unix/plugins/SqueakSSL/openssl_overlay.h M platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc A platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixCharConv.c M platforms/unix/vm/sqUnixMain.c M platforms/unix/vm/sqUnixVMProfile.c M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c A scripts/ci/travis_build.sh A scripts/ci/travis_helpers.sh A scripts/ci/travis_install.sh A scripts/ci/travis_test.sh A scripts/installCygwin.bat M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spur64src/vm/interp.h M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcode64src/vm/interp.h M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/interp.h M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestack64src/vm/interp.h M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spurlowcodestacksrc/vm/interp.h M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursista64src/vm/interp.h M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursistasrc/vm/interp.h M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spursrc/vm/interp.h M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/interp.h M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/interp.h M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M src/vm/interp.h M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M stacksrc/vm/interp.h M tests/newspeakBootstrap.sh A third-party/freetype2.spec.win64 Log Message: ----------- Merge branch 'Cog' of github.com:OpenSmalltalk/opensmalltalk-vm into add-minheadless-vm Commit: a229a9535cefe3f7ea719c31f57d745c1a503ed4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a229a9535cefe3f7ea719c31f57d745c1a503ed4 Author: AlistairGrant Date: 2018-09-15 (Sat, 15 Sep 2018) Changed paths: A platforms/Cross/plugins/FileAttributesPlugin/faConstants.h A platforms/unix/plugins/FileAttributesPlugin/faSupport.c A platforms/unix/plugins/FileAttributesPlugin/faSupport.h A platforms/win32/plugins/FileAttributesPlugin/faSupport.c A platforms/win32/plugins/FileAttributesPlugin/faSupport.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- faSupport: initial commit for windows testing Commit: 01cdaff8bcaeacb7aacca4ac300cb63c304505b8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/01cdaff8bcaeacb7aacca4ac300cb63c304505b8 Author: Eliot Miranda Date: 2018-09-18 (Tue, 18 Sep 2018) Changed paths: M platforms/Cross/plugins/FilePlugin/FilePlugin.h M platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m M platforms/unix/plugins/FilePlugin/sqUnixFile.c M platforms/win32/vm/sqWin32Directory.c M src/plugins/FilePlugin/FilePlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2441 Eliminate the variation on dir_[Entry]Lookup between PharoVM and SqueakVM, leaving the difference only in makeDirEntryName:size:createDate:modDate:isDir:fileSize:[posixPermissions:isSymlink:]. Commit: b1caec7928a93f1dcae3382f7499a0643b5ee655 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b1caec7928a93f1dcae3382f7499a0643b5ee655 Author: Eliot Miranda Date: 2018-09-28 (Fri, 28 Sep 2018) Changed paths: M src/plugins/BitBltPlugin/BitBltPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2445 BitBlt plugin copyBits. Fix degenerate calculations of preload and skew (i.e. a preload that sets notSkewMask to all ones and skewMask to zero, and there-by fix accessing the word beyond the end of a bitmap. If using external forms such access can crash the VM by trying to access a word that is not in memory (e.g. in an unmapped page). N.B. when preload is true, notSkewMask is all ones and skewMask is zero this extra word is read but discarded. Clean up primitiveCopyBits & primitiveWarpBits to use the more modern (and simpler) methodReturnReceiver style. Commit: 71e9b7e35835613e95a5894ff4ad7949c0e716a8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/71e9b7e35835613e95a5894ff4ad7949c0e716a8 Author: AlistairGrant Date: 2018-09-30 (Sun, 30 Sep 2018) Changed paths: A platforms/Cross/plugins/FileAttributesPlugin/faCommon.c A platforms/Cross/plugins/FileAttributesPlugin/faPlugin.h M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin: restructure platform support files Restructure FileAttributesPlugin to move platform specific functionality out to separate files. This is required as Windows requires the "wide" versions of posix functions to be used, e.g. access() vs. _waccess(), while other seem to require the Windows native functions, e.g. iterating over directories, and interleaving #ifdef _WIN32 was becoming unwieldy. Commit: 057c59271227b5f607a6ff85a3941dfd0c96cbbe https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/057c59271227b5f607a6ff85a3941dfd0c96cbbe Author: Eliot Miranda Date: 2018-09-30 (Sun, 30 Sep 2018) Changed paths: M platforms/win32/vm/sqWin32Directory.c Log Message: ----------- Rescue the Win32 builds after a misstep preparing the changes for VMMaker.oscog-eem.2441; additional definitions in sqWin32Directory.c are now no longer conditional in PharoVM. Edit if's and while's in sqWin32Directory.c; these are not functions and hence a space after the keyword is appropriate. Commit: 2a0edb0b7f9990ba63118cae05bd7d96556c48c7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2a0edb0b7f9990ba63118cae05bd7d96556c48c7 Author: AlistairGrant Date: 2018-09-30 (Sun, 30 Sep 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin: Manual FileAttributesPlugin.c fixes Fix superseeded type definitions and remove two unused methods. This is for OSX testing and should be changed (over-ridden) in slang. Commit: 3cf447467ef18c6c87ac20b85e657bdab8a1a6cd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3cf447467ef18c6c87ac20b85e657bdab8a1a6cd Author: AlistairGrant Date: 2018-10-01 (Mon, 01 Oct 2018) Changed paths: M platforms/Cross/plugins/FileAttributesPlugin/faCommon.c A platforms/Cross/plugins/FileAttributesPlugin/faCommon.h R platforms/Cross/plugins/FileAttributesPlugin/faPlugin.h M platforms/iOS/plugins/FileAttributesPlugin/Makefile M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin: OSX and Windows fixes - typedef faStatStruct so that struct stat can be used on unix and struct _stat on Windows - Remove reference from the support files to FileAttributesPlugin.c. This doesn't work as internal plugins have their symbols static, preventing external access. Commit: 0c08668ad7f9c32362ba15143d0276cdbedb8896 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0c08668ad7f9c32362ba15143d0276cdbedb8896 Author: AlistairGrant Date: 2018-10-02 (Tue, 02 Oct 2018) Changed paths: M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin 2.0.0: Fixes UTF8 on Windows Restructure FileAttributesPlugin to move platform specific functionality out to separate files. This is required as Windows requires the "wide" versions of posix functions to be used, e.g. access() vs. _waccess(), while other seem to require the Windows native functions, e.g. iterating over directories, and interleaving #ifdef _WIN32 was becoming unwieldy. Commit: 5aa42b7bd6ca48129cd7017fdccbb603235fe53a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5aa42b7bd6ca48129cd7017fdccbb603235fe53a Author: AlistairGrant Date: 2018-10-02 (Tue, 02 Oct 2018) Changed paths: M platforms/Cross/plugins/FilePlugin/FilePlugin.h M platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m M platforms/unix/plugins/FilePlugin/sqUnixFile.c M platforms/win32/vm/sqWin32Directory.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/FilePlugin/FilePlugin.c Log Message: ----------- Merge remote-tracking branch 'upstream/Cog' into FileAttributesPlugin200 Commit: 76759fbda48a86563d22d75b3a5aff950e0c378d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/76759fbda48a86563d22d75b3a5aff950e0c378d Author: Eliot Miranda Date: 2018-10-02 (Tue, 02 Oct 2018) Changed paths: M src/plugins/BitBltPlugin/BitBltPlugin.c Log Message: ----------- Revert the changes to the BitBltPlugin in VMMaker.oscog-eem.2445. This is not ready for prime time yet and has moved to the VMMakerInboRevert the changes to the BitBltPlugin in VMMaker.oscog-eem.2445. This is not ready for prime time yet and has moved to the VMMakerInbox. Commit: ec0e3872c979128d23456c3e4acb2e58f29923d2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ec0e3872c979128d23456c3e4acb2e58f29923d2 Author: Alistair Grant Date: 2018-10-02 (Tue, 02 Oct 2018) Changed paths: M platforms/win32/vm/sqWin32Directory.c Log Message: ----------- sqWin32Directory.c: Remove ifdef PharoVM to include required headers Commit: 8194e6edac12f2f9688a89d6fa1c9a554bac2679 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8194e6edac12f2f9688a89d6fa1c9a554bac2679 Author: akgrant43 Date: 2018-10-02 (Tue, 02 Oct 2018) Changed paths: M platforms/win32/vm/sqWin32Directory.c Log Message: ----------- Merge pull request #286 from akgrant43/sqWin32Directory sqWin32Directory.c: Remove ifdef PharoVM to include required headers Commit: 627f4d685405965c9cb13cf85821e165c7d8eddf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/627f4d685405965c9cb13cf85821e165c7d8eddf Author: AlistairGrant Date: 2018-10-02 (Tue, 02 Oct 2018) Changed paths: M platforms/win32/vm/sqWin32Directory.c M src/plugins/BitBltPlugin/BitBltPlugin.c Log Message: ----------- Merge remote-tracking branch 'upstream/Cog' into FileAttributesPlugin200 Commit: 7c87a681efe133c901454d491bdfeb1d5681da41 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7c87a681efe133c901454d491bdfeb1d5681da41 Author: AlistairGrant Date: 2018-10-02 (Tue, 02 Oct 2018) Changed paths: M platforms/Cross/plugins/FileAttributesPlugin/faCommon.c M platforms/Cross/plugins/FileAttributesPlugin/faConstants.h M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h Log Message: ----------- FileAttributesPlugin: updated comments Commit: cfa0cc643ca6a5e04bf87856b2f32185bd7883eb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cfa0cc643ca6a5e04bf87856b2f32185bd7883eb Author: akgrant43 Date: 2018-10-02 (Tue, 02 Oct 2018) Changed paths: A platforms/Cross/plugins/FileAttributesPlugin/faCommon.c A platforms/Cross/plugins/FileAttributesPlugin/faCommon.h A platforms/Cross/plugins/FileAttributesPlugin/faConstants.h M platforms/iOS/plugins/FileAttributesPlugin/Makefile A platforms/unix/plugins/FileAttributesPlugin/faSupport.c A platforms/unix/plugins/FileAttributesPlugin/faSupport.h A platforms/win32/plugins/FileAttributesPlugin/faSupport.c A platforms/win32/plugins/FileAttributesPlugin/faSupport.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Merge pull request #285 from akgrant43/FileAttributesPlugin200 FileAttributesPlugin 2.0.0: Fixes UTF8 on Windows Commit: bd88cc65cce0fd122714048bf3b9d96ebaaaf9be https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bd88cc65cce0fd122714048bf3b9d96ebaaaf9be Author: AlistairGrant Date: 2018-10-03 (Wed, 03 Oct 2018) Changed paths: M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin: Update remaining primitives The following primitives weren't updated as part of the support file restructure: - primitiveChangeMode - primitiveChangeOwner - primitiveSymlinkChangeOwner - primitiveRewinddir Get these working again in the new framework (fapath). Commit: b6b67f48f69b16bc19e9f3587c597592cc10b355 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b6b67f48f69b16bc19e9f3587c597592cc10b355 Author: AlistairGrant Date: 2018-10-03 (Wed, 03 Oct 2018) Changed paths: M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin: redefine primitiveRewinddir the Windows way Rewinding the directory on Windows returns the first entry. Modify the primitive to behave this way on all platforms. Commit: 8c44f9bce5afd7b6cfa1f11a9ad82dcd10afb731 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8c44f9bce5afd7b6cfa1f11a9ad82dcd10afb731 Author: AlistairGrant Date: 2018-10-03 (Wed, 03 Oct 2018) Changed paths: M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin: Fix path conversion primitives The primitive shouldn't include the Long Path Prefix on Windows as part of the path. Commit: 91e578755ba436fc2ab5782da3a460d160c866c9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/91e578755ba436fc2ab5782da3a460d160c866c9 Author: AlistairGrant Date: 2018-10-03 (Wed, 03 Oct 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin v2.0.1 1. The following primitives weren't updated as part of the support file restructure: - primitiveChangeMode - primitiveChangeOwner - primitiveSymlinkChangeOwner - primitiveRewinddir Get these working again in the new framework (fapath). 2. Rewinding the directory on Windows returns the first entry. Modify the primitive to behave this way on all platforms. 3. Path conversion primitives shouldn't include the Long Path Prefix on Windows as part of the path. Commit: 8cca3320bce951962c0609d09a24f4608e2e410b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8cca3320bce951962c0609d09a24f4608e2e410b Author: akgrant43 Date: 2018-10-03 (Wed, 03 Oct 2018) Changed paths: M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Merge pull request #287 from akgrant43/FileAttributesPlugin200 FileAttributesPlugin v2.0.1 Commit: 485a6d8faa8c64f4dccff5995d2a70ab8b0c8b46 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/485a6d8faa8c64f4dccff5995d2a70ab8b0c8b46 Author: Eliot Miranda Date: 2018-10-04 (Thu, 04 Oct 2018) Changed paths: A build.linux64x64/bochsx64/conf.COG A build.linux64x64/bochsx64/conf.COG.dbg A build.linux64x64/bochsx64/exploration/Makefile A build.linux64x64/bochsx64/makeem A build.linux64x64/bochsx86/conf.COG A build.linux64x64/bochsx86/makeem Log Message: ----------- Add build files for the bochs processor simulators on linux64x64 Commit: 911114625729404685413dfac3b2631ac21cc6f0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/911114625729404685413dfac3b2631ac21cc6f0 Author: Eliot Miranda Date: 2018-10-04 (Thu, 04 Oct 2018) Changed paths: A build.linux64x64/gdbarm32/conf.COG A build.linux64x64/gdbarm32/makeem Log Message: ----------- Add the gdbarm32 support lib build dir to linux64x64 anbd fix HowToBuild to no longer mention build.linux32x86. Commit: 7a503550bc05c1e26da11d8f578b2fcf11ca735f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7a503550bc05c1e26da11d8f578b2fcf11ca735f Author: Eliot Miranda Date: 2018-10-04 (Thu, 04 Oct 2018) Changed paths: M build.linux64x64/HowToBuild Log Message: ----------- OK, now fix the HowToBuild to no longer mention build.linux32x86. Commit: f23a1d8bd4f931d938fb8102d489df0246ab92d3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f23a1d8bd4f931d938fb8102d489df0246ab92d3 Author: Eliot Miranda Date: 2018-10-04 (Thu, 04 Oct 2018) Changed paths: M build.linux64x64/squeak.cog.spur/plugins.ext Log Message: ----------- And fo course the plugins need to be added to plugins.ext, at least for the workhorse squeak.cog.spur build. Commit: 6df629d160c99e374ac6e9d2bde230281867e77b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6df629d160c99e374ac6e9d2bde230281867e77b Author: Eliot Miranda Date: 2018-10-04 (Thu, 04 Oct 2018) Changed paths: M build.linux64x64/bochsx64/conf.COG M build.linux64x64/bochsx64/conf.COG.dbg M build.linux64x64/bochsx86/conf.COG M platforms/unix/plugins/BochsIA32Plugin/Makefile.inc M platforms/unix/plugins/BochsX64Plugin/Makefile.inc Log Message: ----------- Remove spurious -m32 directives from the linux Bochs plugin makefiles. Add -fPIC to the support library builds. Commit: 44bc36579e470e56a60d70bab8dcb8559dd82b68 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/44bc36579e470e56a60d70bab8dcb8559dd82b68 Author: Eliot Miranda Date: 2018-10-04 (Thu, 04 Oct 2018) Changed paths: M platforms/unix/plugins/GdbARMPlugin/Makefile.inc Log Message: ----------- Ad remove -m32 from the GdbARMPlugin linux makefile too. Commit: 42e0db044144f3aa4854d8575a1a5baf6fc5619f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/42e0db044144f3aa4854d8575a1a5baf6fc5619f Author: Tobias Pape Date: 2018-10-05 (Fri, 05 Oct 2018) Changed paths: M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.m M platforms/iOS/vm/Common/Classes/sqSqueakNullScreenAndWindow.m M platforms/iOS/vm/Common/Classes/sqSqueakScreenAndWindow.m M platforms/iOS/vm/OSX/sqMacV2Window.m M platforms/iOS/vm/OSX/sqSqueakMainApplication+screen.m Log Message: ----------- prefer image's saved size over arbitrary defaults if unknown fixes #288 when applied Commit: 5bf7fc648bb4696365ffc8c7e87e678d66bd7b57 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5bf7fc648bb4696365ffc8c7e87e678d66bd7b57 Author: Tobias Pape Date: 2018-10-05 (Fri, 05 Oct 2018) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m Log Message: ----------- Fix fullscreenized images crashing OpenGL on start. Wait for OpenGL first fixes #290 Commit: 4c3c6cd2f5dabcfa0db45b6978b5ecaeda23d86b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4c3c6cd2f5dabcfa0db45b6978b5ecaeda23d86b Author: AlistairGrant Date: 2018-10-06 (Sat, 06 Oct 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin 2.0.2: free faPath It's too easy to forget that C doesn't have garbage collection, especially in slang... :-) Commit: 127f38fe2df7eb6bccb5c6c2495007584aa2da47 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/127f38fe2df7eb6bccb5c6c2495007584aa2da47 Author: akgrant43 Date: 2018-10-07 (Sun, 07 Oct 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Merge pull request #293 from akgrant43/FileAttributesPlugin200 FileAttributesPlugin 2.0.2: free faPath Commit: c8f507066cc5d18483dea9eb828378f446e31263 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c8f507066cc5d18483dea9eb828378f446e31263 Author: Esteban Lorenzano Date: 2018-10-07 (Sun, 07 Oct 2018) Changed paths: M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.m M platforms/iOS/vm/Common/Classes/sqSqueakNullScreenAndWindow.m M platforms/iOS/vm/Common/Classes/sqSqueakScreenAndWindow.m M platforms/iOS/vm/OSX/sqMacV2Window.m M platforms/iOS/vm/OSX/sqSqueakMainApplication+screen.m Log Message: ----------- Merge pull request #291 from OpenSmalltalk/krono/288-withImageSize prefer image's saved size over arbitrary defaults if unknown Commit: 8f5a4f277797edf797a1d3fd6c52912708a9bea3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8f5a4f277797edf797a1d3fd6c52912708a9bea3 Author: Eliot Miranda Date: 2018-10-11 (Thu, 11 Oct 2018) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2453 General: Fix error code reporting for primitiveAdoptInstance. It uses changeClassOf:to: which expects the class to be the argument, so BadArgument/BadReceiver errors must be swapped. Spur: Simplify the two changeClassOf:to: implementations, fixing a bug when a byte class adopts a 32 bit indexable instance on the 32 bit system. Spur Cogit: Fix a regression in 32 bit genGetSizeOf:into:formatReg:scratchReg:abortJumpsInto: that failed to abort for 64 bit indexable receivers. Eliminate unnecessary branch in 32 bit version of genPrimitiveAtSigned:, to match the 64 bit version. Plugins: Eliminate cCode: usage in the B3DAcceleratorPlugin and HostWindowPlugin using the new "var args" style. Rewrite mem:mo:ve: et al in the new style. Commit: 9791f4d6c2fd520a74ef87b1637688ba562d5d06 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9791f4d6c2fd520a74ef87b1637688ba562d5d06 Author: Eliot Miranda Date: 2018-10-12 (Fri, 12 Oct 2018) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2454 General: Correct a slip in primitiveVMParameter; statMaxAllocSegmentTime is Spur only. Rewrite primitiveGetVMParameter: & primitiveSetVMParameter:arg: as case statements. Commit: 0b91127a9d4f7bc67337d016b4d88be61d30a801 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0b91127a9d4f7bc67337d016b4d88be61d30a801 Author: Eliot Miranda Date: 2018-10-15 (Mon, 15 Oct 2018) Changed paths: M image/Slang Test Workspace.text M src/plugins/BitBltPlugin/BitBltPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2457 BitBltPlugin/BitBltSimulation Add asserts and variables for bounds checking destination and source access. Mark all memory access methods as so as not to bother generating the uninlined versions. Commit: 2229d3a3e27dfe4521312b935126fc08bf154b1f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2229d3a3e27dfe4521312b935126fc08bf154b1f Author: Tobias Pape Date: 2018-10-18 (Thu, 18 Oct 2018) Changed paths: M build.macos32x86/HowToBuild Log Message: ----------- Merge pull request #186 from OpenSmalltalk/Dont_mention_missing_libssl_in_HowToBuild HowToBuild doesn't have to mention missing libssl Commit: 18bf1343789b661f13bd30b7d4e78418360a4e4f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/18bf1343789b661f13bd30b7d4e78418360a4e4f Author: Tobias Pape Date: 2018-10-18 (Thu, 18 Oct 2018) Changed paths: M build.linux32ARMv6/editpharoinstall.sh M build.linux32x86/editpharoinstall.sh M build.linux64x64/editpharoinstall.sh Log Message: ----------- Merge pull request #79 from bencoman/wgetPharoSources Download PharoXXX.sources if its not found in the usual location. Commit: 9d6ee956af7a69cdb4527da8807c9eec040ac33f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9d6ee956af7a69cdb4527da8807c9eec040ac33f Author: Tobias Pape Date: 2018-10-18 (Thu, 18 Oct 2018) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Merge pull request #155 from michael-roe/mousewheel Added X11 support for horizontal scroll wheel. Allons-y! Commit: e39b2091ccae1c021ceefed68822d1634162610e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e39b2091ccae1c021ceefed68822d1634162610e Author: Eliot Miranda Date: 2018-10-18 (Thu, 18 Oct 2018) Changed paths: M image/VM Simulation Workspace.text M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2463 Plugins: BitBltSimulation Fix a bug where the copyBits primitive read past the end of the source bitmap. sourceSkewAndPointerInit would sometimes compute preload true and skew true before then setting skew to -32. There was a hack fix in copyLoop, but the real bug in copyLoop was the inner loop special case for rule 3 (over, or STORE). It must fall back to the loop beginning "thisWord := self srcLongAt: sourceIndex." when preload is false, only using the loop beginning "self dstLongAt: destIndex put: prevWord." when preload and: [hDr = 1] is true. Simplify the preload calculation in sourceSkewAndPointerInit by computing a mask similar to mask1 and comparing it against mask1 to see that no bits would be lost (if the mask computed for source is larger than mask1 then a preload is necessary). Hence simplify the unskew and skewMask setup in copyLoop. Improve the performance of primitiveDisplayString by pulling the lockSurfaces and unlockSurfaces implicit in copyBits out of the loop and replacing copyBits with copyBitsLockedAndClipped in the loop. Fix primitivePixelValueAt so that it simulates correctly. Other plugins: Remove null implementations of initialiseModule and/or shutdownModule. The loader/unloader invokes these only if they exist, consequently null versions are simply a waste of time and space. Commit: 15341b57924ab32f52c68c58ab275f17f8928caf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/15341b57924ab32f52c68c58ab275f17f8928caf Author: Eliot Miranda Date: 2018-10-18 (Thu, 18 Oct 2018) Changed paths: M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c Log Message: ----------- CogVm source as per VMMaker.oscog-eem.2464 Cogit Slang Reflection: Fix nasty bug with CogAbstractInstruction computing opcodes via reflection caused by full blocks. We must use method allLiterals to include literals in blocks now. SysV is referenced only from blocks in CogX64Compiler class>>#initialize and so with full blocks SysV was being moved to Undeclared, causing invalid source generation for the X64 cogits. Commit: d63dedc8f52fab51e06c0278f4f5e8744d1dcc0d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d63dedc8f52fab51e06c0278f4f5e8744d1dcc0d Author: Guille Polito Date: 2018-10-22 (Mon, 22 Oct 2018) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Do only handle events that correspond to the VM window Commit: 84e37117b6c4ecbc085d905c5b247c34378ff4f7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/84e37117b6c4ecbc085d905c5b247c34378ff4f7 Author: Eliot Miranda Date: 2018-10-22 (Mon, 22 Oct 2018) Changed paths: M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2469 Plugins: Clean up BalloonEngine>>primitiveInitializeBuffer. Fix a bug in FloatArrayPlugin>>primitiveDivFloatArray; the old code didn't check for -0.0. Eliminate several unnecessary stackObjectValue:'s in Matrix2x3Plugin; isWords: checks for immediates anyway. Fix several comments in FloatArrayPlugin. Commit: cdbc68eec4d30402d938dc138c2f48c73ea52523 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cdbc68eec4d30402d938dc138c2f48c73ea52523 Author: Eliot Miranda Date: 2018-10-22 (Mon, 22 Oct 2018) Changed paths: M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2470 Plugins: Fix a regression in VMMaker.oscog-eem.2467. Slang: special case coercing a Float literal to #float, emitting it as N.Mf Commit: 671517e30e5afd50d75b90d1a64cb89add6b678c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/671517e30e5afd50d75b90d1a64cb89add6b678c Author: Clement Bera Date: 2018-10-23 (Tue, 23 Oct 2018) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Merge pull request #295 from guillep/fix/osx/events Do only handle events that correspond to the VM window Commit: 94e4f2565db5f75f1c0a9268eb2288d69f5cc58f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/94e4f2565db5f75f1c0a9268eb2288d69f5cc58f Author: Guille Polito Date: 2018-10-23 (Tue, 23 Oct 2018) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Added comments and removed PharoVM guards Commit: 0cedc7486633a9dd6af9f93117de86c520ecc12c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0cedc7486633a9dd6af9f93117de86c520ecc12c Author: Tm Jhnsn <2293335+tcj at users.noreply.github.com> Date: 2018-10-23 (Tue, 23 Oct 2018) Changed paths: M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.flags Log Message: ----------- Use output of xcode-select to determine path of Xcode in Mac Makefile, instead of hard-coding. xcode-select allows for multiple versions of Xcode to be installed and to be selected by the user. DO NOT put a space in a renamed Xcode.app, however: this will break SDK detection in the Makefile. Add OS X 10.14 SDKs for x64 build, as supplied by Xcode 10. Commit: 9320885e03ad028ec2da8c1f1cc6cddcc83045b1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9320885e03ad028ec2da8c1f1cc6cddcc83045b1 Author: Eliot Miranda Date: 2018-10-23 (Tue, 23 Oct 2018) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Merge pull request #296 from guillep/fix/osx/events Added comments and removed PharoVM guards for windowing support Commit: 232864407e12614c9e0829f4f49a123b457233d3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/232864407e12614c9e0829f4f49a123b457233d3 Author: Eliot Miranda Date: 2018-10-23 (Tue, 23 Oct 2018) Changed paths: A deploy/resize_display Log Message: ----------- Add linux & macOS script to deploy that sets the window size opened by an image. Commit: df9064a91430072f3136bd4099046cc225d201c2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/df9064a91430072f3136bd4099046cc225d201c2 Author: Eliot Miranda Date: 2018-10-26 (Fri, 26 Oct 2018) Changed paths: M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.flags Log Message: ----------- Merge pull request #297 from tcj/tcj-mac-buildsystem-xcode-select-64bit Use output of xcode-select to determine path of Xcode in Mac Makefile… Commit: 8c4b25a5532c12089576b5bc234607e3d14d14af https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8c4b25a5532c12089576b5bc234607e3d14d14af Author: Bob Westergaard Date: 2018-10-30 (Tue, 30 Oct 2018) Changed paths: M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c Log Message: ----------- replace valloc() with mmap() when allocating executable pages for callbacks Under linux, if SELinux is enabled (i.e. not permisive or disabled), then the heap memory allocated with vmalloc() and marked as executable with mprotect() will fail. In order to have this work with SELinux enabled (and not providing a module policy file to allow execheap) mmap() should be used. Note, it might be possible to remove the stdlib.h and sys/mman.h header file references. Commit: b6cb1927f39786de37d829a8677fe9cac2693a94 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b6cb1927f39786de37d829a8677fe9cac2693a94 Author: Guille Polito Date: 2018-10-31 (Wed, 31 Oct 2018) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Consume all events in the event queue to avoid application lockups Commit: 6fee3a7eb14686249385bf7b457c635cc6d5b921 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6fee3a7eb14686249385bf7b457c635cc6d5b921 Author: Eliot Miranda Date: 2018-10-31 (Wed, 31 Oct 2018) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Merge pull request #300 from guillep/fix/osx/events Consume all events in the event queue to avoid application lockups Commit: 3354ee22a58e8d22c3c06883d44f672b196738e7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3354ee22a58e8d22c3c06883d44f672b196738e7 Author: Eliot Miranda Date: 2018-10-31 (Wed, 31 Oct 2018) Changed paths: M src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/CameraPlugin/CameraPlugin.c M src/plugins/CroquetPlugin/CroquetPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/DropPlugin/DropPlugin.c M src/plugins/FFTPlugin/FFTPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/StarSqueakPlugin/StarSqueakPlugin.c M src/plugins/UUIDPlugin/UUIDPlugin.c M src/plugins/UnicodePlugin/UnicodePlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/WeDoPlugin/WeDoPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2480 Slang: Provide some clean up of pointer types in TMethods and type extraction, ensuring there's a space before any trailing *'s. Plugins: Fix primDigitCompare for SmallIntegers. The old code compared the values of the receiver and argument, not their magnitudes, if both were SmallIntegers. Simplify FilePlugin. removing an unnecessary indirection around dir_Delimitor. Remove null implementations of initialiseModule and/or shutdownModule. Commit: c7a9b1f28b01743dd86fc83c59e10f17c2fd2dbe https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c7a9b1f28b01743dd86fc83c59e10f17c2fd2dbe Author: Eliot Miranda Date: 2018-10-31 (Wed, 31 Oct 2018) Changed paths: M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c Log Message: ----------- Merge pull request #299 from bwestergaard/ditch-valloc replace valloc() with mmap() when allocating executable pages for cal… Commit: 39e43bd28f09ec48fb2d206478828235594d9c1b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/39e43bd28f09ec48fb2d206478828235594d9c1b Author: Eliot Miranda Date: 2018-10-31 (Wed, 31 Oct 2018) Changed paths: M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c Log Message: ----------- Add commentary to Bob's fix for the SELinux valloc issue. Commit: c2e11da3bea41c738462fc8c53d304a0ab01a1cd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c2e11da3bea41c738462fc8c53d304a0ab01a1cd Author: AlistairGrant Date: 2018-11-05 (Mon, 05 Nov 2018) Changed paths: M image/BuildSqueakSpurTrunkVMMakerImage.st Log Message: ----------- BuildSqueakSpurTrunkVMMakerImage.st disable underscores Disable underscores as assignment, allowing underscores in method names, which are used by vmmaker. Commit: e9f6f2f2dd65978b016d433594a10786d8a5049f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e9f6f2f2dd65978b016d433594a10786d8a5049f Author: Eliot Miranda Date: 2018-11-05 (Mon, 05 Nov 2018) Changed paths: M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2481 ThreadedFFIPlugin: Fix a bug passing floats on the stack on X64. The original code passed stacked floats as doubles. Mark ffiPush*Float:in: as since they are inined and this eliminates unused functions. Add some more test functions to sqFFITestFuncs.c Commit: d6237f777d8934bf233dc01253ade97a45895337 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d6237f777d8934bf233dc01253ade97a45895337 Author: Eliot Miranda Date: 2018-11-05 (Mon, 05 Nov 2018) Changed paths: M image/BuildSqueakSpurTrunkVMMakerImage.st Log Message: ----------- Merge pull request #301 from akgrant43/rbunderscores BuildSqueakSpurTrunkVMMakerImage.st disable underscores Commit: fe517ee146c2fb1f57cf6bd207b493543d096081 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fe517ee146c2fb1f57cf6bd207b493543d096081 Author: Eliot Miranda Date: 2018-11-06 (Tue, 06 Nov 2018) Changed paths: M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.ext M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.v3/plugins.ext M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.ext Log Message: ----------- Add Squeak3D to linux and Windows Squeak VM builds. Can people test on those platforms, especially 64-bits? Commit: d964e7448494bffdb07a16c4caaa97f861745e70 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d964e7448494bffdb07a16c4caaa97f861745e70 Author: Eliot Miranda Date: 2018-11-07 (Wed, 07 Nov 2018) Changed paths: M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- On X11, set all meta bits for arrow key events synthesized from mouse wheel events to distingusih them from real arrow key events. This is an attempt at compatibility with the Mac. The same approach might also be appropriate on Windows. Minor clean ups and added commentary. Commit: 5d0e0bcec2cda9438c8ced76d42336383970740c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5d0e0bcec2cda9438c8ced76d42336383970740c Author: Eliot Miranda Date: 2018-11-08 (Thu, 08 Nov 2018) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2482 Slang Fix mis-handling of trailing boolean on inlining in conditionals when trailing boolean would cause the conditional to be taken. e.g. in self tryCopyingBitsQuickly ifTrue: [^nil]. tryCopyingBitsQuickly ends with ^true but the in lining code handled the trailing ^true by taking the fall-through path past the ^nil. Consequently fix a regression in the BitBlt primitive caused by cleanups in VMMaker.oscog-eem.2461. Regenerate VM files to bring source up to date after minor changes for Slang pointer type normalization in VMMaker.oscog-eem.2476. Commit: 897ef1725e32c2eb3d24e3402b2e95b114b8b28b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/897ef1725e32c2eb3d24e3402b2e95b114b8b28b Author: Eliot Miranda Date: 2018-11-09 (Fri, 09 Nov 2018) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sq.h M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm/sqUnixEvent.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2484 Add support for a sendWheelEvents flag that persists in the image header and is settable via vmParameterAt: 48 put: ...32... Support this on macOS and X11. Any kind soul who knows Windows is encouraged to write the analogous code for WIN32/64. Commit: f74c43a1fd0f2f2672832568c3aa245f9b1dc0d0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f74c43a1fd0f2f2672832568c3aa245f9b1dc0d0 Author: Ronie Salgado Date: 2018-11-11 (Sun, 11 Nov 2018) Changed paths: M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.rules M build.macos64x64/common/Makefile.vm A platforms/iOS/vm/English.lproj/MainMenu-opengl.xib M platforms/iOS/vm/English.lproj/MainMenu.xib M platforms/iOS/vm/OSX/SqViewBitmapConversion.m M platforms/iOS/vm/OSX/SqViewClut.m A platforms/iOS/vm/OSX/SqueakMainShaders.metal M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m A platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h A platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m Log Message: ----------- I ported the main OS X view from OpenGL into Metal. Commit: 534db294809a6c23ad44eff0ff2b41cc2bd5ec66 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/534db294809a6c23ad44eff0ff2b41cc2bd5ec66 Author: Ronie Salgado Date: 2018-11-11 (Sun, 11 Nov 2018) Changed paths: M platforms/iOS/vm/Common/Classes/sqSqueakEventsAPI.m Log Message: ----------- Disable restoring OpenGL context hack in ioProcessEvents when using Metal for the main window. Commit: ea78e18f6911dc554cdd3be6b2c4a82a322d0605 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ea78e18f6911dc554cdd3be6b2c4a82a322d0605 Author: Ronie Salgado Date: 2018-11-11 (Sun, 11 Nov 2018) Changed paths: M build.macos64x64/common/Makefile.rules Log Message: ----------- Set the version of the metal shading language to use. Commit: 24705afc9ca2a4b88ed3eefc12f3a3d184cecf2e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/24705afc9ca2a4b88ed3eefc12f3a3d184cecf2e Author: Ronie Salgado Date: 2018-11-11 (Sun, 11 Nov 2018) Changed paths: M build.macos64x64/common/Makefile.rules Log Message: ----------- Use osx-metal1.1 instead macos-metal1.1. Commit: 367164db1bcab073393974b5b1ee658c50f9beac https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/367164db1bcab073393974b5b1ee658c50f9beac Author: Ronie Salgado Date: 2018-11-11 (Sun, 11 Nov 2018) Changed paths: M build.macos64x64/common/Makefile.rules Log Message: ----------- Another attempt to build shaders on CI. Commit: 4380ab9155596d55bc37c5f43167642ecf6f6261 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4380ab9155596d55bc37c5f43167642ecf6f6261 Author: Ronie Salgado Date: 2018-11-11 (Sun, 11 Nov 2018) Changed paths: M build.macos64x64/common/Makefile.rules Log Message: ----------- I added a workaround for the different versions of the metallib tool. Commit: 8841c0bfb800bf3c3777c2ec57da4bd6448b78a2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8841c0bfb800bf3c3777c2ec57da4bd6448b78a2 Author: Ronie Salgado Date: 2018-11-11 (Sun, 11 Nov 2018) Changed paths: M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.rules A platforms/iOS/vm/OSX/SqueakMainShaders.metal.inc M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m A scripts/build-metal-shaders.sh Log Message: ----------- Embed statically the compiled metal shaders as a workaround for CI problems. Commit: 745fbbfc97649359aa4bd5c72130f20c3f6b1a62 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/745fbbfc97649359aa4bd5c72130f20c3f6b1a62 Author: Eliot Miranda Date: 2018-11-11 (Sun, 11 Nov 2018) Changed paths: M platforms/Cross/plugins/Squeak3D/b3d.h M platforms/Cross/plugins/Squeak3D/b3dAlloc.h M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/plugins/Squeak3D/b3dTypes.h M src/plugins/Squeak3D/Squeak3D.c Log Message: ----------- Squeak3D/B3DEnginePlugin as per Balloon3D-Plugins-eem.15 Simplify b3dInitializeRasterizerState, reducing the number of primitiveFailed calls and eliminating cCode:'s. Refactor the support code to make clear that allocations only happen in b3dMain.c. Fix an uncheck allocation bug that crashes the plugin with very complex scenes. Commit: a3f516f3dea07298aff2b530d79babf0e014342f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a3f516f3dea07298aff2b530d79babf0e014342f Author: Eliot Miranda Date: 2018-11-11 (Sun, 11 Nov 2018) Changed paths: M platforms/Cross/plugins/Squeak3D/b3dTypes.h Log Message: ----------- Check platform endianness in the Squeak3D plugin by a better method and hence get the colors right. Commit: fd213d14072e1099ded3590d99dd36e03562bcfe https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fd213d14072e1099ded3590d99dd36e03562bcfe Author: Eliot Miranda Date: 2018-11-11 (Sun, 11 Nov 2018) Changed paths: M platforms/Cross/plugins/Squeak3D/b3d.h M platforms/Cross/plugins/Squeak3D/b3dRemap.c M platforms/Cross/plugins/Squeak3D/b3dTypes.h Log Message: ----------- Fix some 32-bit object assumptions in the Squeak3D support code. On 64-bits "B3DDemoSurfaces new show1" still fails but no longer crashes the VM. Commit: 0b15880b6b9ffc816a951f63270b9a9ea12d5c49 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0b15880b6b9ffc816a951f63270b9a9ea12d5c49 Author: Eliot Miranda Date: 2018-11-12 (Mon, 12 Nov 2018) Changed paths: M build.macos64x64/common/Makefile.app Log Message: ----------- Update Makefile.app Commit: e42d3d1810bb88a43d56cb63c9e7d07fc20d4c4f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e42d3d1810bb88a43d56cb63c9e7d07fc20d4c4f Author: Eliot Miranda Date: 2018-11-12 (Mon, 12 Nov 2018) Changed paths: M build.macos64x64/common/Makefile.rules Log Message: ----------- Update Makefile.rules Commit: 6e1da7500a653eb906606562145a8f863e25fab4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6e1da7500a653eb906606562145a8f863e25fab4 Author: Ronie Salgado Date: 2018-11-13 (Tue, 13 Nov 2018) Changed paths: M platforms/iOS/vm/OSX/SqueakMainShaders.metal.inc M scripts/build-metal-shaders.sh Log Message: ----------- Adding a comment on the embedded compiled shaders. Commit: b83f9ecd5aeafa7e1e55c6db2f7fa90bae731c0a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b83f9ecd5aeafa7e1e55c6db2f7fa90bae731c0a Author: Esteban Lorenzano Date: 2018-11-16 (Fri, 16 Nov 2018) Changed paths: M build.macos64x64/common/Makefile.flags Log Message: ----------- add latest osx sdk Commit: 7ac73031f5fff73659da405f87954f7c7ca73db0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7ac73031f5fff73659da405f87954f7c7ca73db0 Author: Esteban Lorenzano Date: 2018-11-16 (Fri, 16 Nov 2018) Changed paths: M third-party/freetype2.spec Log Message: ----------- update freetype version to 2.9.1 Commit: 65f27bbc17a86bacfc6cc98dea16686fb0ca62c0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/65f27bbc17a86bacfc6cc98dea16686fb0ca62c0 Author: Esteban Lorenzano Date: 2018-11-16 (Fri, 16 Nov 2018) Changed paths: M build.win64x64/third-party/Makefile.freetype2 Log Message: ----------- taking freetype version for win64 from our own file server (because we need version 2.9.1) Commit: b6a1085868d16b10a06fe2443be1bf1a38a45a91 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b6a1085868d16b10a06fe2443be1bf1a38a45a91 Author: Esteban Lorenzano Date: 2018-11-16 (Fri, 16 Nov 2018) Changed paths: M build.linux32ARMv6/editpharoinstall.sh M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32x86/editpharoinstall.sh M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux64x64/HowToBuild A build.linux64x64/bochsx64/conf.COG A build.linux64x64/bochsx64/conf.COG.dbg A build.linux64x64/bochsx64/exploration/Makefile A build.linux64x64/bochsx64/makeem A build.linux64x64/bochsx86/conf.COG A build.linux64x64/bochsx86/makeem M build.linux64x64/editpharoinstall.sh A build.linux64x64/gdbarm32/conf.COG A build.linux64x64/gdbarm32/makeem M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.ext M build.macos32x86/HowToBuild M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.flags M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.v3/plugins.ext M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.ext A deploy/resize_display M image/BuildSqueakSpurTrunkVMMakerImage.st M image/Slang Test Workspace.text M image/VM Simulation Workspace.text M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/Squeak3D/b3d.h M platforms/Cross/plugins/Squeak3D/b3dAlloc.h M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/plugins/Squeak3D/b3dRemap.c M platforms/Cross/plugins/Squeak3D/b3dTypes.h M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c M platforms/Cross/vm/sq.h M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.m M platforms/iOS/vm/Common/Classes/sqSqueakNullScreenAndWindow.m M platforms/iOS/vm/Common/Classes/sqSqueakScreenAndWindow.m M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m M platforms/iOS/vm/OSX/sqMacV2Window.m M platforms/iOS/vm/OSX/sqSqueakMainApplication+screen.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m M platforms/unix/plugins/BochsIA32Plugin/Makefile.inc M platforms/unix/plugins/BochsX64Plugin/Makefile.inc M platforms/unix/plugins/GdbARMPlugin/Makefile.inc M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm/sqUnixEvent.c M platforms/win32/vm/sqWin32Window.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/CameraPlugin/CameraPlugin.c M src/plugins/CroquetPlugin/CroquetPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/DropPlugin/DropPlugin.c M src/plugins/FFTPlugin/FFTPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/StarSqueakPlugin/StarSqueakPlugin.c M src/plugins/UUIDPlugin/UUIDPlugin.c M src/plugins/UnicodePlugin/UnicodePlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/WeDoPlugin/WeDoPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Merge branch 'Cog' of github.com:OpenSmalltalk/opensmalltalk-vm into add-win64 Commit: 1c68114e5aa1ae3d9536ef478f072cb8b7aea299 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1c68114e5aa1ae3d9536ef478f072cb8b7aea299 Author: AlistairGrant Date: 2018-11-18 (Sun, 18 Nov 2018) Changed paths: M build.linux32ARMv6/editpharoinstall.sh M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32x86/editpharoinstall.sh M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux64x64/HowToBuild A build.linux64x64/bochsx64/conf.COG A build.linux64x64/bochsx64/conf.COG.dbg A build.linux64x64/bochsx64/exploration/Makefile A build.linux64x64/bochsx64/makeem A build.linux64x64/bochsx86/conf.COG A build.linux64x64/bochsx86/makeem M build.linux64x64/editpharoinstall.sh A build.linux64x64/gdbarm32/conf.COG A build.linux64x64/gdbarm32/makeem M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.ext M build.macos32x86/HowToBuild M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.flags M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.v3/plugins.ext M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.ext A deploy/resize_display M image/BuildSqueakSpurTrunkVMMakerImage.st M image/Slang Test Workspace.text M image/VM Simulation Workspace.text M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c A platforms/Cross/plugins/FileAttributesPlugin/faCommon.c A platforms/Cross/plugins/FileAttributesPlugin/faCommon.h A platforms/Cross/plugins/FileAttributesPlugin/faConstants.h M platforms/Cross/plugins/FilePlugin/FilePlugin.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/Squeak3D/b3d.h M platforms/Cross/plugins/Squeak3D/b3dAlloc.h M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/plugins/Squeak3D/b3dRemap.c M platforms/Cross/plugins/Squeak3D/b3dTypes.h M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c M platforms/Cross/vm/sq.h M platforms/iOS/plugins/FileAttributesPlugin/Makefile M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.m M platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m M platforms/iOS/vm/Common/Classes/sqSqueakNullScreenAndWindow.m M platforms/iOS/vm/Common/Classes/sqSqueakScreenAndWindow.m M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m M platforms/iOS/vm/OSX/sqMacV2Window.m M platforms/iOS/vm/OSX/sqSqueakMainApplication+screen.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m M platforms/unix/plugins/BochsIA32Plugin/Makefile.inc M platforms/unix/plugins/BochsX64Plugin/Makefile.inc A platforms/unix/plugins/FileAttributesPlugin/faSupport.c A platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/unix/plugins/FilePlugin/sqUnixFile.c M platforms/unix/plugins/GdbARMPlugin/Makefile.inc M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm/sqUnixEvent.c A platforms/win32/plugins/FileAttributesPlugin/faSupport.c A platforms/win32/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32Window.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/CameraPlugin/CameraPlugin.c M src/plugins/CroquetPlugin/CroquetPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/DropPlugin/DropPlugin.c M src/plugins/FFTPlugin/FFTPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/StarSqueakPlugin/StarSqueakPlugin.c M src/plugins/UUIDPlugin/UUIDPlugin.c M src/plugins/UnicodePlugin/UnicodePlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/WeDoPlugin/WeDoPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Merge remote-tracking branch 'upstream/Cog' into akg-minheadless-vm Commit: 785edabcfb836c650487e9a91576be653420c5f8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/785edabcfb836c650487e9a91576be653420c5f8 Author: Ronie Salgado Date: 2018-11-18 (Sun, 18 Nov 2018) Changed paths: M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.flags M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h A platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal A platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal.inc M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.m A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.h A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.m A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalStructures.h M platforms/iOS/vm/OSX/SqueakMainShaders.metal M platforms/iOS/vm/OSX/SqueakMainShaders.metal.inc M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m M scripts/build-metal-shaders.sh Log Message: ----------- I am starting to reimplement the B3DAcceleratorPlugin using Metal. So far I managed to get a black screen by using the extra layers mechanism, Commit: b547437318ad2f3e6894bd1e4d35dc32b8ef3356 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b547437318ad2f3e6894bd1e4d35dc32b8ef3356 Author: Ronie Salgado Date: 2018-11-18 (Sun, 18 Nov 2018) Changed paths: M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.h M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.m M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m Log Message: ----------- Creating the depth-stencil buffer, and clearing the screen. Commit: f6d43e3f7dcd300413f93011c95e5ffcfe8f7aac https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6d43e3f7dcd300413f93011c95e5ffcfe8f7aac Author: Ronie Salgado Date: 2018-11-18 (Sun, 18 Nov 2018) Changed paths: M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h M platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal M platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal.inc M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.h M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.m M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalStructures.h Log Message: ----------- I am starting to render a bit. Commit: 909d0499bad2bc7db2dd982f49a074e8f5aac7cf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/909d0499bad2bc7db2dd982f49a074e8f5aac7cf Author: Ronie Salgado Date: 2018-11-19 (Mon, 19 Nov 2018) Changed paths: M platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal M platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal.inc M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.h M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.m M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalStructures.h Log Message: ----------- I am starting to implement the lighting model in the metal based B3DAcceleratorPlugin. Commit: 07f2a935ed2518afd70d03ea6cbf60359f93c3e0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/07f2a935ed2518afd70d03ea6cbf60359f93c3e0 Author: Ronie Salgado Date: 2018-11-19 (Mon, 19 Nov 2018) Changed paths: M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.m Log Message: ----------- Add a -1 offset to the B3D indices going to Metal. Commit: b44f7766efdcdbe4b72ea17d55dc89a596ccbcff https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b44f7766efdcdbe4b72ea17d55dc89a596ccbcff Author: Ronie Salgado Date: 2018-11-19 (Mon, 19 Nov 2018) Changed paths: M platforms/Cross/plugins/Squeak3D/b3d.h M platforms/Cross/plugins/Squeak3D/b3dAlloc.h M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/plugins/Squeak3D/b3dRemap.c M platforms/Cross/plugins/Squeak3D/b3dTypes.h M src/plugins/Squeak3D/Squeak3D.c Log Message: ----------- Merge branch 'Cog' into feature/metal_b3d Commit: d8934ffda8c8f63ab4a12ff5ff36f437cb2314c0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d8934ffda8c8f63ab4a12ff5ff36f437cb2314c0 Author: Esteban Lorenzano Date: 2018-11-20 (Tue, 20 Nov 2018) Changed paths: M build.win64x64/third-party/Makefile.freetype2 M third-party/freetype2.spec Log Message: ----------- Merge pull request #307 from estebanlm/add-win64 update freetype2 to v2.9.1 Commit: d47561492a4f0d7f619646ec6157be9af71581c5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d47561492a4f0d7f619646ec6157be9af71581c5 Author: AlistairGrant Date: 2018-11-22 (Thu, 22 Nov 2018) Changed paths: M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c Log Message: ----------- mindheadless: Reinstate stdio processing in sqWin32FilePrims.c If the file is a stdio stream use ReadConsole() and WriteConsole() instead of ReadFile() and WriteFile(). Commit: ed17af1a9710c967e34921a68c5d6a40aa719f92 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ed17af1a9710c967e34921a68c5d6a40aa719f92 Author: AlistairGrant Date: 2018-11-22 (Thu, 22 Nov 2018) Changed paths: M build.linux64x64/pharo.cog.spur.minheadless/build/mvm Log Message: ----------- minheadlessvm: linux64 mvm fix INSTALLDIR - Original installed in to the middle of the 32 bit full build (phcogspurlinuxht) - Set install dir to ph64mincogspurlinuxht - Delete and recreate the install directory Commit: 99904ec115eff044462adb72e7fcfe2e67ecfc1b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/99904ec115eff044462adb72e7fcfe2e67ecfc1b Author: AlistairGrant Date: 2018-11-22 (Thu, 22 Nov 2018) Changed paths: M cmake/Plugins.cmake Log Message: ----------- minheadless Add FileAttributesPlugin FileAttributesPlugin is part of the standard Squeak and Pharo VMs. Commit: 9f62de55df2a1822c4f2b0e113a0fd6bfa4797e4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9f62de55df2a1822c4f2b0e113a0fd6bfa4797e4 Author: AlistairGrant Date: 2018-11-22 (Thu, 22 Nov 2018) Changed paths: M third-party/libsdl2.spec Log Message: ----------- minheadless fix libSDL2 linux64 so file name libSDL2-2.0.so.0.4.1 => libSDL2-2.0.so.0.7.0 Commit: 827ebe0ffbbf56abdee94fbdd519f00f7ddc0a27 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/827ebe0ffbbf56abdee94fbdd519f00f7ddc0a27 Author: AlistairGrant Date: 2018-11-22 (Thu, 22 Nov 2018) Changed paths: M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c Log Message: ----------- sqFilePluginBasicPrims.c: remove unused variable position Commit: 0ae4b423f893b12907e05ee05d337bb455b04db8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0ae4b423f893b12907e05ee05d337bb455b04db8 Author: AlistairGrant Date: 2018-11-22 (Thu, 22 Nov 2018) Changed paths: M platforms/iOS/plugins/FilePlugin/sqUnixFile.c M platforms/unix/plugins/FilePlugin/sqUnixFile.c Log Message: ----------- sqUnixFile.c: align iOS and unix versions, remove excess brackets Commit: 6bb17079811e54d96a10666a5603955e59d3fb8d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6bb17079811e54d96a10666a5603955e59d3fb8d Author: AlistairGrant Date: 2018-11-22 (Thu, 22 Nov 2018) Changed paths: M cmake/Plugins.cmake Log Message: ----------- minheadless: FileAttributesPlugin needs to be internal on MacOS Commit: 22fbcda7fc146bf6e6d114d39299be7a8745332c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/22fbcda7fc146bf6e6d114d39299be7a8745332c Author: AlistairGrant Date: 2018-11-23 (Fri, 23 Nov 2018) Changed paths: M build.linux32x86/pharo.cog.spur.minheadless/build/mvm Log Message: ----------- minheadless: update linux 32bit mvm to match 64bit Commit: f89e1494c630891e836e2961e139a5af6c6cfaf7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f89e1494c630891e836e2961e139a5af6c6cfaf7 Author: AlistairGrant Date: 2018-11-23 (Fri, 23 Nov 2018) Changed paths: M build.win64x64/third-party/Makefile.freetype2 M third-party/freetype2.spec Log Message: ----------- Merge remote-tracking branch 'upstream/Cog' into akg-minheadless-vm Commit: 308362b0a1310de8088a6e941f689315ec2d1bc8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/308362b0a1310de8088a6e941f689315ec2d1bc8 Author: AlistairGrant Date: 2018-11-23 (Fri, 23 Nov 2018) Changed paths: M platforms/Cross/vm/sqAssert.h Log Message: ----------- minheadless: sqAssert.h move sqError() decleration sqError() is only used if error hasn't been defined. Make its decleration conditional and hope that it works on MacOS. Commit: c869f76e4b67159966ad26f97a6f14e1bc985aef https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c869f76e4b67159966ad26f97a6f14e1bc985aef Author: AlistairGrant Date: 2018-11-23 (Fri, 23 Nov 2018) Changed paths: M platforms/Cross/vm/sqAssert.h M platforms/minheadless/common/sqPlatformSpecificCommon.h Log Message: ----------- minheadless: move sqError() declaration from platforms/Cross/vm/sqAssert.h to platforms/minheadless/common/sqPlatformSpecificCommon.h sqError() is only defined within minheadless, so shouldn't be part of the older build system. Commit: 1733b72a377395df864e4a7dd85b54c23eff4501 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1733b72a377395df864e4a7dd85b54c23eff4501 Author: Ronie Salgado Date: 2018-11-26 (Mon, 26 Nov 2018) Changed paths: M platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal M platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal.inc M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.h M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.m Log Message: ----------- I implemented the Squeak3D lighting model above metal. I started to implement support for Metal textures. Commit: 476f70605a0352dd7528d251f7403e9233716cdb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/476f70605a0352dd7528d251f7403e9233716cdb Author: Eliot Miranda Date: 2018-11-27 (Tue, 27 Nov 2018) Changed paths: A .clang_complete M .gitattributes A CMakeLists.txt A build.linux32x86/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.assert/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build/mvm A build.linux32x86/pharo.cog.spur.minheadless/makeallclean A build.linux32x86/pharo.cog.spur.minheadless/makealldirty A build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build/mvm A build.linux64x64/pharo.cog.spur.minheadless/makeallclean A build.linux64x64/pharo.cog.spur.minheadless/makealldirty A build.macos32x86/common.minheadless/Makefile.app A build.macos32x86/common.minheadless/Makefile.app.newspeak A build.macos32x86/common.minheadless/Makefile.app.squeak A build.macos32x86/common.minheadless/Makefile.clangversion A build.macos32x86/common.minheadless/Makefile.flags A build.macos32x86/common.minheadless/Makefile.lib.extra A build.macos32x86/common.minheadless/Makefile.plugin A build.macos32x86/common.minheadless/Makefile.rules A build.macos32x86/common.minheadless/Makefile.sources A build.macos32x86/common.minheadless/Makefile.vm A build.macos32x86/common.minheadless/mkInternalPluginsList.sh A build.macos32x86/common.minheadless/mkNamedPrims.sh A build.macos32x86/pharo.cog.spur.minheadless/Makefile A build.macos32x86/pharo.cog.spur.minheadless/mvm A build.macos32x86/pharo.cog.spur.minheadless/plugins.ext A build.macos32x86/pharo.cog.spur.minheadless/plugins.int A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin.cmake A build.minheadless.cmake/x64/common/configure_variant.sh A build.minheadless.cmake/x64/pharo.cog.spur/Makefile A build.minheadless.cmake/x64/pharo.cog.spur/mvm A build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure A build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure_variant A build.minheadless.cmake/x64/pharo.stack.spur/Makefile A build.minheadless.cmake/x64/pharo.stack.spur/mvm A build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure A build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x64/squeak.cog.spur/Makefile A build.minheadless.cmake/x64/squeak.cog.spur/mvm A build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure A build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure_variant A build.minheadless.cmake/x64/squeak.stack.spur/Makefile A build.minheadless.cmake/x64/squeak.stack.spur/mvm A build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure A build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin.cmake A build.minheadless.cmake/x86/common/configure_variant.sh A build.minheadless.cmake/x86/pharo.cog.spur/Makefile A build.minheadless.cmake/x86/pharo.cog.spur/mvm A build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure A build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure_variant A build.minheadless.cmake/x86/pharo.stack.spur/Makefile A build.minheadless.cmake/x86/pharo.stack.spur/mvm A build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure A build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/squeak.cog.spur/Makefile A build.minheadless.cmake/x86/squeak.cog.spur/mvm A build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure A build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure_variant A build.minheadless.cmake/x86/squeak.stack.spur/Makefile A build.minheadless.cmake/x86/squeak.stack.spur/mvm A build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure A build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure_variant A cmake/Mpeg3Plugin.cmake A cmake/Plugins.cmake A cmake/PluginsPharo.cmake A include/OpenSmalltalkVM.h M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h A platforms/Cross/vm/sqCircularQueue.h A platforms/Cross/vm/sqPath.c A platforms/Cross/vm/sqPath.h A platforms/Cross/vm/sqTextEncoding.c A platforms/Cross/vm/sqTextEncoding.h A platforms/iOS/plugins/FilePlugin/Makefile A platforms/iOS/plugins/FilePlugin/sqUnixFile.c R platforms/iOS/plugins/SecurityPlugin/sqMacSecurity.c A platforms/iOS/plugins/SecurityPlugin/sqUnixSecurity.c A platforms/minheadless/common/English.lproj/Newspeak-Localizable.strings A platforms/minheadless/common/English.lproj/Pharo-Localizable.strings A platforms/minheadless/common/English.lproj/Squeak-Localizable.strings A platforms/minheadless/common/debug.h A platforms/minheadless/common/glibc.h A platforms/minheadless/common/mac-alias.inc A platforms/minheadless/common/sqConfig.h A platforms/minheadless/common/sqEventCommon.c A platforms/minheadless/common/sqEventCommon.h A platforms/minheadless/common/sqExternalPrimitives.c A platforms/minheadless/common/sqExternalPrimitives.c.orig A platforms/minheadless/common/sqInternalPrimitives.c A platforms/minheadless/common/sqMain.c A platforms/minheadless/common/sqNamedPrims.h A platforms/minheadless/common/sqPlatformSpecific.h A platforms/minheadless/common/sqPlatformSpecificCommon.h A platforms/minheadless/common/sqPrinting.c A platforms/minheadless/common/sqVirtualMachineInterface.c A platforms/minheadless/common/sqWindow-Dispatch.c A platforms/minheadless/common/sqWindow-Null.c A platforms/minheadless/common/sqWindow.h A platforms/minheadless/common/sqaio.h A platforms/minheadless/common/version.c A platforms/minheadless/config.h.in A platforms/minheadless/generic/sqPlatformSpecific-Generic.c A platforms/minheadless/generic/sqPlatformSpecific-Generic.h A platforms/minheadless/sdl2-window/sqWindow-SDL2.c A platforms/minheadless/unix/BlueSistaSqueak.icns A platforms/minheadless/unix/GreenCogSqueak.icns A platforms/minheadless/unix/NewspeakDocuments.icns A platforms/minheadless/unix/NewspeakVirtualMachine.icns A platforms/minheadless/unix/Pharo-Info.plist A platforms/minheadless/unix/Pharo.icns A platforms/minheadless/unix/PharoChanges.icns A platforms/minheadless/unix/PharoImage.icns A platforms/minheadless/unix/PharoSources.icns A platforms/minheadless/unix/Squeak.icns A platforms/minheadless/unix/SqueakChanges.icns A platforms/minheadless/unix/SqueakGeneric.icns A platforms/minheadless/unix/SqueakImage.icns A platforms/minheadless/unix/SqueakPlugin.icns A platforms/minheadless/unix/SqueakProject.icns A platforms/minheadless/unix/SqueakScript.icns A platforms/minheadless/unix/SqueakSources.icns A platforms/minheadless/unix/aioUnix.c A platforms/minheadless/unix/sqPlatformSpecific-Unix.c A platforms/minheadless/unix/sqPlatformSpecific-Unix.h A platforms/minheadless/unix/sqUnixCharConv.c A platforms/minheadless/unix/sqUnixCharConv.h A platforms/minheadless/unix/sqUnixHeartbeat.c A platforms/minheadless/unix/sqUnixMemory.c A platforms/minheadless/unix/sqUnixSpurMemory.c A platforms/minheadless/unix/sqUnixThreads.c A platforms/minheadless/windows/sqGnu.h A platforms/minheadless/windows/sqPlatformSpecific-Win32.c A platforms/minheadless/windows/sqPlatformSpecific-Win32.h A platforms/minheadless/windows/sqWin32.h A platforms/minheadless/windows/sqWin32Alloc.c A platforms/minheadless/windows/sqWin32Alloc.h A platforms/minheadless/windows/sqWin32Backtrace.c A platforms/minheadless/windows/sqWin32Backtrace.h A platforms/minheadless/windows/sqWin32Common.c A platforms/minheadless/windows/sqWin32Directory.c A platforms/minheadless/windows/sqWin32HandleTable.h A platforms/minheadless/windows/sqWin32Heartbeat.c A platforms/minheadless/windows/sqWin32Main.c A platforms/minheadless/windows/sqWin32SpurAlloc.c A platforms/minheadless/windows/sqWin32Threads.c A platforms/minheadless/windows/sqWin32Time.c M platforms/unix/plugins/FilePlugin/sqUnixFile.c M platforms/win32/plugins/FilePlugin/sqWin32File.h M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32Window.c M spursrc/vm/cogit.h M spursrc/vm/cogitIA32.c M spursrc/vm/cointerp.c M third-party/libsdl2.spec Log Message: ----------- Merge pull request #310 from akgrant43/akg-minheadless-vm minheadless updates Commit: 096a0fcd4f37729d2a159dec384d4a65f9b87fa0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/096a0fcd4f37729d2a159dec384d4a65f9b87fa0 Author: Ronie Salgado Date: 2018-11-30 (Fri, 30 Nov 2018) Changed paths: M CMakeLists.txt M build.minheadless.cmake/x64/common/configure_variant.sh M cmake/Plugins.cmake M cmake/PluginsPharo.cmake M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/plugins/IA32ABI/xabicc.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3private.h M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/minheadless/windows/sqWin32Directory.c A platforms/minheadless/windows/sqWin32Stubs.c Log Message: ----------- Fix the build of the minheadless VM for Pharo in Win32. Commit: 09179829d8a7ffb15479335557ee931e281c0d8f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/09179829d8a7ffb15479335557ee931e281c0d8f Author: Eliot Miranda Date: 2018-11-30 (Fri, 30 Nov 2018) Changed paths: M CMakeLists.txt M build.minheadless.cmake/x64/common/configure_variant.sh M cmake/Plugins.cmake M cmake/PluginsPharo.cmake M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/plugins/IA32ABI/xabicc.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3private.h M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/minheadless/windows/sqWin32Directory.c A platforms/minheadless/windows/sqWin32Stubs.c Log Message: ----------- Merge pull request #311 from ronsaldo/minheadless/win32_cmake_fix Fix the build of the minheadless VM for Pharo in Win32. Commit: 649f3f16fc4ca9ce48d069a44aa79ea5d34d821a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/649f3f16fc4ca9ce48d069a44aa79ea5d34d821a Author: Eliot Miranda Date: 2018-11-30 (Fri, 30 Nov 2018) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/Squeak3D/b3dMain.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2488 StackInterpreter: Fix a bug where a reference in a married context in a base frame would prevent garbage collection. The same issue is fixed for normal marriage/divorce of contexts, but was not handled in makeBaseFrameFor:. Thanks to Ryan Macnak for identifying both bug and fix. SelectiveCompactor just abort compaction when it fails to find a segment to compact into or to allocate one, instead of crashing the VM with the error 'no segment to compact into' Sista: Make non-local return safe in the presence of Sista outer-context-less blocks; i.e. throw cannotReturn: when a home context can't be found instead of crashing. Commit: f6445ab9ea75f685e4e53bff8917449646c3754b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6445ab9ea75f685e4e53bff8917449646c3754b Author: AlistairGrant Date: 2018-12-01 (Sat, 01 Dec 2018) Changed paths: M platforms/Cross/plugins/FileAttributesPlugin/faCommon.c M platforms/Cross/plugins/FileAttributesPlugin/faCommon.h M platforms/Cross/plugins/FileAttributesPlugin/faConstants.h M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin: Add session Id FileAttributesPlugin passes an address back to the image while iterating over directories. If the iteration is paused, image save and the VM restarted, the address is, of course, no longer valid. Store the VM session Id with the address to ensure that invalid addresses are not used. Commit: 47380643bc2d3253c43565a104e3323038e6c377 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47380643bc2d3253c43565a104e3323038e6c377 Author: Eliot Miranda Date: 2018-12-02 (Sun, 02 Dec 2018) Changed paths: M src/plugins/SerialPlugin/SerialPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2489/VMMaker.oscog-Richo.2487 Added missing primitive SerialPlugin>>#primitiveSerialPortCloseByName: This fixes a bug with named serial ports in windows that were not being closed properly. Commit: b09fe2fd075ca28be8df27313747a9977bea20d0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b09fe2fd075ca28be8df27313747a9977bea20d0 Author: Eliot Miranda Date: 2018-12-02 (Sun, 02 Dec 2018) Changed paths: M platforms/iOS/plugins/SerialPlugin/sqMacSerialPort.c Log Message: ----------- Add missing dummy definition for serialPostCloseByName on iOS to rescue the MacOS builds. Commit: 128b467faf11cc491671e92b578edd0453827aab https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/128b467faf11cc491671e92b578edd0453827aab Author: Eliot Miranda Date: 2018-12-02 (Sun, 02 Dec 2018) Changed paths: A platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c M platforms/iOS/plugins/SerialPlugin/Makefile R platforms/iOS/plugins/SerialPlugin/sqMacSerialPort.c M platforms/unix/plugins/SerialPlugin/sqUnixSerial.c Log Message: ----------- MacOS X does support the tcsetattr serial port support supposed by sqUnixSerial.c. So instead of using the null support that was in sqMacSerialPort.c, update the Mac builds to use sqUnixSerial.c, and rename the mac's file to platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c THIS IS UNTESTED! In particular the code in sqUnixSerial.c (dubiously IMO) does not use serialPortBaseName, and instead makes an assumption that serial ports are as defined by serialPortBaseNameDefault, i.e. are in the range /dev/tty50 to /dev/tty59. It would be great if a) someone tested the code on MacOS X b) the naming convention were better. On Mac OS X (see e.g. https://software.intel.com/en-us/setting-up-serial-terminal-on-system-with-mac-os-x), the serial ports are /dev/tty.NAME., e.g. /dev/cu.Bluetooth-Incoming-Port, /dev/cu.BoseQuietControl30-SPPD, etc. Commit: c79879b4b4bd5991bb2a9e7142286c75906700d5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c79879b4b4bd5991bb2a9e7142286c75906700d5 Author: Eliot Miranda Date: 2018-12-03 (Mon, 03 Dec 2018) Changed paths: M platforms/iOS/plugins/AioPlugin/Makefile M platforms/iOS/plugins/AsynchFilePlugin/Makefile M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile M platforms/iOS/plugins/FileAttributesPlugin/Makefile M platforms/iOS/plugins/FileCopyPlugin/Makefile M platforms/iOS/plugins/FilePlugin/Makefile M platforms/iOS/plugins/Mpeg3Plugin/Makefile M platforms/iOS/plugins/ObjectiveCPlugin/Makefile M platforms/iOS/plugins/SecurityPlugin/Makefile R platforms/iOS/plugins/SecurityPlugin/sqUnixSecurity.c M platforms/iOS/plugins/SerialPlugin/Makefile M platforms/iOS/plugins/SocketPlugin/Makefile M platforms/iOS/plugins/SoundPlugin/Makefile M platforms/iOS/plugins/UnixOSProcessPlugin/Makefile M platforms/unix/plugins/SecurityPlugin/sqUnixSecurity.c Log Message: ----------- Fix the issue raised by Pablo Tesone for startup of the SecurityPlugin. http://lists.squeakfoundation.org/pipermail/vm-dev/2018-December/029337.html Also eliminate the duplicate in platforms/iOS/plugins/SecurityPlugin, and change all iOS plugin Makefiles to use $(PLATDIR) instead of a hard-coded path that constrains the build directory hierarchy. Commit: e459757a652ac894248520920c5008a641b75b61 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e459757a652ac894248520920c5008a641b75b61 Author: Eliot Miranda Date: 2018-12-03 (Mon, 03 Dec 2018) Changed paths: M platforms/Cross/plugins/SecurityPlugin/SecurityPlugin.h Log Message: ----------- Supply a missing forward declaration in the SecurityPlugin header Commit: 0e962c5f37f639bee6c313bcc630a8cc5902273e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0e962c5f37f639bee6c313bcc630a8cc5902273e Author: Eliot Miranda Date: 2018-12-03 (Mon, 03 Dec 2018) Changed paths: M platforms/unix/plugins/SerialPlugin/sqUnixSerial.c M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c Log Message: ----------- Fix use of success in serial and socket support routines on unix & mac, avoiding indirection if the plugin is internal. Commit: 970dc62f4b99e6147366b85a90253882f88852f4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/970dc62f4b99e6147366b85a90253882f88852f4 Author: Eliot Miranda Date: 2018-12-03 (Mon, 03 Dec 2018) Changed paths: M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32D3D.c Log Message: ----------- Eliminate compiler warnings Commit: 7b8576b571115df8a7dce45c19f0ce489c1f9772 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7b8576b571115df8a7dce45c19f0ce489c1f9772 Author: Eliot Miranda Date: 2018-12-03 (Mon, 03 Dec 2018) Changed paths: M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32D3D.c Log Message: ----------- That last commit was too hasty. Eliminaste those warnings properly. Commit: 977516c840255c1e51ace8362061b5e650f933cf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/977516c840255c1e51ace8362061b5e650f933cf Author: Eliot Miranda Date: 2018-12-03 (Mon, 03 Dec 2018) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Add some comments of oddness in key processing on X11 noted by John Brandt. If you're an X11 expert please take a look at the code and if you understand the issues please have a go at fixing it. Commit: ea59155db6c643d3a4de062f2a85bfa2d9f7f5ed https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ea59155db6c643d3a4de062f2a85bfa2d9f7f5ed Author: Eliot Miranda Date: 2018-12-03 (Mon, 03 Dec 2018) Changed paths: M platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c A platforms/unix/plugins/SerialPlugin/Makefile.inc M scripts/gitci Log Message: ----------- Fix the SerialPlugin build on linux (sqNullSerialPort.c must be excluded). Make sure sqNullSerialPort.c will compile other than on Carbon Mac OS . Have gitci check incoming if asked to do so. Commit: 82878b3dd8870a2a41a3e10c161ae5650e224815 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/82878b3dd8870a2a41a3e10c161ae5650e224815 Author: Ben Coman Date: 2018-12-04 (Tue, 04 Dec 2018) Changed paths: M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.h Log Message: ----------- Fixes for 64-bit MSVC minheadless build Commit: fbca9d231f12ef6b3d6c41275a2756b90f366b38 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fbca9d231f12ef6b3d6c41275a2756b90f366b38 Author: Eliot Miranda Date: 2018-12-03 (Mon, 03 Dec 2018) Changed paths: M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.h Log Message: ----------- Merge pull request #313 from bencoman/msvc-64bit-fixes Fixes for 64-bit MSVC minheadless build Commit: 32c4b7972e05455d367f91ef7a6e67d79825217e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/32c4b7972e05455d367f91ef7a6e67d79825217e Author: Eliot Miranda Date: 2018-12-06 (Thu, 06 Dec 2018) Changed paths: M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M platforms/Cross/plugins/SerialPlugin/SerialPlugin.h M platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c A platforms/win32/plugins/SerialPlugin/Makefile.plugin M src/plugins/SerialPlugin/SerialPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2491 Tidy up the SerialPlugin. FIx a bug in primitiveSerialPortCloseByName:. Fix the SerialPlugin build on Windows. Commit: c641660f8c6dcc4a4f8b1f64bf7231e44209f10c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c641660f8c6dcc4a4f8b1f64bf7231e44209f10c Author: Ben Coman Date: 2018-12-07 (Fri, 07 Dec 2018) Changed paths: A build.win32x86/pharo.stack.spur/Makefile A build.win32x86/pharo.stack.spur/Pharo.def.in A build.win32x86/pharo.stack.spur/Pharo.exe.manifest A build.win32x86/pharo.stack.spur/Pharo.ico A build.win32x86/pharo.stack.spur/Pharo.rc A build.win32x86/pharo.stack.spur/mvm A build.win32x86/pharo.stack.spur/plugins.ext A build.win32x86/pharo.stack.spur/plugins.int Log Message: ----------- Add pharo.stack.spur, part 1 - direct copy of pharo.cog.spur Commit: b71b262fc4d694eb62b76050e8b3a9a5d50bb867 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b71b262fc4d694eb62b76050e8b3a9a5d50bb867 Author: Ben Coman Date: 2018-12-07 (Fri, 07 Dec 2018) Changed paths: M build.win32x86/pharo.stack.spur/Makefile M build.win32x86/pharo.stack.spur/Pharo.rc Log Message: ----------- Add pharo.stack.spur, part 2 - modify cog build into stack uild Commit: 14b6d3645d44e1b69301d5b477d514a1dfb0d1fa https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/14b6d3645d44e1b69301d5b477d514a1dfb0d1fa Author: Nicolas Cellier Date: 2018-12-10 (Mon, 10 Dec 2018) Changed paths: M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c Log Message: ----------- Fix suspiscious logical construction In code we find this flag: #define SOCK_BOUND_UDP 0x00040000 and test of this flag in socket state: if(pss->sockState & SOCK_BOUND_UDP) We also find the negation: if(!pss->sockState & SOCK_BOUND_UDP) But there is a precedenc eproblem in above expression, as reported by the compiler ../../platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c:872:8: warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses] if(!pss->sockState & SOCK_BOUND_UDP) { ^ ~ ../../platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c:872:8: note: add parentheses after the '!' to evaluate the bitwise operator first if(!pss->sockState & SOCK_BOUND_UDP) { ^ ( ) ../../platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c:872:8: note: add parentheses around left hand side expression to silence this warning if(!pss->sockState & SOCK_BOUND_UDP) { ^ ( ) Above code is interpreted as `if( (!pss->sockState) & SOCK_BOUND_UDP)` which does not mean much... Please, read C compiler warnings, they are a companion tool ! Commit: 48dbd776dc1b062ec731cf28098659b1ec5c40bf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/48dbd776dc1b062ec731cf28098659b1ec5c40bf Author: Ken Dickey Date: 2018-12-11 (Tue, 11 Dec 2018) Changed paths: A build.linux64xARMv8/squeak.stack.spur/build/mvm A build.linux64xARMv8/squeak.stack.spur/makeallclean A build.linux64xARMv8/squeak.stack.spur/makealldirty A build.linux64xARMv8/squeak.stack.spur/plugins.ext A build.linux64xARMv8/squeak.stack.spur/plugins.int Log Message: ----------- aarch64 linux Commit: a692be84d9dd023d0c0a2eb4f5e6792773492f3f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a692be84d9dd023d0c0a2eb4f5e6792773492f3f Author: Ken Dickey Date: 2018-12-11 (Tue, 11 Dec 2018) Changed paths: M platforms/unix/config/config.guess Log Message: ----------- aarch64 linux Commit: be782ed097711732699e966cfc10b055ec5e768f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/be782ed097711732699e966cfc10b055ec5e768f Author: Ken Dickey Date: 2018-12-11 (Tue, 11 Dec 2018) Changed paths: M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixMain.c Log Message: ----------- aarch64 linux Commit: 0a2a6de8af29f399ffbbcd9d7fa66b579b29dd93 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0a2a6de8af29f399ffbbcd9d7fa66b579b29dd93 Author: Ken Dickey Date: 2018-12-11 (Tue, 11 Dec 2018) Changed paths: M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixMain.c Log Message: ----------- ordering fixup Commit: 97a0a24fbbfbfa63ded10a92c153997c2179b023 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/97a0a24fbbfbfa63ded10a92c153997c2179b023 Author: Eliot Miranda Date: 2018-12-11 (Tue, 11 Dec 2018) Changed paths: A build.linux64xARMv8/squeak.stack.spur/build/mvm A build.linux64xARMv8/squeak.stack.spur/makeallclean A build.linux64xARMv8/squeak.stack.spur/makealldirty A build.linux64xARMv8/squeak.stack.spur/plugins.ext A build.linux64xARMv8/squeak.stack.spur/plugins.int M platforms/unix/config/config.guess M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Merge pull request #320 from KenDickey/aarch64-linux Aarch64 linux Commit: 6e233d39a46e0a4ff7f25635b17cb27a12c1dd1d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6e233d39a46e0a4ff7f25635b17cb27a12c1dd1d Author: Eliot Miranda Date: 2018-12-11 (Tue, 11 Dec 2018) Changed paths: A build.linux64ARMv8/squeak.stack.spur/build/mvm A build.linux64ARMv8/squeak.stack.spur/makeallclean A build.linux64ARMv8/squeak.stack.spur/makealldirty A build.linux64ARMv8/squeak.stack.spur/plugins.ext A build.linux64ARMv8/squeak.stack.spur/plugins.int R build.linux64xARMv8/squeak.stack.spur/build/mvm R build.linux64xARMv8/squeak.stack.spur/makeallclean R build.linux64xARMv8/squeak.stack.spur/makealldirty R build.linux64xARMv8/squeak.stack.spur/plugins.ext R build.linux64xARMv8/squeak.stack.spur/plugins.int M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Fix a slip in the ARMv8 linux build directory name. Add a vim modeline to sqUnixX11.c which currently has 8-space tabs. Commit: 94c54edc5bbb8dfac318686176e67ceaa20883bb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/94c54edc5bbb8dfac318686176e67ceaa20883bb Author: AlistairGrant Date: 2018-12-14 (Fri, 14 Dec 2018) Changed paths: M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin 2.0.6 - Handle VM restart mid directory iteration - Handle long file names on Windows Windows Long Path Prefix usage depends on: - the system call being made (plain, W, ExW, etc.) - the file system where the file resides - the length of the path - the contents of the path, e.g. does it include ".." as a segment Add a faGetPlatPathCPP() to determine whether to apply the LPP or not and use it when opening a directory. Commit: b4344b7da24dbea8b9e8f97f5bbcb1062af6988b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b4344b7da24dbea8b9e8f97f5bbcb1062af6988b Author: AlistairGrant Date: 2018-12-14 (Fri, 14 Dec 2018) Changed paths: M platforms/Cross/plugins/FileAttributesPlugin/faCommon.c Log Message: ----------- FileAttributesPlugin thisSession -> vmSessionId Rename thisSession to vmSessionId to avoid a name conflict with FilePlugin on MacOS. Commit: 59b555f40b1c14b067b1ace86ce6d179e6dcda6b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/59b555f40b1c14b067b1ace86ce6d179e6dcda6b Author: AlistairGrant Date: 2018-12-14 (Fri, 14 Dec 2018) Changed paths: A build.linux64ARMv8/squeak.stack.spur/build/mvm A build.linux64ARMv8/squeak.stack.spur/makeallclean A build.linux64ARMv8/squeak.stack.spur/makealldirty A build.linux64ARMv8/squeak.stack.spur/plugins.ext A build.linux64ARMv8/squeak.stack.spur/plugins.int M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/plugins/SecurityPlugin/SecurityPlugin.h M platforms/Cross/plugins/SerialPlugin/SerialPlugin.h A platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c M platforms/iOS/plugins/AioPlugin/Makefile M platforms/iOS/plugins/AsynchFilePlugin/Makefile M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile M platforms/iOS/plugins/FileAttributesPlugin/Makefile M platforms/iOS/plugins/FileCopyPlugin/Makefile M platforms/iOS/plugins/FilePlugin/Makefile M platforms/iOS/plugins/Mpeg3Plugin/Makefile M platforms/iOS/plugins/ObjectiveCPlugin/Makefile M platforms/iOS/plugins/SecurityPlugin/Makefile R platforms/iOS/plugins/SecurityPlugin/sqUnixSecurity.c M platforms/iOS/plugins/SerialPlugin/Makefile R platforms/iOS/plugins/SerialPlugin/sqMacSerialPort.c M platforms/iOS/plugins/SocketPlugin/Makefile M platforms/iOS/plugins/SoundPlugin/Makefile M platforms/iOS/plugins/UnixOSProcessPlugin/Makefile M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.h M platforms/unix/config/config.guess M platforms/unix/plugins/SecurityPlugin/sqUnixSecurity.c A platforms/unix/plugins/SerialPlugin/Makefile.inc M platforms/unix/plugins/SerialPlugin/sqUnixSerial.c M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixMain.c M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32D3D.c A platforms/win32/plugins/SerialPlugin/Makefile.plugin M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c M scripts/gitci M src/plugins/SerialPlugin/SerialPlugin.c Log Message: ----------- Merge remote-tracking branch 'upstream/Cog' into FapSessionId Commit: 1b837f94e96b93cb4d117ccdd010825d76dcde57 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1b837f94e96b93cb4d117ccdd010825d76dcde57 Author: Eliot Miranda Date: 2018-12-14 (Fri, 14 Dec 2018) Changed paths: M build.linux32x86/squeak.cog.spur/build.debug/mvm A build.linux32x86/squeak.cog.spur/makethbdirty A build.linux64x64/squeak.cog.spur/makethbdirty M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm-display-X11/sqUnixXdnd.c M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Integrate John Brant's fix for meta key release on X11: changing unix key handling for Ctrl-letter and releasing the ctrl & shift keys Fix a missing external declaration in sqOpenGLRenderer.c. Fix some printf compiler warnings (long argument, int format) Revert the use of script in build.linux32x86/squeak.cog.spur/build.debug/mvm Add a couple of convenience build scripts. Commit: 800f79d807b43eddc86c508e9d0759d9e34580e9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/800f79d807b43eddc86c508e9d0759d9e34580e9 Author: AlistairGrant Date: 2018-12-15 (Sat, 15 Dec 2018) Changed paths: M build.linux32x86/squeak.cog.spur/build.debug/mvm A build.linux32x86/squeak.cog.spur/makethbdirty A build.linux64x64/squeak.cog.spur/makethbdirty M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm-display-X11/sqUnixXdnd.c M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Merge remote-tracking branch 'upstream/Cog' into FapSessionId Commit: b53874d880d72e6620f77614e422f84ecdd96479 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b53874d880d72e6620f77614e422f84ecdd96479 Author: akgrant43 Date: 2018-12-15 (Sat, 15 Dec 2018) Changed paths: M platforms/Cross/plugins/FileAttributesPlugin/faCommon.c M platforms/Cross/plugins/FileAttributesPlugin/faCommon.h M platforms/Cross/plugins/FileAttributesPlugin/faConstants.h M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Merge pull request #321 from akgrant43/FapSessionId FileAttributesPlugin 2.0.6 - Handle VM restart mid directory iteration - Handle long file names on Windows Commit: 27bd4c1cbd42fd6ba53ef4ac8516cdc910e60b75 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/27bd4c1cbd42fd6ba53ef4ac8516cdc910e60b75 Author: Eliot Miranda Date: 2018-12-16 (Sun, 16 Dec 2018) Changed paths: A build.linux64ARMv8/squeak.stack.spur/build.assert/mvm A build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh Log Message: ----------- Add assert and debug builds for the build.linux64ARMv8 squeak.stack.spur build. Upgrade the optimization level for the production build to -O2. Have getGoodSpur[64]VM.sh be more helpful when they can't find a suitable VM. Commit: 4803e8dd75cf75af143133d3278ea7b42392ee44 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4803e8dd75cf75af143133d3278ea7b42392ee44 Author: AlistairGrant Date: 2018-12-17 (Mon, 17 Dec 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Regenerate FileAttributesPlugin with clean VMMaker Commit: d4e32c55c0c3c6f697e4680641188f379f702902 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d4e32c55c0c3c6f697e4680641188f379f702902 Author: AlistairGrant Date: 2018-12-17 (Mon, 17 Dec 2018) Changed paths: A build.linux64ARMv8/squeak.stack.spur/build.assert/mvm A build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh Log Message: ----------- Merge remote-tracking branch 'upstream/Cog' into FapSessionId Commit: e507d8ab41ecf89fb40417f5f0d8071f557c1995 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e507d8ab41ecf89fb40417f5f0d8071f557c1995 Author: akgrant43 Date: 2018-12-17 (Mon, 17 Dec 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Merge pull request #322 from akgrant43/FapSessionId FileAttributesPlugin 2.0.6 - Regenerate FileAttributesPlugin with clean VMMaker Commit: 2238b2e8818580c182061f811a444268b30a5c20 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2238b2e8818580c182061f811a444268b30a5c20 Author: Eliot Miranda Date: 2018-12-18 (Tue, 18 Dec 2018) Changed paths: M image/Slang Test Workspace.text M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2493 SmartSyntaxPlugin Slang: Improve failure guard & result returning interleaving to avoid extra returns and tests of failed (see fixUpReturnOneStmt:on:). Eliminate the unused suppressFailureGuards: support and inst vars. Separate argument validation from argument marshalling to fix the bug Levente identified in SocketPlugin>>primitiveSocket:connectTo:port:/primitiveSocketConnectToPort. Because the old scheme interleaved validation and marshalling, marshalling could be done on invalid objects and cause crashes. See http://lists.squeakfoundation.org/pipermail/vm-dev/2018-December/029511.html. Also have teh primitives answer primErrBadArgument if validation fails. To this end add InterpreterProxy>>isPositiveMachineIntegerObject: & InterpreterProxy>>isBooleanObject:, bumping up the API version to 1.15. Update Slang Test Workspace.text for plugin generation. Commit: dca6edac9da64df1224d9a9486d7a2532ea4af4d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dca6edac9da64df1224d9a9486d7a2532ea4af4d Author: Eliot Miranda Date: 2018-12-18 (Tue, 18 Dec 2018) Changed paths: M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2495 Fix a regression in VMMaker.oscog-eem.2493 when generating returns of variables or constants. Commit: 7ce12e24b114d8d2e67d21efd3c91d7eb121ce74 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7ce12e24b114d8d2e67d21efd3c91d7eb121ce74 Author: AlistairGrant Date: 2018-12-19 (Wed, 19 Dec 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin 2.0.7 Move some allocations from the heap to the stack. These allocations where never used outside the context of the allocating routine, so can be on the stack instead. Commit: e179f0172df055838fb31e653067215105b30039 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e179f0172df055838fb31e653067215105b30039 Author: akgrant43 Date: 2018-12-19 (Wed, 19 Dec 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Merge pull request #323 from akgrant43/FapSessionId FileAttributesPlugin 2.0.7 Commit: 61736809bf5c2dc5787a98d12a97f74ea891c9c5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/61736809bf5c2dc5787a98d12a97f74ea891c9c5 Author: Eliot Miranda Date: 2018-12-19 (Wed, 19 Dec 2018) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spur64src/vm/interp.h M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcode64src/vm/interp.h M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/interp.h M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestack64src/vm/interp.h M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spurlowcodestacksrc/vm/interp.h M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursista64src/vm/interp.h M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursistasrc/vm/interp.h M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spursrc/vm/interp.h M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/interp.h M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/interp.h A src/plugins/IOSPlugin/IOSPlugin.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M src/vm/interp.h M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M stacksrc/vm/interp.h Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2496 Oops! Make sure to enable the new fiunctions in the VirtualMachine proxy API. This fixes the failure of the JPEGReadWriter2Plugin primJPEGWriteImageonByteArrayformqualityprogressiveJPEGerrorMgr primitive. Add the IOSPlugin. Commit: ab9f22d0714697cbee2427e721b4e35fdfebd7b8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ab9f22d0714697cbee2427e721b4e35fdfebd7b8 Author: Eliot Miranda Date: 2018-12-19 (Wed, 19 Dec 2018) Changed paths: M platforms/Cross/vm/sqVirtualMachine.c Log Message: ----------- The new 1.15 proxy functions must be declared in sqVirtualMachine.c. Commit: c3b42805deb4c51ea4decbec6e480859f11a0ebe https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c3b42805deb4c51ea4decbec6e480859f11a0ebe Author: Eliot Miranda Date: 2018-12-19 (Wed, 19 Dec 2018) Changed paths: M CONTRIBUTING.md M README.md Log Message: ----------- Update the .md files to direct those interested in issues with the systems that run above Cog/opensmalltalk-vm to those forums. Commit: 27d6243819b8c3ccd59c616825e3003c81ba0e0b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/27d6243819b8c3ccd59c616825e3003c81ba0e0b Author: Eliot Miranda Date: 2018-12-19 (Wed, 19 Dec 2018) Changed paths: M CONTRIBUTING.md M README.md Log Message: ----------- Format those puppies Commit: ad6c9ede8d909559c258e3199703af2f3992f3b6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ad6c9ede8d909559c258e3199703af2f3992f3b6 Author: Eliot Miranda Date: 2018-12-19 (Wed, 19 Dec 2018) Changed paths: M CONTRIBUTING.md M README.md Log Message: ----------- And have the .md files refer people to the Simulator paper for an overview of core VM development. Commit: e1774ab50e3aabf184eb11a77bdd71769fd1171b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e1774ab50e3aabf184eb11a77bdd71769fd1171b Author: Eliot Miranda Date: 2018-12-19 (Wed, 19 Dec 2018) Changed paths: M CONTRIBUTING.md M README.md Log Message: ----------- Improve grammar in the .md updates. Commit: 4d80cdbe39e0e16ee26835bd1b36b303ca06305f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4d80cdbe39e0e16ee26835bd1b36b303ca06305f Author: Eliot Miranda Date: 2018-12-19 (Wed, 19 Dec 2018) Changed paths: M CONTRIBUTING.md M README.md Log Message: ----------- And have the paragraph on the Simulator refer the interested to the image dir. Commit: 96a866b179b0795cb34cb8a879b5e3d64ca85f65 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/96a866b179b0795cb34cb8a879b5e3d64ca85f65 Author: Eliot Miranda Date: 2018-12-19 (Wed, 19 Dec 2018) Changed paths: M CONTRIBUTING.md M README.md Log Message: ----------- A link to the image directory ius more helpful. Commit: 5beee8f1462cdc790bbce9473e8e8bee6a1dc354 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5beee8f1462cdc790bbce9473e8e8bee6a1dc354 Author: Eliot Miranda Date: 2018-12-20 (Thu, 20 Dec 2018) Changed paths: M README.md Log Message: ----------- Document the [ci skip] trick/hack/bounty/miracle/undocumented, unobvious yet incredibly helful reducer of CO2 emissions in README.md. Commit: aecc9e6ef523919d05e5a99705e8b9a6f4b8f11f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/aecc9e6ef523919d05e5a99705e8b9a6f4b8f11f Author: Boris Shingarov Date: 2018-12-21 (Fri, 21 Dec 2018) Changed paths: M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh Log Message: ----------- Check sanity of curled gzip data The getGoodSpur*VM.sh scripts assume that the VM mentioned in the topmost notification, is always there on bintray. This is not always the case. Unfortunately, bintray will not return a 404 code on a 404 error, but instead give a 200 with garbage data. While we can't do anything about that, at least make an attempt to bail if the file doesn't even look like gzip-compressed data. Commit: a2bdae44dd893df996734cff5ddcadf0dca112b6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a2bdae44dd893df996734cff5ddcadf0dca112b6 Author: Boris Shingarov Date: 2018-12-21 (Fri, 21 Dec 2018) Changed paths: M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh Log Message: ----------- Check sanity of curled gzip data The getGoodSpur*VM.sh scripts assume that the VM mentioned in the topmost notification, is always there on bintray. This is not always the case. Unfortunately, bintray will not return a 404 code on a 404 error, but instead give a 200 with garbage data. While we can't do anything about that, at least make an attempt to bail if the file doesn't even look like gzip-compressed data. Commit: f5751479250cc29d09c7f98f4e6c2d5c5d611464 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f5751479250cc29d09c7f98f4e6c2d5c5d611464 Author: Boris Shingarov Date: 2018-12-21 (Fri, 21 Dec 2018) Changed paths: Log Message: ----------- Merge branch 'Cog' of github.com:shingarov/opensmalltalk-vm into Cog Commit: f0818266ca7cfe5457991dfd0523ffed7f0f6827 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f0818266ca7cfe5457991dfd0523ffed7f0f6827 Author: Boris Shingarov Date: 2018-12-21 (Fri, 21 Dec 2018) Changed paths: M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh Log Message: ----------- Merge branch 'Cog' of github.com:shingarov/opensmalltalk-vm into Cog Commit: 1015842be8b82aaea3841db514f82f7a9fe66bd4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1015842be8b82aaea3841db514f82f7a9fe66bd4 Author: Boris Shingarov Date: 2018-12-21 (Fri, 21 Dec 2018) Changed paths: Log Message: ----------- Merge branch 'Cog' of github.com:shingarov/opensmalltalk-vm into Cog Commit: 7ab324c0e50f4dec8765068446743df51759eaef https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7ab324c0e50f4dec8765068446743df51759eaef Author: akgrant43 Date: 2018-12-21 (Fri, 21 Dec 2018) Changed paths: M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh Log Message: ----------- Merge pull request #326 from shingarov/Cog Check sanity of curled gzip data [ci skip] Commit: a20975e3a5e8d96a3bf4f336964d5f42d0ace44b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a20975e3a5e8d96a3bf4f336964d5f42d0ace44b Author: AlistairGrant Date: 2018-12-21 (Fri, 21 Dec 2018) Changed paths: M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh Log Message: ----------- getGoodSpur[64]VM.sh sort for latest VM BinTray sorts the notifications page by the notification timestamp, but this is not always in the same order as the VM timestamp. Sort the output before taking the desired entry. [ci skip] Commit: e14d4d63ff574788bac62824e5f8d7b000bfa304 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e14d4d63ff574788bac62824e5f8d7b000bfa304 Author: akgrant43 Date: 2018-12-21 (Fri, 21 Dec 2018) Changed paths: M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh Log Message: ----------- Merge pull request #328 from akgrant43/sortBinTray getGoodSpur[64]VM.sh sort for latest VM BinTray sorts the notifications page by the notification timestamp, but this is not always in the same order as the VM timestamp. Sort the output before taking the desired entry. [ci skip] Commit: bbf4c6a93e243401e775cff4983f0349bdbf6d0c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bbf4c6a93e243401e775cff4983f0349bdbf6d0c Author: Ben Coman Date: 2018-12-25 (Tue, 25 Dec 2018) Changed paths: M build.win32x86/third-party/Makefile.freetype2 M scripts/installCygwin.bat A third-party/freetype291.patch Log Message: ----------- Fix Freetype 2.9.1 third-party build Commit: 0ab0a27a196885c0466674b093a15f34c3c2c2e1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0ab0a27a196885c0466674b093a15f34c3c2c2e1 Author: Eliot Miranda Date: 2018-12-24 (Mon, 24 Dec 2018) Changed paths: M src/plugins/FilePlugin/FilePlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c A src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2498 [skip ci] no point buiulding; this qalters nothing that is currently built. Integrate Ken Dickey's addition of the ThreadedARM64FFIPlugin. Thanks Ken! FilePlugin>>primitiveFileRename failed in the simulator. Commit: 4b23645c1ccff7cbd4d8bb8e01fb950efd295ad2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4b23645c1ccff7cbd4d8bb8e01fb950efd295ad2 Author: Nicolas Cellier Date: 2018-12-25 (Tue, 25 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Directory.c Log Message: ----------- Protect buffer underflow Path could be shorted than 4 chars eventually... Commit: e9bfeefc03b7a908b2925a9c474a59b9b9ad7d1b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e9bfeefc03b7a908b2925a9c474a59b9b9ad7d1b Author: Nicolas Cellier Date: 2018-12-25 (Tue, 25 Dec 2018) Changed paths: M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c Log Message: ----------- Make icon setting 64bits compatible Casting the icon handle (size of a pointer) to LONG (32 bits) is not 64bits friendly Commit: 8df05ee8a333d24e76d7956a9ef4d73bd120b4bb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8df05ee8a333d24e76d7956a9ef4d73bd120b4bb Author: Nicolas Cellier Date: 2018-12-25 (Tue, 25 Dec 2018) Changed paths: M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c Log Message: ----------- remove a warning about a control path not returning a value Commit: b2a8bd8d8beddebbcb128c5b39740e8a94c16763 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b2a8bd8d8beddebbcb128c5b39740e8a94c16763 Author: Nicolas Cellier Date: 2018-12-25 (Tue, 25 Dec 2018) Changed paths: M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c Log Message: ----------- Use TEXT macro for generic (ASCII or WIDE) string method We should either use - explicit ASCII variant with ASCII String constant `CertOpenSystemStoreA(0 , "MY")` - explicit WIDE variant with Wide String constant `CertOpenSystemStoreW(0 , L"MY")` - generic variant with generic TEXT constant `CertOpenSystemStore(0 , TEXT("MY"))` But we should not mix usage of whatever variant function with whatever variant String.
See https://docs.microsoft.com/en-us/windows/desktop/api/winnt/nf-winnt-text Otherwise, in absence of `-DUNICODE`compiler flag, the compiler barks: ../../platforms/win32/plugins/SqueakSSL/sqWin32SSL.c:176:35: warning: incompatible pointer types passing 'unsigned short [3]' to parameter of type 'LPCSTR' (aka 'const char *') [-Wincompatible-pointer-types] hStore = CertOpenSystemStore(0, L"MY"); ^~~~~ /usr/x86_64-w64-mingw32/sys-root/mingw/include/wincrypt.h:4432:83: note: passing argument to parameter 'szSubsystemProtocol' here WINIMPM HCERTSTORE WINAPI CertOpenSystemStoreA (HCRYPTPROV_LEGACY hProv, LPCSTR szSubsystemProtocol); Commit: a08c1fec2bd75375e5c389eb5e0b706eaa62c82f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a08c1fec2bd75375e5c389eb5e0b706eaa62c82f Author: Nicolas Cellier Date: 2018-12-26 (Wed, 26 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Heartbeat.c Log Message: ----------- Provides a high resolution clock for MSVC See https://msdn.microsoft.com/en-us/library/ms644904(v=VS.85).aspx Commit: 57d09aebf6b45f6b2cce6659f70946e8c9a38d2c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/57d09aebf6b45f6b2cce6659f70946e8c9a38d2c Author: Nicolas Cellier Date: 2018-12-26 (Wed, 26 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Directory.c Log Message: ----------- Define some UNIX constants in sqWin32Directory.c, MSVC oblige the unix constants S_IRUSR are not defined in MSVC. Pick the workaround from platforms/minheadless/windows/sqWin32Directory.c Commit: ad71bd01659a5b909a2f744361a660c6a53a00b3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ad71bd01659a5b909a2f744361a660c6a53a00b3 Author: Nicolas Cellier Date: 2018-12-26 (Wed, 26 Dec 2018) Changed paths: M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c Log Message: ----------- Remove a few printf warnings Commit: 8c04d9af6c308207399849a516aaf91d1b5f33e8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8c04d9af6c308207399849a516aaf91d1b5f33e8 Author: Nicolas Cellier Date: 2018-12-26 (Wed, 26 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32DirectInput.c Log Message: ----------- Prefer DirectX8 in MSVC Note that support for DirectX-7 is not available after 2007 SDK!!! https://blogs.msdn.microsoft.com/chuckw/2012/08/21/directx-sdks-of-a-certain-age/ We are showing our age... cygwin still provide support files for DirectX-7, but DirectX-8 does not compile out of the box, so stick to 7 outside MSVC. Commit: e0d70a91864eca8f72947fe36d1865785482ed2e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e0d70a91864eca8f72947fe36d1865785482ed2e Author: Nicolas Cellier Date: 2018-12-27 (Thu, 27 Dec 2018) Changed paths: M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c Log Message: ----------- Workaround S_ISFIFO to let MSVC compile FilePlugin Note: there is a possibility to create named pipe in windows https://docs.microsoft.com/en-us/windows/desktop/ipc/named-pipes But named pipes cannot be intermixed with regular files. They are mounted on special named pipe file system (NPFS) https://stackoverflow.com/questions/21139790/where-on-windows-a-named-pipe-file-is-stored So I think that answering false to the query is a good solution. Commit: 9aea67d0dd63a191e80f69c6e760aadaf72de763 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9aea67d0dd63a191e80f69c6e760aadaf72de763 Author: Nicolas Cellier Date: 2018-12-27 (Thu, 27 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32Threads.c Log Message: ----------- Backport Unicode compatibility patches from minheadless variant Commit: f6d2d56b091be1b25310128b228c48c968114d60 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6d2d56b091be1b25310128b228c48c968114d60 Author: Nicolas Cellier Date: 2018-12-27 (Thu, 27 Dec 2018) Changed paths: M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c Log Message: ----------- Yet another printLastError Unicode compatibility fix in SoundPlugin Commit: 67980fcf86460ac508b2beaf4a39cef58040ccdf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/67980fcf86460ac508b2beaf4a39cef58040ccdf Author: Nicolas Cellier Date: 2018-12-27 (Thu, 27 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Threads.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Fix another bunch of usage of printLastError uncompatible with Unicode Commit: b52caab76f7f6b91c1f16d9037e0b0a43d968176 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b52caab76f7f6b91c1f16d9037e0b0a43d968176 Author: Nicolas Cellier Date: 2018-12-27 (Thu, 27 Dec 2018) Changed paths: M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c Log Message: ----------- Fix sqWin32Security.c UNICODE problems We cannot pass a TCHAR * to a function expecting a WCHAR *, or the compiler logically barks. `isAccessiblePathName` takes a WCHAR * parameter `fromSqueak` answers a TCHAR *, which is currently a char * (because UNICODE is undefined). We want to be able to query internationalized path name, then the best (portable) thing to do is stick to UTF-8. We thus now interpret the pathName/fileName as UTF8-encoded in the authorization query primitives. NOTE: no effort is attempted to handle long path names here. Commit: 28cf9c626ee5eb0fce7bad34b8a87753fd974417 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/28cf9c626ee5eb0fce7bad34b8a87753fd974417 Author: Nicolas Cellier Date: 2018-12-27 (Thu, 27 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Fix TEXT(VMOPTION('foo")) TEXT is a macro that prepend a L, like TEXT("foo") => L"foo". It does not work for concatenated constants: TEXT("foo" "bar") => L"foo" "bar". VMOPTION concatenates a "-". Therefore we need a specific TVMOPTION macro. Commit: 9e82899e688d01935a7157b27fa885329e98d143 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9e82899e688d01935a7157b27fa885329e98d143 Author: Nicolas Cellier Date: 2018-12-27 (Thu, 27 Dec 2018) Changed paths: M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Concatenate TEXT constants rather than TEXT concatenated constants TEXT("foo" "bar") => L"foo" "bar" => error concatenating wide string and ascii string TEXT("foo") TEXT("bar") => L"foo" L"bar" => compile OK Commit: 4e947dac58a702889adb281377708f897b0fc8c4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4e947dac58a702889adb281377708f897b0fc8c4 Author: Nicolas Cellier Date: 2018-12-27 (Thu, 27 Dec 2018) Changed paths: M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32PluginSupport.c Log Message: ----------- printLastError & warnPrintf take a TCHAR *, not a char * Commit: 3227fcf750b035281697da052df88f60b5c391d6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3227fcf750b035281697da052df88f60b5c391d6 Author: Nicolas Cellier Date: 2018-12-27 (Thu, 27 Dec 2018) Changed paths: M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c Log Message: ----------- DPRINTF takes a TCHAR * when it is a warnPrintf in disguise thus, it requires usage of a TEXT macro to enable -DUNICODE compilation Commit: 8d44470f37b62c5c0519cf9c5ae5349ec320582e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8d44470f37b62c5c0519cf9c5ae5349ec320582e Author: Nicolas Cellier Date: 2018-12-28 (Fri, 28 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Splash file and title may use Unicode variant We could also have used GetPrivateProfileStringA as a workaround, but let's not insult the future (internationalization) Commit: 0eeffa0d7e337e92b0f01dcd74698667c168d835 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0eeffa0d7e337e92b0f01dcd74698667c168d835 Author: Nicolas Cellier Date: 2018-12-28 (Fri, 28 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- windowTitle is not a TCHAR *, it is a UTF8 encoded char * Commit: 3d55c5d4a6396772719230fc56e5b11b7faafe0b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3d55c5d4a6396772719230fc56e5b11b7faafe0b Author: Nicolas Cellier Date: 2018-12-28 (Fri, 28 Dec 2018) Changed paths: M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32OpenGL.c Log Message: ----------- make win23OpenGL UNICODE friendly CreateWindow is the generic call that can switch to CreateWindowA or CreateWindowW It must take TCHAR * arguments. Commit: 001d21af530cfd2255e43d4f20b3df84ac735cbe https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/001d21af530cfd2255e43d4f20b3df84ac735cbe Author: Nicolas Cellier Date: 2018-12-28 (Fri, 28 Dec 2018) Changed paths: M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Invoke LoadLibraryA when there's no point to internationalize library name Most library names are dumb ASCII strings, so encoding them in UTF-16 has no added value. Commit: 616cacb0048b76385e265230406782db341e4a98 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/616cacb0048b76385e265230406782db341e4a98 Author: Nicolas Cellier Date: 2018-12-28 (Fri, 28 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32ExternalPrims.c Log Message: ----------- GetProcAddress takes simple byte string procedure name Until now, there's no such thing as internationalized procedure names. Probably because low level languages do not support non ASCII identifiers. Commit: 4b328037903d7eb1b9e0da5ef325693040831c4a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4b328037903d7eb1b9e0da5ef325693040831c4a Author: Nicolas Cellier Date: 2018-12-28 (Fri, 28 Dec 2018) Changed paths: M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c Log Message: ----------- Use GetLocaleInfoA rather than generic version This is the least change that makes the plugin compile correctly with -DUNICODE But this is maybe not the right thing. If the answer contains a character that is not available in the code page, then it will be replaced by a question mark. https://docs.microsoft.com/en-us/windows/desktop/api/winnls/nf-winnls-getlocaleinfow The right thing would be to go thru GetLocaleInfoW and WideCharToMultiByte dance to answer an UTF-8 encoded string. Commit: 539c7692dee3292456301dfb14b8a36513a9cc76 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/539c7692dee3292456301dfb14b8a36513a9cc76 Author: Nicolas Cellier Date: 2018-12-28 (Fri, 28 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- remove unused LongFileNameFromPossiblyShortName This might be a nice piece of code, but it's dead code. Dead code has maintenance costs that generally do not pay back. For example when reviewing UNICODE compatibility, I just paid for what I did not buy. For archeology purposes, there is a source code/version control system. Commit: 7c5fe91432e72fdcc6a7e098818a8bcfccb3371f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7c5fe91432e72fdcc6a7e098818a8bcfccb3371f Author: Nicolas Cellier Date: 2018-12-28 (Fri, 28 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32PluginSupport.c Log Message: ----------- the DPRINTF used in sqWin32PluginSupport.c takes a TCHAR *, not a char * It's hard to decipher, because DPRINTF is both: - a MACRO at top of this file (and in many other files just to shuffle the cards) - a function in sqWin32Main.c Since the MACRO looks like recursive, it's a kind of dangerously convoluted code! Commit: 968ed91bdf3ac95a8e624560b30415c070b320e2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/968ed91bdf3ac95a8e624560b30415c070b320e2 Author: Nicolas Cellier Date: 2018-12-28 (Fri, 28 Dec 2018) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Generate VM code from VMMaker.oscog-nice.2501 This will remove a bunch of compiler warnings related to printf format on LLP64 architecture (WIN64) Note: I did not regenerate the plugins There are two changes pending in those plugins: - one in FileAttributePlugin concerning the major/minor VM version compatibility - the other in SqueakFFIPrims for ARM64FFIPlugin, but we do not generate the required ARM64FFIPlugin.c file yet Commit: 19ebd67cbadb77088bec9e4bc2da28c6889251b7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/19ebd67cbadb77088bec9e4bc2da28c6889251b7 Author: Nicolas Cellier Date: 2018-12-29 (Sat, 29 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Prefs.c Log Message: ----------- Handle failure to convert WindowTitle preference to UTF8 Commit: 8f731e5896e819c831636e9a3ac74132f40f72f9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8f731e5896e819c831636e9a3ac74132f40f72f9 Author: Nicolas Cellier Date: 2018-12-29 (Sat, 29 Dec 2018) Changed paths: M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32OpenGL.c M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32DirectInput.c M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32ExternalPrims.c M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Threads.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #329 from OpenSmalltalk/win64_cleanups Win64 platform code sanitizing and cleanups Commit: 623dee2b6589723173af8b10d73485a23202c44f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/623dee2b6589723173af8b10d73485a23202c44f Author: Nicolas Cellier Date: 2018-12-29 (Sat, 29 Dec 2018) Changed paths: M .appveyor.yml A .clang_complete M .git_filters/RevDateURL.clean M .git_filters/RevDateURL.smudge M .gitattributes M .gitignore M .travis.yml R .travis_build.sh R .travis_helpers.sh R .travis_install.sh R .travis_test.sh R CHANGES A CMakeLists.txt M CONTRIBUTING.md M README.md R README.old M build.linux32ARMv6/HowToBuild M build.linux32ARMv6/editnewspeakinstall.sh M build.linux32ARMv6/editpharoinstall.sh M build.linux32ARMv6/makeall M build.linux32ARMv6/makeallclean M build.linux32ARMv6/makeallmakefiles M build.linux32ARMv6/makeproduct M build.linux32ARMv6/makeproductclean M build.linux32ARMv6/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv6/newspeak.cog.spur/build/mvm M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv6/newspeak.stack.spur/build/mvm M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm M build.linux32ARMv6/pharo.cog.spur/build/mvm M build.linux32ARMv6/squeak.cog.spur/build.assert/mvm M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm M build.linux32ARMv6/squeak.cog.spur/build/mvm M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm M build.linux32ARMv6/squeak.stack.spur/build/mvm M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm M build.linux32ARMv6/squeak.stack.v3/build/mvm M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32ARMv6/third-party/mvm M build.linux32ARMv7/HowToBuild M build.linux32ARMv7/editnewspeakinstall.sh M build.linux32ARMv7/makeall M build.linux32ARMv7/makeallclean M build.linux32ARMv7/makeproduct M build.linux32ARMv7/makeproductclean M build.linux32ARMv7/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv7/newspeak.cog.spur/build/mvm M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv7/newspeak.stack.spur/build/mvm M build.linux32x86/HowToBuild M build.linux32x86/bochsx64/makeem M build.linux32x86/bochsx86/makeem M build.linux32x86/editnewspeakinstall.sh M build.linux32x86/editpharoinstall.sh M build.linux32x86/makeall M build.linux32x86/makeallclean M build.linux32x86/makeallmakefiles M build.linux32x86/makeproduct M build.linux32x86/makeproductclean M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.assert/mvm M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.debug/mvm M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build/mvm M build.linux32x86/newspeak.stack.spur/build.assert/mvm M build.linux32x86/newspeak.stack.spur/build.debug/mvm M build.linux32x86/newspeak.stack.spur/build/mvm M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.assert/mvm M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.debug/mvm M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.assert/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build/mvm A build.linux32x86/pharo.cog.spur.minheadless/makeallclean A build.linux32x86/pharo.cog.spur.minheadless/makealldirty M build.linux32x86/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.assert/mvm M build.linux32x86/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.debug/mvm M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build/mvm A build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm A build.linux32x86/pharo.sista.spur/build.assert/mvm A build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm A build.linux32x86/pharo.sista.spur/build.debug/mvm A build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm A build.linux32x86/pharo.sista.spur/build/mvm A build.linux32x86/pharo.sista.spur/makeallclean A build.linux32x86/pharo.sista.spur/makealldirty A build.linux32x86/pharo.sista.spur/plugins.ext A build.linux32x86/pharo.sista.spur/plugins.int M build.linux32x86/pharo.stack.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build/mvm M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm M build.linux32x86/squeak.cog.spur.immutability/build/mvm M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.assert/mvm M build.linux32x86/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.debug/mvm M build.linux32x86/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build/mvm A build.linux32x86/squeak.cog.spur/makethbdirty M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.v3/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.assert/mvm M build.linux32x86/squeak.cog.v3/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.debug/mvm M build.linux32x86/squeak.cog.v3/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.assert/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.debug/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded/mvm M build.linux32x86/squeak.cog.v3/build/mvm M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.assert/mvm M build.linux32x86/squeak.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.debug/mvm M build.linux32x86/squeak.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build/mvm M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.stack.spur/build.assert/mvm M build.linux32x86/squeak.stack.spur/build.debug/mvm M build.linux32x86/squeak.stack.spur/build/mvm M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.v3/build.assert/mvm M build.linux32x86/squeak.stack.v3/build.debug/mvm M build.linux32x86/squeak.stack.v3/build/mvm M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux32x86/third-party/Makefile.libgit2 M build.linux32x86/third-party/Makefile.pkgconfig M build.linux32x86/third-party/mvm A build.linux64ARMv8/squeak.stack.spur/build.assert/mvm A build.linux64ARMv8/squeak.stack.spur/build.debug/mvm A build.linux64ARMv8/squeak.stack.spur/build/mvm A build.linux64ARMv8/squeak.stack.spur/makeallclean A build.linux64ARMv8/squeak.stack.spur/makealldirty A build.linux64ARMv8/squeak.stack.spur/plugins.ext A build.linux64ARMv8/squeak.stack.spur/plugins.int M build.linux64x64/HowToBuild A build.linux64x64/bochsx64/conf.COG A build.linux64x64/bochsx64/conf.COG.dbg A build.linux64x64/bochsx64/exploration/Makefile A build.linux64x64/bochsx64/makeem A build.linux64x64/bochsx86/conf.COG A build.linux64x64/bochsx86/makeem M build.linux64x64/editnewspeakinstall.sh M build.linux64x64/editpharoinstall.sh A build.linux64x64/gdbarm32/conf.COG A build.linux64x64/gdbarm32/makeem M build.linux64x64/makeall M build.linux64x64/makeallclean M build.linux64x64/makeallmakefiles M build.linux64x64/makeallsqueak M build.linux64x64/makeproduct M build.linux64x64/makeproductclean M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.assert/mvm M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.debug/mvm M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build/mvm M build.linux64x64/newspeak.cog.spur/plugins.int M build.linux64x64/newspeak.sista.spur/plugins.int M build.linux64x64/newspeak.stack.spur/build.assert/mvm M build.linux64x64/newspeak.stack.spur/build.debug/mvm M build.linux64x64/newspeak.stack.spur/build/mvm M build.linux64x64/newspeak.stack.spur/plugins.int M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.assert/mvm M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.debug/mvm M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build/mvm M build.linux64x64/nsnac.cog.spur/plugins.int A build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build/mvm A build.linux64x64/pharo.cog.spur.minheadless/makeallclean A build.linux64x64/pharo.cog.spur.minheadless/makealldirty M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm A build.linux64x64/pharo.sista.spur/NotYetImplemented A build.linux64x64/pharo.sista.spur/makeallclean A build.linux64x64/pharo.sista.spur/makealldirty M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm M build.linux64x64/squeak.cog.spur.immutability/build/mvm M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/plugins.int M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.assert/mvm M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.debug/mvm M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build/mvm A build.linux64x64/squeak.cog.spur/makethbdirty M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.int M build.linux64x64/squeak.stack.spur/build.assert/mvm M build.linux64x64/squeak.stack.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build/mvm M build.linux64x64/squeak.stack.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.int M build.linux64x64/third-party/mvm M build.macos32x86/HowToBuild M build.macos32x86/bochsx64/makeem M build.macos32x86/bochsx86/makeem A build.macos32x86/common.minheadless/Makefile.app A build.macos32x86/common.minheadless/Makefile.app.newspeak A build.macos32x86/common.minheadless/Makefile.app.squeak A build.macos32x86/common.minheadless/Makefile.clangversion A build.macos32x86/common.minheadless/Makefile.flags A build.macos32x86/common.minheadless/Makefile.lib.extra A build.macos32x86/common.minheadless/Makefile.plugin A build.macos32x86/common.minheadless/Makefile.rules A build.macos32x86/common.minheadless/Makefile.sources A build.macos32x86/common.minheadless/Makefile.vm A build.macos32x86/common.minheadless/mkInternalPluginsList.sh A build.macos32x86/common.minheadless/mkNamedPrims.sh M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos32x86/makeall M build.macos32x86/makeallinstall M build.macos32x86/makeproduct M build.macos32x86/makeproductclean M build.macos32x86/makeproductinstall M build.macos32x86/makesista M build.macos32x86/makespur M build.macos32x86/newspeak.cog.spur/mvm M build.macos32x86/newspeak.stack.spur/mvm M build.macos32x86/pharo.cog.spur.lowcode/Makefile M build.macos32x86/pharo.cog.spur.lowcode/mvm M build.macos32x86/pharo.cog.spur.lowcode/plugins.ext M build.macos32x86/pharo.cog.spur.lowcode/plugins.int A build.macos32x86/pharo.cog.spur.minheadless/Makefile A build.macos32x86/pharo.cog.spur.minheadless/mvm A build.macos32x86/pharo.cog.spur.minheadless/plugins.ext A build.macos32x86/pharo.cog.spur.minheadless/plugins.int M build.macos32x86/pharo.cog.spur/Makefile M build.macos32x86/pharo.cog.spur/mvm M build.macos32x86/pharo.cog.spur/plugins.ext M build.macos32x86/pharo.cog.spur/plugins.int A build.macos32x86/pharo.sista.spur/Makefile A build.macos32x86/pharo.sista.spur/mvm A build.macos32x86/pharo.sista.spur/plugins.ext A build.macos32x86/pharo.sista.spur/plugins.int M build.macos32x86/pharo.stack.spur.lowcode/Makefile M build.macos32x86/pharo.stack.spur.lowcode/mvm M build.macos32x86/pharo.stack.spur.lowcode/plugins.ext M build.macos32x86/pharo.stack.spur.lowcode/plugins.int M build.macos32x86/pharo.stack.spur/Makefile M build.macos32x86/pharo.stack.spur/mvm M build.macos32x86/pharo.stack.spur/plugins.ext M build.macos32x86/pharo.stack.spur/plugins.int M build.macos32x86/squeak.cog.spur+immutability/Makefile M build.macos32x86/squeak.cog.spur+immutability/mvm M build.macos32x86/squeak.cog.spur+immutability/plugins.ext M build.macos32x86/squeak.cog.spur+immutability/plugins.int M build.macos32x86/squeak.cog.spur/mvm M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos32x86/squeak.cog.spur/plugins.int M build.macos32x86/squeak.cog.v3/mvm M build.macos32x86/squeak.cog.v3/plugins.ext M build.macos32x86/squeak.cog.v3/plugins.int M build.macos32x86/squeak.sista.spur/Makefile M build.macos32x86/squeak.sista.spur/mvm M build.macos32x86/squeak.sista.spur/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.int M build.macos32x86/squeak.stack.spur/mvm M build.macos32x86/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.stack.spur/plugins.int M build.macos32x86/squeak.stack.v3/mvm M build.macos32x86/squeak.stack.v3/plugins.ext M build.macos32x86/squeak.stack.v3/plugins.int M build.macos64x64/HowToBuild M build.macos64x64/bochsx64/makeem M build.macos64x64/bochsx86/makeem M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.flags M build.macos64x64/makeall M build.macos64x64/makeallinstall M build.macos64x64/makeproduct M build.macos64x64/makeproductinstall M build.macos64x64/makesista M build.macos64x64/makespur M build.macos64x64/newspeak.cog.spur/mvm M build.macos64x64/newspeak.stack.spur/mvm M build.macos64x64/pharo.cog.spur.lowcode/Makefile M build.macos64x64/pharo.cog.spur.lowcode/mvm M build.macos64x64/pharo.cog.spur.lowcode/plugins.ext M build.macos64x64/pharo.cog.spur.lowcode/plugins.int M build.macos64x64/pharo.cog.spur/Makefile M build.macos64x64/pharo.cog.spur/mvm M build.macos64x64/pharo.cog.spur/plugins.ext M build.macos64x64/pharo.cog.spur/plugins.int A build.macos64x64/pharo.sista.spur/Makefile A build.macos64x64/pharo.sista.spur/mvm A build.macos64x64/pharo.sista.spur/plugins.ext A build.macos64x64/pharo.sista.spur/plugins.int M build.macos64x64/pharo.stack.spur.lowcode/Makefile M build.macos64x64/pharo.stack.spur.lowcode/mvm M build.macos64x64/pharo.stack.spur.lowcode/plugins.ext M build.macos64x64/pharo.stack.spur.lowcode/plugins.int M build.macos64x64/pharo.stack.spur/Makefile M build.macos64x64/pharo.stack.spur/mvm M build.macos64x64/pharo.stack.spur/plugins.ext M build.macos64x64/pharo.stack.spur/plugins.int M build.macos64x64/squeak.cog.spur.immutability/Makefile M build.macos64x64/squeak.cog.spur.immutability/mvm M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur.immutability/plugins.int M build.macos64x64/squeak.cog.spur/mvm M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.int M build.macos64x64/squeak.sista.spur/Makefile M build.macos64x64/squeak.sista.spur/mvm M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.int M build.macos64x64/squeak.stack.spur/mvm M build.macos64x64/squeak.stack.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.int A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin.cmake A build.minheadless.cmake/x64/common/configure_variant.sh A build.minheadless.cmake/x64/pharo.cog.spur/Makefile A build.minheadless.cmake/x64/pharo.cog.spur/mvm A build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure A build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure_variant A build.minheadless.cmake/x64/pharo.stack.spur/Makefile A build.minheadless.cmake/x64/pharo.stack.spur/mvm A build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure A build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x64/squeak.cog.spur/Makefile A build.minheadless.cmake/x64/squeak.cog.spur/mvm A build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure A build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure_variant A build.minheadless.cmake/x64/squeak.stack.spur/Makefile A build.minheadless.cmake/x64/squeak.stack.spur/mvm A build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure A build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin.cmake A build.minheadless.cmake/x86/common/configure_variant.sh A build.minheadless.cmake/x86/pharo.cog.spur/Makefile A build.minheadless.cmake/x86/pharo.cog.spur/mvm A build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure A build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure_variant A build.minheadless.cmake/x86/pharo.stack.spur/Makefile A build.minheadless.cmake/x86/pharo.stack.spur/mvm A build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure A build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/squeak.cog.spur/Makefile A build.minheadless.cmake/x86/squeak.cog.spur/mvm A build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure A build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure_variant A build.minheadless.cmake/x86/squeak.stack.spur/Makefile A build.minheadless.cmake/x86/squeak.stack.spur/mvm A build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure A build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure_variant M build.win32x86/HowToBuild M build.win32x86/bochsx64/makeem M build.win32x86/bochsx86/makeem M build.win32x86/common/Makefile.plugin M build.win32x86/makeall M build.win32x86/makeallinstall M build.win32x86/makeproduct M build.win32x86/makeproductinstall M build.win32x86/newspeak.cog.spur/mvm M build.win32x86/newspeak.cog.spur/nsvm.exe.manifest M build.win32x86/newspeak.stack.spur/mvm M build.win32x86/newspeak.stack.spur/nsvm.exe.manifest M build.win32x86/pharo.cog.spur.lowcode/Makefile M build.win32x86/pharo.cog.spur.lowcode/Pharo.exe.manifest M build.win32x86/pharo.cog.spur.lowcode/mvm M build.win32x86/pharo.cog.spur/Makefile M build.win32x86/pharo.cog.spur/Pharo.exe.manifest M build.win32x86/pharo.cog.spur/mvm A build.win32x86/pharo.sista.spur/Makefile A build.win32x86/pharo.sista.spur/Pharo.def.in A build.win32x86/pharo.sista.spur/Pharo.exe.manifest A build.win32x86/pharo.sista.spur/Pharo.ico A build.win32x86/pharo.sista.spur/Pharo.rc A build.win32x86/pharo.sista.spur/mvm A build.win32x86/pharo.sista.spur/plugins.ext A build.win32x86/pharo.sista.spur/plugins.int M build.win32x86/squeak.cog.spur.lowcode/Croquet.exe.manifest M build.win32x86/squeak.cog.spur.lowcode/Makefile M build.win32x86/squeak.cog.spur.lowcode/Squeak.exe.manifest M build.win32x86/squeak.cog.spur.lowcode/mvm M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur/Croquet.exe.manifest M build.win32x86/squeak.cog.spur/Squeak.exe.manifest M build.win32x86/squeak.cog.spur/mvm M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.v3/Croquet.exe.manifest M build.win32x86/squeak.cog.v3/Squeak.exe.manifest M build.win32x86/squeak.cog.v3/mvm M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.sista.spur/Croquet.exe.manifest M build.win32x86/squeak.sista.spur/Makefile M build.win32x86/squeak.sista.spur/Squeak.exe.manifest M build.win32x86/squeak.sista.spur/mvm M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.stack.spur/Croquet.exe.manifest M build.win32x86/squeak.stack.spur/Squeak.exe.manifest M build.win32x86/squeak.stack.spur/mvm M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.v3/Croquet.exe.manifest M build.win32x86/squeak.stack.v3/Squeak.exe.manifest M build.win32x86/squeak.stack.v3/mvm M build.win32x86/squeak.stack.v3/plugins.ext M build.win64x64/HowToBuild M build.win64x64/common/Makefile.plugin M build.win64x64/makeall M build.win64x64/makeallinstall M build.win64x64/makeproduct M build.win64x64/makeproductinstall M build.win64x64/newspeak.cog.spur/nsvm.exe.manifest M build.win64x64/newspeak.stack.spur/nsvm.exe.manifest M build.win64x64/pharo.cog.spur/Makefile M build.win64x64/pharo.cog.spur/Pharo.exe.manifest M build.win64x64/pharo.cog.spur/mvm M build.win64x64/pharo.stack.spur/Makefile M build.win64x64/pharo.stack.spur/Pharo.exe.manifest M build.win64x64/pharo.stack.spur/mvm M build.win64x64/squeak.cog.spur/Croquet.exe.manifest M build.win64x64/squeak.cog.spur/Squeak.exe.manifest M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.stack.spur/Croquet.exe.manifest M build.win64x64/squeak.stack.spur/Squeak.exe.manifest M build.win64x64/squeak.stack.spur/plugins.ext M build.win64x64/third-party/Makefile.cairo M build.win64x64/third-party/Makefile.freetype2 M build.win64x64/third-party/Makefile.libgit2 M build.win64x64/third-party/Makefile.libpng M build.win64x64/third-party/Makefile.libssh2 M build.win64x64/third-party/Makefile.pixman A cmake/Mpeg3Plugin.cmake A cmake/Plugins.cmake A cmake/PluginsPharo.cmake M deploy/bintray-cleanup.sh M deploy/bintray.sh M deploy/filter-exec.sh M deploy/pack-vm.sh M deploy/pharo/deploy-files.pharo.org.sh M deploy/pharo/filter-exec.sh M deploy/pharo/pack-vm.sh A deploy/resize_display A image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st A image/LoadFFI.st R image/Object-performwithwithwithwithwith.st A image/PharoWorkspace.text M image/README M image/Slang Test Workspace.text A image/Source Generation Workspace.text M image/VM Simulation Workspace.text M image/attic/envvars.sh M image/attic/getGoodCogVM.sh M image/attic/getGoodSpurNsvm.sh M image/attic/getGoodSpurVM.sh M image/attic/makegetnsvmscripts.sh M image/attic/makegetvmscripts.sh M image/buildsistareaderimage.sh M image/buildspurtrunk64image.sh M image/buildspurtrunkreader64image.sh M image/buildspurtrunkreaderimage.sh M image/buildspurtrunkvmmaker64image.sh M image/buildspurtrunkvmmakerimage.sh M image/ensureSqueakV50sources.sh M image/envvars.sh M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh M image/getsqueak50.sh M image/old/buildsqueak45vmmakerimage.sh M image/old/buildsqueakcmakeimage.sh M image/old/buildsqueaktrunkvmmakerimage.sh M image/old/ensureSqueakV41sources.sh M image/old/getsqueak45.sh M image/resizesqueakwindow.sh M image/updatespur64image.sh M image/updatespurimage.sh M image/updatevmmakerimage.sh M image/uploadspurimage.sh A include/OpenSmalltalkVM.h M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c R platforms/Cross/plugins/ExuperyPlugin/ExuperyPlugin.h A platforms/Cross/plugins/FileAttributesPlugin/faCommon.c A platforms/Cross/plugins/FileAttributesPlugin/faCommon.h A platforms/Cross/plugins/FileAttributesPlugin/faConstants.h M platforms/Cross/plugins/FilePlugin/FilePlugin.h M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c M platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/plugins/IA32ABI/xabicc.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3private.h M platforms/Cross/plugins/SecurityPlugin/SecurityPlugin.h M platforms/Cross/plugins/SerialPlugin/SerialPlugin.h A platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c M platforms/Cross/plugins/Squeak3D/b3d.h M platforms/Cross/plugins/Squeak3D/b3dAlloc.h M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/plugins/Squeak3D/b3dRemap.c M platforms/Cross/plugins/Squeak3D/b3dTypes.h M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c M platforms/Cross/plugins/sqPluginsSCCSVersion.h M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h A platforms/Cross/vm/sqCircularQueue.h A platforms/Cross/vm/sqPath.c A platforms/Cross/vm/sqPath.h M platforms/Cross/vm/sqSCCSVersion.h A platforms/Cross/vm/sqTextEncoding.c A platforms/Cross/vm/sqTextEncoding.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/Mac OS/plugins/AsynchFilePlugin/sqMacAsyncFilePrims.c M platforms/Mac OS/plugins/HostWindowPlugin/sqMacHostWindow.c M platforms/Mac OS/vm/config.h M platforms/Mac OS/vm/sqMacMain.c M platforms/Mac OS/vm/sqMacNSPlugin.c M platforms/Mac OS/vm/sqMacTime.c M platforms/Mac OS/vm/sqMacTime.h M platforms/Mac OS/vm/sqPlatformSpecific.h M platforms/RiscOS/plugins/FilePlugin/sqFilePluginBasicPrims.c M platforms/iOS/plugins/AioPlugin/Makefile M platforms/iOS/plugins/AsynchFilePlugin/Makefile M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.m A platforms/iOS/plugins/FileAttributesPlugin/Makefile M platforms/iOS/plugins/FileCopyPlugin/Makefile A platforms/iOS/plugins/FilePlugin/Makefile A platforms/iOS/plugins/FilePlugin/sqUnixFile.c M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.m M platforms/iOS/plugins/Mpeg3Plugin/Makefile M platforms/iOS/plugins/ObjectiveCPlugin/Makefile M platforms/iOS/plugins/SecurityPlugin/Makefile R platforms/iOS/plugins/SecurityPlugin/sqMacSecurity.c M platforms/iOS/plugins/SerialPlugin/Makefile R platforms/iOS/plugins/SerialPlugin/sqMacSerialPort.c M platforms/iOS/plugins/SocketPlugin/Makefile M platforms/iOS/plugins/SoundPlugin/Makefile M platforms/iOS/plugins/UnixOSProcessPlugin/Makefile M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.m M platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/iOS/vm/Common/Classes/sqSqueakNullScreenAndWindow.m M platforms/iOS/vm/Common/Classes/sqSqueakScreenAndWindow.m M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m M platforms/iOS/vm/OSX/sqMacV2Window.m M platforms/iOS/vm/OSX/sqPlatformSpecific.h M platforms/iOS/vm/OSX/sqSqueakMainApplication+screen.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m M platforms/iOS/vm/SqueakPureObjc_Prefix.pch M platforms/iOS/vm/iPhone/sqPlatformSpecific.h A platforms/minheadless/common/English.lproj/Newspeak-Localizable.strings A platforms/minheadless/common/English.lproj/Pharo-Localizable.strings A platforms/minheadless/common/English.lproj/Squeak-Localizable.strings A platforms/minheadless/common/debug.h A platforms/minheadless/common/glibc.h A platforms/minheadless/common/mac-alias.inc A platforms/minheadless/common/sqConfig.h A platforms/minheadless/common/sqEventCommon.c A platforms/minheadless/common/sqEventCommon.h A platforms/minheadless/common/sqExternalPrimitives.c A platforms/minheadless/common/sqExternalPrimitives.c.orig A platforms/minheadless/common/sqInternalPrimitives.c A platforms/minheadless/common/sqMain.c A platforms/minheadless/common/sqNamedPrims.h A platforms/minheadless/common/sqPlatformSpecific.h A platforms/minheadless/common/sqPlatformSpecificCommon.h A platforms/minheadless/common/sqPrinting.c A platforms/minheadless/common/sqVirtualMachineInterface.c A platforms/minheadless/common/sqWindow-Dispatch.c A platforms/minheadless/common/sqWindow-Null.c A platforms/minheadless/common/sqWindow.h A platforms/minheadless/common/sqaio.h A platforms/minheadless/common/version.c A platforms/minheadless/config.h.in A platforms/minheadless/generic/sqPlatformSpecific-Generic.c A platforms/minheadless/generic/sqPlatformSpecific-Generic.h A platforms/minheadless/sdl2-window/sqWindow-SDL2.c A platforms/minheadless/unix/BlueSistaSqueak.icns A platforms/minheadless/unix/GreenCogSqueak.icns A platforms/minheadless/unix/NewspeakDocuments.icns A platforms/minheadless/unix/NewspeakVirtualMachine.icns A platforms/minheadless/unix/Pharo-Info.plist A platforms/minheadless/unix/Pharo.icns A platforms/minheadless/unix/PharoChanges.icns A platforms/minheadless/unix/PharoImage.icns A platforms/minheadless/unix/PharoSources.icns A platforms/minheadless/unix/Squeak.icns A platforms/minheadless/unix/SqueakChanges.icns A platforms/minheadless/unix/SqueakGeneric.icns A platforms/minheadless/unix/SqueakImage.icns A platforms/minheadless/unix/SqueakPlugin.icns A platforms/minheadless/unix/SqueakProject.icns A platforms/minheadless/unix/SqueakScript.icns A platforms/minheadless/unix/SqueakSources.icns A platforms/minheadless/unix/aioUnix.c A platforms/minheadless/unix/sqPlatformSpecific-Unix.c A platforms/minheadless/unix/sqPlatformSpecific-Unix.h A platforms/minheadless/unix/sqUnixCharConv.c A platforms/minheadless/unix/sqUnixCharConv.h A platforms/minheadless/unix/sqUnixHeartbeat.c A platforms/minheadless/unix/sqUnixMemory.c A platforms/minheadless/unix/sqUnixSpurMemory.c A platforms/minheadless/unix/sqUnixThreads.c A platforms/minheadless/windows/sqGnu.h A platforms/minheadless/windows/sqPlatformSpecific-Win32.c A platforms/minheadless/windows/sqPlatformSpecific-Win32.h A platforms/minheadless/windows/sqWin32.h A platforms/minheadless/windows/sqWin32Alloc.c A platforms/minheadless/windows/sqWin32Alloc.h A platforms/minheadless/windows/sqWin32Backtrace.c A platforms/minheadless/windows/sqWin32Backtrace.h A platforms/minheadless/windows/sqWin32Common.c A platforms/minheadless/windows/sqWin32Directory.c A platforms/minheadless/windows/sqWin32HandleTable.h A platforms/minheadless/windows/sqWin32Heartbeat.c A platforms/minheadless/windows/sqWin32Main.c A platforms/minheadless/windows/sqWin32SpurAlloc.c A platforms/minheadless/windows/sqWin32Stubs.c A platforms/minheadless/windows/sqWin32Threads.c A platforms/minheadless/windows/sqWin32Time.c M platforms/unix/config/Makefile.in M platforms/unix/config/acinclude.m4 M platforms/unix/config/aclocal.m4 A platforms/unix/config/ax_append_flag.m4 A platforms/unix/config/ax_cflags_warn_all.m4 M platforms/unix/config/ax_have_epoll.m4 A platforms/unix/config/ax_pthread.m4 A platforms/unix/config/ax_require_defined.m4 M platforms/unix/config/build M platforms/unix/config/config.guess M platforms/unix/config/config.h.in M platforms/unix/config/configure M platforms/unix/config/configure.ac M platforms/unix/config/ltmain.sh M platforms/unix/config/make.cfg.in M platforms/unix/config/make.ext.in M platforms/unix/config/make.int.in M platforms/unix/config/make.prg.in M platforms/unix/config/verstamp M platforms/unix/plugins/BochsIA32Plugin/Makefile.inc M platforms/unix/plugins/BochsX64Plugin/Makefile.inc A platforms/unix/plugins/FileAttributesPlugin/faSupport.c A platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/unix/plugins/FilePlugin/sqUnixFile.c M platforms/unix/plugins/GdbARMPlugin/Makefile.inc M platforms/unix/plugins/HostWindowPlugin/sqUnixHostWindowPlugin.c M platforms/unix/plugins/SecurityPlugin/sqUnixSecurity.c A platforms/unix/plugins/SerialPlugin/Makefile.inc M platforms/unix/plugins/SerialPlugin/sqUnixSerial.c M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c M platforms/unix/plugins/SoundPlugin/sqUnixSound.c R platforms/unix/plugins/SqueakSSL/Makefile.inc A platforms/unix/plugins/SqueakSSL/acinclude.m4 M platforms/unix/plugins/SqueakSSL/openssl_overlay.h A platforms/unix/plugins/SqueakSSL/sqUnixLibreSSL.inc R platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c A platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc A platforms/unix/plugins/SqueakSSL/sqUnixSSL.c R platforms/unix/plugins/UUIDPlugin/Makefile.inc M platforms/unix/plugins/UUIDPlugin/acinclude.m4 M platforms/unix/vm-display-Quartz/acinclude.m4 M platforms/unix/vm-display-X11/acinclude.m4 M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm-display-X11/sqUnixXdnd.c R platforms/unix/vm-sound-ALSA/Makefile.inc M platforms/unix/vm-sound-ALSA/acinclude.m4 M platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c M platforms/unix/vm-sound-NAS/sqUnixSoundNAS.c M platforms/unix/vm-sound-OSS/acinclude.m4 M platforms/unix/vm-sound-OSS/sqUnixSoundOSS.c R platforms/unix/vm-sound-pulse/Makefile.inc M platforms/unix/vm-sound-pulse/acinclude.m4 M platforms/unix/vm/acinclude.m4 A platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqConfig.h M platforms/unix/vm/sqPlatformSpecific.h M platforms/unix/vm/sqUnixCharConv.c M platforms/unix/vm/sqUnixEvent.c M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixMain.c M platforms/unix/vm/sqUnixVMProfile.c M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32D3D.c M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32OpenGL.c M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c A platforms/win32/plugins/FileAttributesPlugin/faSupport.c A platforms/win32/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FilePlugin/sqWin32File.h M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c A platforms/win32/plugins/SerialPlugin/Makefile.plugin M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32DirectInput.c M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32ExternalPrims.c M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Threads.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c M processors/ARM/mac/BUILD.sh M processors/ARM/mac/BUILDarmsim-dbg.sh M processors/ARM/mac/BUILDarmsim.sh M processors/ARM/mac/BUILDbinutils.sh A scripts/ci/travis_build.sh A scripts/ci/travis_helpers.sh A scripts/ci/travis_install.sh A scripts/ci/travis_test.sh M scripts/compileChangeHistory M scripts/gitci M scripts/indentit A scripts/installCygwin.bat M scripts/lastCheckin M scripts/mkARMstackvmarchives M scripts/mkcogvmarchives M scripts/mklinuxarchive M scripts/mksistaarchives M scripts/mkspur64vmarchives M scripts/mkspurvmarchives M scripts/mkvmarchives A scripts/modified M scripts/printRevAndTag A scripts/untracked M scripts/updateSCCSVersions R scripts/uploadARMvms R scripts/uploadvms M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h A spur64src/vm/cointerpmt.c A spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c A spur64src/vm/gcc3x-cointerpmt.c M spur64src/vm/interp.h M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcode64src/vm/interp.h M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/interp.h M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestack64src/vm/interp.h M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spurlowcodestacksrc/vm/interp.h M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursista64src/vm/interp.h M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursistasrc/vm/interp.h M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h A spursrc/vm/cointerpmt.c A spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c A spursrc/vm/gcc3x-cointerpmt.c M spursrc/vm/interp.h M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/interp.h M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/interp.h M src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/CameraPlugin/CameraPlugin.c M src/plugins/CroquetPlugin/CroquetPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/DropPlugin/DropPlugin.c M src/plugins/FFTPlugin/FFTPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/IA32ABI/IA32ABI.c A src/plugins/IOSPlugin/IOSPlugin.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c A src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/StarSqueakPlugin/StarSqueakPlugin.c M src/plugins/UUIDPlugin/UUIDPlugin.c M src/plugins/UnicodePlugin/UnicodePlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/WeDoPlugin/WeDoPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M src/vm/interp.h M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M stacksrc/vm/interp.h M tests/newspeakBootstrap.sh M tests/smalltalkCI.sh M third-party/freetype2.spec A third-party/freetype2.spec.win64 M third-party/libsdl2.spec M third-party/openssl.spec Log Message: ----------- Merge branch 'Cog' into patch-1 Commit: 122944721ad57e5f7c5c233c85026fe172d8044f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/122944721ad57e5f7c5c233c85026fe172d8044f Author: Nicolas Cellier Date: 2018-12-29 (Sat, 29 Dec 2018) Changed paths: M scripts/updateSCCSVersions Log Message: ----------- Merge pull request #227 from j4yk/patch-1 Second attempt to improve updateSCCSVersions Commit: f954a914716e28b929ef173f2f3eae12652d86ef https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f954a914716e28b929ef173f2f3eae12652d86ef Author: Eliot Miranda Date: 2018-12-29 (Sat, 29 Dec 2018) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2502 Get rid of unused subclassResponsibilities in the Cogit back ends. Generate src/plugins/SqueakFFIPrims/SqueakFFIPrims.c to pull in ARM64FFIPlugin.c Commit: 7294c0b7e9a4265574a38bb9ae74db83c3350822 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7294c0b7e9a4265574a38bb9ae74db83c3350822 Author: Eliot Miranda Date: 2018-12-29 (Sat, 29 Dec 2018) Changed paths: M image/Slang Test Workspace.text M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2504/FileAttributesPlugin.oscog-akg.49 Slang: Fix a bug in type inferrence that resulted in the inferred return type of findMapLocationForMcpc:inMethod: to flip between usqInt (correct) and sqInt (incorrect). addTypesFor:to:in: needed to answer if it was inferring a return type from an untyped variable, as well as an untyped method. Plugins: FileAttributesPlugin v2.0.8 Fix some of the doits in Slang Test Workspace.text Commit: 1ab12fb86af3f7942928201bdb06dc10dd09a38d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1ab12fb86af3f7942928201bdb06dc10dd09a38d Author: Eliot Miranda Date: 2018-12-29 (Sat, 29 Dec 2018) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Oops; FileAttributesPlugin.oscog-akg.48 is not ready for prime time. Generate source as per FileAttributesPlugin.oscog-akg.47. Commit: 525b42186e40d790208662bc51f7d8afd1147758 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/525b42186e40d790208662bc51f7d8afd1147758 Author: Ben Coman Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M build.win32x86/third-party/Makefile.freetype2 Log Message: ----------- Fix Freetype 2.9.1 third-party non-cached build (i.e. fresh local clone) Commit: 59d585bb8a64c79a1e34e2d22e94c740b81d4c24 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/59d585bb8a64c79a1e34e2d22e94c740b81d4c24 Author: AlistairGrant Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/Cross/plugins/FileAttributesPlugin/faCommon.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin 2.0.8 Get the plugin simulator working again. Until the first call to #primitiveFailForOSError:, at which point the simulator fails (the real plugin works). Still on the ToDo list... Commit: 35b266ccb1976a79178c41c1a7e603f5d0fba123 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/35b266ccb1976a79178c41c1a7e603f5d0fba123 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M build.win32x86/third-party/Makefile.freetype2 M scripts/installCygwin.bat A third-party/freetype291.patch Log Message: ----------- Merge pull request #327 from bencoman/win-freetype291-patch Fix Freetype 2.9.1 third-party build Commit: 8b7e29ef22ea152ae450c23cf3d9202d93cf8d06 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8b7e29ef22ea152ae450c23cf3d9202d93cf8d06 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: A build.win32x86/pharo.stack.spur/Makefile A build.win32x86/pharo.stack.spur/Pharo.def.in A build.win32x86/pharo.stack.spur/Pharo.exe.manifest A build.win32x86/pharo.stack.spur/Pharo.ico A build.win32x86/pharo.stack.spur/Pharo.rc A build.win32x86/pharo.stack.spur/mvm A build.win32x86/pharo.stack.spur/plugins.ext A build.win32x86/pharo.stack.spur/plugins.int Log Message: ----------- Merge pull request #317 from bencoman/add-stack-win32-build Add stack win32 build Commit: 7b4dedbc4d84aec9eb4877b0334abca909660299 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7b4dedbc4d84aec9eb4877b0334abca909660299 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/Cross/plugins/FileAttributesPlugin/faCommon.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- Merge pull request #330 from akgrant43/FapSessionId FileAttributesPlugin 2.0.8 Commit: ea3d51e9dce14c9b081d3d4049fcb4223dc5b253 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ea3d51e9dce14c9b081d3d4049fcb4223dc5b253 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Handle both an ASCII (UTF8) and a WIDE (UTF16) version of image/vm name/path Note: the Microsoft windows API mostly uses the W version (for enabling internationalized image name/path) the image uses UTF8 encoded bytes string for communication with the VM (this is best for compatibility with Unix/Mac) The idea here is that the implementation maintains both versions of the UTF8 and UTF16 path/name The appropriate macro returning a TCHAR * are also provided. This is in order to support the generic version using TCHAR, which are normally used to ease transition to UNICODE. Note about string length: No effort has been made so far to support long path names for image and VM. The path is limited to MAX_PATH in UTF16. UTF8 can eventually consume more characters than UTF16 (not necessarily more bytes). Thus, the ASCII version has been made longer (MAX_PATH_UTF8) in order to avoid an even more restrictive limit. Commit: 8bdd0b6afd5997ec3e29d10ce7602b21f6739e54 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8bdd0b6afd5997ec3e29d10ce7602b21f6739e54 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/plugins/DropPlugin/sqWin32Drop.c Log Message: ----------- DropPlugin: modernize OpenFile/_lwrite/_lclose API OK, OK, they are compatible with 16 bits windows ;) But these are not recommended any more especially if we want to go toward UNICODE paths everywhere. Commit: cb32e410a6ae4102a96d7110a562a25140d1be30 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cb32e410a6ae4102a96d7110a562a25140d1be30 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/plugins/DropPlugin/sqWin32Drop.c Log Message: ----------- Drop plugin: let tempPathName be Wide This is for the generated temporary file $$squeak$$.bmp The path to temporary directory could be non ASCII, so let's be more robust to UNICODE. Commit: 85e08830d9ee73100ebf6195a1da7a30ca811428 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/85e08830d9ee73100ebf6195a1da7a30ca811428 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Service.c Log Message: ----------- Fix 2 potential buffer overrun in sqWin32Service.c Commit: f6891456a8740e1b6ef2bcac6dc1527c2a31b7c6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6891456a8740e1b6ef2bcac6dc1527c2a31b7c6 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Setting fp flags _MCW_PC and _MCW_IC is not supported on ARM nor X64 See https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/control87-controlfp-control87-2?view=vs-2017 Setting these flags triggers an assertion failure when compiled with MSVC in debug mode Assertion failure (mask&~(_MCW_DN|_MCW_EM|_MCW_RC))==0 Commit: 49eff31f03725185549bb736ad970818b37da612 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/49eff31f03725185549bb736ad970818b37da612 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32SpurAlloc.c Log Message: ----------- The pageSize and pageMask are too short on WIN64 Due to this, roundUpToPage is truncating addresses > 2^32 With MSVC, minAddress is > 2^32, and it then takes ages to generate a VirtualAlloc > minAddress (several minutes). Commit: 627bc5e39c3e718de09ddc0293997435b8c73413 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/627bc5e39c3e718de09ddc0293997435b8c73413 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Service.c Log Message: ----------- Use the eventually true UNICODE imageNameT if -DUNICODE using `toUnicode` does not do the right thing: it promotes each UTF8 byte code to short... ... which can hardly work beyond ASCII. Commit: 98fc85ddd56487492a4988ad457dbc2b3fe88397 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/98fc85ddd56487492a4988ad457dbc2b3fe88397 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32ExternalPrims.c Log Message: ----------- interpret pluginName as UTF8 rather than pure ASCII toUnicode is just expanding bytes to short, and re-interpret them UTF16, not regarding original encoding. This works well for pure ASCII, but is not really defined for other encodings. We should prefer using UTF8 by default for all the image-VM string transfer. Commit: 4f6f191613f6bf6cdb989b39e1002cf4938f475c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4f6f191613f6bf6cdb989b39e1002cf4938f475c Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32SpurAlloc.c M platforms/win32/vm/sqWin32Utils.c Log Message: ----------- refactor sqMessageBox to void using toUnicode Why to get rid of toUnicode fromUnicode fromSqueak fromSqueak2? - we'd rather use UTF8 everywhere. - and it's the last usage remaining! Now the clients must use a TEXT() macro also for the format. In the future, we could eventually translate the VM messages... Get rid of wsprintf variant which has no character limit and might be prone to buffer overrun. An alternative for supporting both ASCII and WIDE is the _tcs* family in See https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/vsprintf-vsprintf-l-vswprintf-vswprintf-l-vswprintf-l?view=vs-2017 In order to avoid buffer overrun, prefer a vsnprintf variant Note: I did also update the prototype in sqWin32SpurAlloc, but not the contents. It is dead code, and only there for testing purposes. We'd better remove it! Commit: 545ec0a931166a8374683940f3344e27a110f42c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/545ec0a931166a8374683940f3344e27a110f42c Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Utils.c Log Message: ----------- Discard now unused toUnicode fromUnicode fromSqueak fromSqueak2 lstrrchr For UNICODE compatibility, - every String coming from image to the VM should better be interpreted UTF8, and converted to wide String via MultiByteToWideChar() - every String going to the image from the VM should better be converted from Wide string to UTF8 via WideCharToMultiByte() See: https://docs.microsoft.com/en-us/windows/desktop/api/stringapiset/nf-stringapiset-multibytetowidechar https://docs.microsoft.com/en-us/windows/desktop/api/stringapiset/nf-stringapiset-widechartomultibyte Side note: there is also a _tcsrrchr in at least since visual studio 2015 See https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strrchr-wcsrchr-mbsrchr-mbsrchr-l?view=vs-2017 is also supported by mingw so if ever we need lstrrchr again, we'll use that. Commit: 2024d4358c14482f4ad861180e412488e25aef7a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2024d4358c14482f4ad861180e412488e25aef7a Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32.h Log Message: ----------- #if 0 ? YAGNI ! we now use builtin _WIN32 _WIN64 anyway Reminder: even in WIN64, _WIN32 is defined, so the comment was a bit misleading anyway. Commit: e1e83f770aaa7f903509eae7166c858260bd3b7c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e1e83f770aaa7f903509eae7166c858260bd3b7c Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32.h Log Message: ----------- which SetUpPreferences()? There is no SetUpPreferences()! Commit: 8638522434f52dbacfdf634745ac50e387900ec6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8638522434f52dbacfdf634745ac50e387900ec6 Author: Nicolas Cellier Date: 2018-12-30 (Sun, 30 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- RegisterWindowMessage takes a TCHAR * Commit: 1893512441e9838d3393896c1fe1abc507775c55 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1893512441e9838d3393896c1fe1abc507775c55 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqPlatformSpecific.h Log Message: ----------- Platform specific knowledge: WIN32_FILE and STD_FILE are mutually exclusive options Therefore, when we define `WIN32_FILE_SUPPORT` we must also define `NO_STD_FILE_SUPPORT` Until now, this knowledge was in build.win*/common/Makefile.* (and a legacy MSVC project in plaftorms/win32/misc/Squeak.dsp - on pourrait réduire la voilure !!!) Since it is easy to forget the second define, lets extend the knowledge in the sqPlatformSpecific.h Commit: f25041584cb703d00ef9677b4403c50244daa024 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f25041584cb703d00ef9677b4403c50244daa024 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- We can't compare a TCHAR*windowClassName with a char*buf Even if buf were re-interpreted as WCHAR* when -DUNICODE, strcmp wouldn't do the right thing (it will stop at first ASCII because high 8 bits will be zero!) We thus use the TCHAR*dedicated `_tcscmp`. If ever we want to switch to UTF16 (WCHAR*) windowClassName, then it will be `wcscmp`. Commit: 84a8d172d1c524487cf9c2e06f2fc807ef27c6d9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/84a8d172d1c524487cf9c2e06f2fc807ef27c6d9 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Prefs.c Log Message: ----------- Tu quoque NewspeakVM, frustra TEXT macro... That's the limit of using compiler warnings: we only focus on the sections we compile... BTW, ifdef NewspeakVM, OK, but what do Pharo people think about it? Commit: 7d3264e523709ea92aa1a70d1c9a97a863d3c0a8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7d3264e523709ea92aa1a70d1c9a97a863d3c0a8 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c Log Message: ----------- gai_strerror returns a TCHAR*, we cannot simply fprintf it... Choose the UNICODE variant, because error messages are presumably localized an may use non ASCII characters The alternative would be to use `_ftprintf(stderr,TEXT("%s"),gai_strerror(gaiError))` and let -DUNICODE decide... Commit: 6ff9625b6cb47487bf5421921c9b7b9742571e7b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6ff9625b6cb47487bf5421921c9b7b9742571e7b Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32DnsInfo.c Log Message: ----------- Let lookup account for NULL terminating a WCHAR* The low level `RegQueryValueEx` deals with a char*, but here char* just means some un-interpreted bytes, not a string! If we compile with `-DUNICODE` the un-interpreted bytes will contain a WCHAR* And if we want to properly NULL terminate this WCHAR*, then we need 2 null bytes, not 1! Commit: 32840ac857dbef54e25c61c3e7bb0a9dde5aca5f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/32840ac857dbef54e25c61c3e7bb0a9dde5aca5f Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32DnsInfo.c Log Message: ----------- Revert to ASCII only version of DnsInfo Rationale: there's no urge in providing localized UNICODE info... That's IP addresses, etc... Eventually, server names could be UNICODE but this seems to be a real mess! The short term goal is to enable compilation with -DUNICODE For longer term, we'll see later. Commit: 475d84cf63fc05ca814fa67016f46e90263d0894 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/475d84cf63fc05ca814fa67016f46e90263d0894 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c Log Message: ----------- iconPath is char*, LoadImage expects a TCHAR* We now interpret iconPath as UTF-8 encoded We convert it to WideChar and call the W version. TODO: for now, do not deal with UNC long filenames... Commit: ef245b6d485b0286f648fda560b0564d812593e5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ef245b6d485b0286f648fda560b0564d812593e5 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c Log Message: ----------- And account for the fact that iconPath is not NULL-TERMINATED! Commit: 07ff6a63ab5841ece882f93092d900d36ca371b0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/07ff6a63ab5841ece882f93092d900d36ca371b0 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- DPRINTF must take a TCHAR*fmt because wvsprintf does! though, vfprintf does not, so reconcile by using _vftprintf from Commit: dfe4d09597d2c6ed94ff9d1f6305df677bf39067 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dfe4d09597d2c6ed94ff9d1f6305df677bf39067 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- NOTIFYICONDATA.szTip maybe a WCHAR* if -DUNICODE so let's use appropriate TCHAR* functions/macros Commit: db33158941b1a8e74224d98ff6e81b2f20e6959c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/db33158941b1a8e74224d98ff6e81b2f20e6959c Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- _DISPLAY_DEVICE.DeviceString may be a WCHAR* if -DUNICODE, we cannot simply sprintf We have to test #ifdef UNICODE, and if so, convert to UTF8 Commit: 46bd992b7633dfc4f96b142104651313b826809c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/46bd992b7633dfc4f96b142104651313b826809c Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Prefs.h Log Message: ----------- VM_VERSION_TEXT is a TCHAR*, we cannot simply fprintf But there is no need for UNICODE in VM_VERSION_TEXT Revert to plain ASCII and rename it VM_VERSION_VERBOSE Commit: c5f207c84ce1a9dca04ff4126e24a7489986c9c5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c5f207c84ce1a9dca04ff4126e24a7489986c9c5 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- iniName, manufacturer and model may be WCHAR* if -DUNICODE Let iniName be WCHAR unconditionally. Get manufacturer and model into a UTF16 buffer, then convert them to UTF8 while at it, protect buffer overrun strcat - > wcsNcat Commit: d9b3927ed91ef60eeca7ec14dd7f48ccb6022cde https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d9b3927ed91ef60eeca7ec14dd7f48ccb6022cde Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Information queried in Registry can be WideChar if -DUNICODE We want to generate an UTF8 report (do we really?). So provide a `RegLookupUTF8String`, so as to make all the queries with W variant, then convert all information to UTF8 While at it, use snprintf instead of sprintf and strncat instead of strcat Commit: 8b14fbfcb43951d7a7f87be1d927fadc7db85007 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8b14fbfcb43951d7a7f87be1d927fadc7db85007 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Make stderrName and stdoutName be WCHAR* There was a mixture of TCHAR* and char* which could not work with -DUNICODE Who knows, the TempPath might be localized, so go UNICODE... Commit: 643a5e3bc03142a49115588a1b215cf963563e42 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/643a5e3bc03142a49115588a1b215cf963563e42 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Retract support for Windows95 (no you don't dream it's nearly 2019!) I'm very sorry to dilapidate all this historical knowledge, but frankly YAGNI! Even if we are a museum, we can't expose all our art in permanent collections! Note that minimal version is already set to XP (via WINVER:=-D_WIN32_WINNT=0x0501 -DWINVER=0x0501 in Makefile.tools) So we're keeping this stuf for nothing, and now it gets in our way to UNICODE. Commit: 1f616371ff559224ad6200d1a1109e6c1a5007b3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1f616371ff559224ad6200d1a1109e6c1a5007b3 Author: Nicolas Cellier Date: 2018-12-31 (Mon, 31 Dec 2018) Changed paths: M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Service.c Log Message: ----------- Handle UTF16 logName and serviceName These are the last two obstacles that generate compiler warnings with -DUNICODE No compiler warning does not mean that UNICODE is OK and ready to go. It means that we have at least eliminated all the trivial TCHAR*/char*/WCHAR* mismatch (and there were a bunch of them!!!) Also the code is like a battlefield with lot of different ad hoc recipes, that would deserve more uniform approach (refactoring) But small steps! To reach the current stage, we have to overhaul printCommandLine() It can't answer a TCHAR* when sqMain expects a char*argv[]... So, like what is done in WinMain thru getCommandLineW, we first produce a Wide command line, then convert to UTF8. There is currently no provision for conversion failure: I don't know how to report and exit when the VM is ran as a service. Note that command line parsing is then working the other way around: some of the arguments are converted back to UTF16. I call this style tricotage coding: une maille à l'endroit, une maille à l'envers. Maybe a deeper change will be to WCHAR* all the way down, but let's differ this decision. Small steps! Note that another source of problems is RegQueryValueExW. When we query a WCHAR* string, it is not necessarily NULL terminated. But every answer is handled as raw un-interpretd-bytes (char *), whose byte length is answered in dwSize. That's not the WCHAR character length! So buffer[dwSize] = 0 is not the right thing: - if buffer is declared WVCHAR*, this would write the NULL well beyond the real string length (and eventually overrun the buffer); - if buffer is declared char*, this would not guaranty a terminating NULL WCHAR (we need 2 zero bytes to make a NULL WCHAR). Usage of this function will require a careful review, the price of low level API... Also note that we seem to compile with flag -DNO_SERVICE right now. Why? I have not enough knowledge in this area and lack tests/examples. In that conditions, it's not easy to test the modifications! Any help will be greatly appreciated. The good part is that It won't break current VM usage... You know what I think of dead-code, but half alive Frankenstein code scares me as well ;) Commit: e5cd4fb0538cdd090e7ceb4078edc261cb5099a0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e5cd4fb0538cdd090e7ceb4078edc261cb5099a0 Author: Nicolas Cellier Date: 2019-01-01 (Tue, 01 Jan 2019) Changed paths: M platforms/win32/vm/sqWin32ExternalPrims.c M platforms/win32/vm/sqWin32Utils.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Fix 3 potential buffer overrun Commit: 4ded3182b34a2cc2ac3ec1299590a71515a07972 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4ded3182b34a2cc2ac3ec1299590a71515a07972 Author: Nicolas Cellier Date: 2019-01-01 (Tue, 01 Jan 2019) Changed paths: M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Service.c Log Message: ----------- Fix my own confusion about wcsncat wcsncat does not care about the write limit! (buffer overrun). It only specifies the maximum number of characters to read from source... This way, we pay one more Shlemiel the painter run, and write hyper convoluted code. Nice! Commit: af19ed7e15bed953ddbc3d3ab4295683e34d0ab6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/af19ed7e15bed953ddbc3d3ab4295683e34d0ab6 Author: Nicolas Cellier Date: 2019-01-01 (Tue, 01 Jan 2019) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Fix: Shlemiel the painter needs to paint strncat too Like wcsncat, the ugly and correct usage is strncat( dest, src, sizeof(dest) - 1 - strlen(dest) ); Commit: bf3840c320cf6cd488d83b1ebf7d0ea124b6ad87 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bf3840c320cf6cd488d83b1ebf7d0ea124b6ad87 Author: Nicolas Cellier Date: 2019-01-01 (Tue, 01 Jan 2019) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Fix a TCHAR*crashInfo trying to mix a char*msg Here, i don't want to redefine error() to take a TCHAR* So the simplest alternative is to switch to MessageBoxA But vmLogDirA may contain UNICODE, and UTF8 encoded character may be mangled in the MessageBox. The right way is to switch to W variant unconditionnally, and interpret msg as UTF8... Commit: ac69399cb4d6cf44f870d9fbd7914a204ac26a51 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ac69399cb4d6cf44f870d9fbd7914a204ac26a51 Author: Ben Coman Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: A scripts/pluginReport Log Message: ----------- Add pluginreport script Commit: aebf4dc8a2481dfffe986e1dccb2294d48df53ce https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/aebf4dc8a2481dfffe986e1dccb2294d48df53ce Author: akgrant43 Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: A scripts/pluginReport Log Message: ----------- Merge pull request #337 from bencoman/pluginReport Add pluginreport script [ci skip] Commit: 252e2a84a250faa99dbacae6c439ac132b8ca9e7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/252e2a84a250faa99dbacae6c439ac132b8ca9e7 Author: Nicolas Cellier Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c Log Message: ----------- Fix another potential Buffer overrun in sqWin32MIDI.c The joy of 0-based indices... [skip travis] Commit: 1c6552daac9cc823b3a74b643676b3a346f0bf5d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1c6552daac9cc823b3a74b643676b3a346f0bf5d Author: Nicolas Cellier Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c Log Message: ----------- Generate SqueakFFIPrims from VMMaker.oscog-nice.2505 Restore the `__arm__` macro for 32 bits ARM. >From http://infocenter.arm.com/help/topic/com.arm.doc.dui0774a/chr1383660321827.html `__arm__` and `__aarch64__` are clearly exclusive (at least for clang, so probably gcc too) `__arm__` means A32 or T32 instruction set. Add the `__ARM_ARCH_ISA_A64` macro for arm64 Retract the `__ARM_ARCH_V8__`, V8 can target both A32 and A64 architectures. This should fix Issue #333. Note that I could skip appveyor (in square brackets), but I let it run to make sure we have a clean build. Commit: 3e51616a56a0ef49b7c67a580db0f0fbaaea588f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3e51616a56a0ef49b7c67a580db0f0fbaaea588f Author: Nicolas Cellier Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- fixup: skip only 18 WCHAR if keyName begins with \\registry\\machine Note that keyName was declared char * in the original code. But now it is WCHAR*, so keyName+18 already does the right thing (skip 18 char) while modified code would now skip 36! Note that original code was using memcpy for this case of overlapping memory which is BAD and eventually UB. [skip travis] Commit: 7136c67c128d785d9059936a45bd282290cdb5fb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7136c67c128d785d9059936a45bd282290cdb5fb Author: Nicolas Cellier Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: M platforms/win32/plugins/DropPlugin/sqWin32Drop.c M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32DnsInfo.c M platforms/win32/vm/sqWin32ExternalPrims.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Prefs.h M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32SpurAlloc.c M platforms/win32/vm/sqWin32Utils.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #332 from OpenSmalltalk/WIN64_UNICODE Win64 unicode fixes [skip travis] this allow compilation with flag `-DUNICODE -D_UNICODE` Commit: 4438e67298bd4466020c20446553c6c38dd2b7b3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4438e67298bd4466020c20446553c6c38dd2b7b3 Author: Nicolas Cellier Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- fix: squeakIniName cannot be both a WCHAR* (sqWin32Security.c) and TCHAR* Thus maintain the two variants squeakIniNameW and squeakIniNameA Also fix this invariant: when reading imageNameW from ini file, make sure the ASCII variant is initialized too Commit: 76e2ecf05787caf3a90eb22bef622435a59c9617 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/76e2ecf05787caf3a90eb22bef622435a59c9617 Author: Nicolas Cellier Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- fix: remove superfluous TEXT macro we're in non UNICODE #ifdef branch, so the macro is void sprintf (ASCII) of some TEXT (TCHAR*) would not make sense anyway Commit: 3b06e9d50720adfb9c64dd5ddb06db032712dd69 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3b06e9d50720adfb9c64dd5ddb06db032712dd69 Author: Nicolas Cellier Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- fix: wcsncpy does not necessarily writes the terminating NULL Commit: f7d1af84872a1ca1bed1b9c79ed0066f732ac406 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f7d1af84872a1ca1bed1b9c79ed0066f732ac406 Author: Nicolas Cellier Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32D3D.c Log Message: ----------- fix: B3DAccelerator: dwState is used un-initialized if value is not 0,1 or 2. Commit: 0d88f639c063806b582220c77c533f65d174d707 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0d88f639c063806b582220c77c533f65d174d707 Author: Nicolas Cellier Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c Log Message: ----------- fix issue #336 potential buffer overrun in sqWin32Midi.c The cache dimension is only 128, so use mask & 0x7F to make sure that we do not overrun the cache. I don't know if it could happen, but now we are sure that it can't. Commit: eaa36cf28e397d939b96b95849f7c8d2eddc0688 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/eaa36cf28e397d939b96b95849f7c8d2eddc0688 Author: Nicolas Cellier Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- fix: use LoadLibraryA for -DUNICODE compatibility Commit: d066799e3ccff36ad96c2b8a65863aee7a4778d3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d066799e3ccff36ad96c2b8a65863aee7a4778d3 Author: Nicolas Cellier Date: 2019-01-02 (Wed, 02 Jan 2019) Changed paths: M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32Main.c Log Message: ----------- fix: LoadLibrary could fail thus - hUser could be NULL - hPsApi may be NULL - hAdvApi32 might be NULL [skip travis] we only have platforms/win32 changes Commit: 2bfdddc8ee084394d69ff3b95c93d2850a2716ca https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2bfdddc8ee084394d69ff3b95c93d2850a2716ca Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c Log Message: ----------- fix: SecurityPlugin: RegQueryValueExW dwSize is buffer size in bytes Therefore, it is not the number of characters (WCHAR), but rather twice that number! Commit: bf754ec9b8c8ffec1ac958ed12e897c22ae1ce18 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bf754ec9b8c8ffec1ac958ed12e897c22ae1ce18 Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c Log Message: ----------- SecurityPlugin: prefer wcs* functions to lstr*W It's more in line with the style of platforms/win32 (though it's still quite noisy) Commit: 01cbedd1a13ccf57216d9c6662bb40e5197a46b7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/01cbedd1a13ccf57216d9c6662bb40e5197a46b7 Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c Log Message: ----------- Fix: securityPlugin: use WideCharToMultiByte and CP_UTF8 It's far more correct than naive sqUTF16toUTF8Copy. This function should be removed. Therefore, use MAX_PATH_UTF8 to be sure that there is enough room in UTF8 encoded strings. Add a guard of 1 character to handle terminating NULL Commit: ec2e7e96377379bae13ba8e71e2cb7395ecd5a02 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ec2e7e96377379bae13ba8e71e2cb7395ecd5a02 Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c Log Message: ----------- SecurityPlugin use MultiByteToWideChar rather than sqUTF8toUTF16Copy The former is the standard and correct implementation The later is a naive stub Note: as an internal plugin, we could rather just copy imagePathW... [skip travis] because sole changes are in platforms/win32 Commit: 9b485667f433a2863a87452712c58b692fe79e8c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9b485667f433a2863a87452712c58b692fe79e8c Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c Log Message: ----------- fix: SecurityPlugin: restore expandMyDocuments Note: this function was temporarily disabled in minheadless merge. Note: There was no provision for MAX_PATH buffer overrun (in fact all the arrays are MAX_PATH+1 long). Now abort the replacement when such overrun happens. This is not satisfying, we should signal the error... [skip travis] Commit: adbdf2e6511c89a7206bde7265024b23d5ca75b8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/adbdf2e6511c89a7206bde7265024b23d5ca75b8 Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c Log Message: ----------- fix SecurityPlugin: revert unfortunate copy/paste This was from minheadless merge [skip travis] Commit: 87a2f3b4d17626acf7b9a698ef1b9ebb9d6a7307 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/87a2f3b4d17626acf7b9a698ef1b9ebb9d6a7307 Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32D3D.c M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #338 from OpenSmalltalk/WIN64_fixes Win64 fixes Commit: e2cc141c6d9d252253976eebd06e9756e5adc522 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e2cc141c6d9d252253976eebd06e9756e5adc522 Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/minheadless/windows/sqWin32Heartbeat.c Log Message: ----------- backport high-resolution clock fix Commit: caa663fadd9b029696895ead96dc094efe48e3e1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/caa663fadd9b029696895ead96dc094efe48e3e1 Author: AlistairGrant Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M build.linux32ARMv6/pharo.cog.spur/build/mvm Log Message: ----------- linux32ARMv6 mvm missing quotes build.linux32ARMv6/pharo.cog.spur/build/mvm is missing quotes around a parameter triggering a syntax error Commit: 790321840041366d8e160d23e6b9d1bd571b9cc8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/790321840041366d8e160d23e6b9d1bd571b9cc8 Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/minheadless/windows/sqWin32Directory.c Log Message: ----------- backport pathLength protection Commit: ca32e911f56d9e50c4adc5983721b75e4fcbcb3f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ca32e911f56d9e50c4adc5983721b75e4fcbcb3f Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/minheadless/windows/sqPlatformSpecific-Win32.c Log Message: ----------- backport WIN64 (SSE2) should not set FPU precision control Commit: 22e698bd4096d7873b85699b41cd8c413622ae98 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/22e698bd4096d7873b85699b41cd8c413622ae98 Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/minheadless/windows/sqWin32.h Log Message: ----------- add minimum declarations required to compile SecurityPlugin Note: the security plugin will not work as there is not any real ini file support in minheadless but at least it compiles... Commit: 12854fc3e0b80454044b5934370d4581c6e398a2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/12854fc3e0b80454044b5934370d4581c6e398a2 Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/minheadless/windows/sqWin32Common.c Log Message: ----------- minimal stub to link SecurityPlugin in minheadless SecurityPlugin (Win32) now uses the Wide character variant. Reflect that in minheadless stub. Note that the plugin will not work, because this variable is not initialized. Commit: 59f0ee858ac285de4537b76e01f474e16bd370c7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/59f0ee858ac285de4537b76e01f474e16bd370c7 Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M build.linux32ARMv6/pharo.cog.spur/build/mvm Log Message: ----------- Merge pull request #340 from akgrant43/armMVM linux32ARMv6 mvm missing quotes Commit: feae2818f6f86a834d98269707b0a7c8184cbdff https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/feae2818f6f86a834d98269707b0a7c8184cbdff Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/minheadless/windows/sqWin32SpurAlloc.c Log Message: ----------- backport pageSize & pageMask are too short on WIN64 Commit: 98323787575312b0c00077c06cb061464ee78c52 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/98323787575312b0c00077c06cb061464ee78c52 Author: Nicolas Cellier Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/minheadless/windows/sqWin32Backtrace.c M platforms/minheadless/windows/sqWin32Heartbeat.c M platforms/minheadless/windows/sqWin32Time.c Log Message: ----------- reduce useless differences between minheadless and regular VM Sorry to sacrifice a few Eliot's style declaration, but these differences of source code between platforms/win32/vm and platforms/minheadless/windows are absurdely useless Also backport minor modification to backtrace Commit: 20bf0827790b7877eab62900bdcc13f184700110 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/20bf0827790b7877eab62900bdcc13f184700110 Author: Nicolas Cellier Date: 2019-01-04 (Fri, 04 Jan 2019) Changed paths: M platforms/minheadless/common/sqWindow-Dispatch.c Log Message: ----------- remove minor warning void function cannot return [skip ci] we do not build minheadless vm by now Commit: a8a5eb673d3ea51d76802aed31719e7bbe0687f0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a8a5eb673d3ea51d76802aed31719e7bbe0687f0 Author: Eliot Miranda Date: 2019-01-03 (Thu, 03 Jan 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c Log Message: ----------- Fix issue #342, a speeling error and superfluous macro parameter in the Alien callback macbhinery. Commit: f2f4bf34c9cad18a4cbc2b72705a5eae57d16c6e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f2f4bf34c9cad18a4cbc2b72705a5eae57d16c6e Author: Nicolas Cellier Date: 2019-01-04 (Fri, 04 Jan 2019) Changed paths: M platforms/minheadless/common/sqWindow-Dispatch.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/minheadless/windows/sqWin32.h M platforms/minheadless/windows/sqWin32Backtrace.c M platforms/minheadless/windows/sqWin32Common.c M platforms/minheadless/windows/sqWin32Directory.c M platforms/minheadless/windows/sqWin32Heartbeat.c M platforms/minheadless/windows/sqWin32SpurAlloc.c M platforms/minheadless/windows/sqWin32Time.c Log Message: ----------- Merge pull request #344 from OpenSmalltalk/backport_winfix_to_minheadless Backport winfix to minheadless and let minheadless compile again on win32/win64 Commit: ca44afe967e93de2aa4b879878ece606d7c7d24e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ca44afe967e93de2aa4b879878ece606d7c7d24e Author: Nicolas Cellier Date: 2019-01-04 (Fri, 04 Jan 2019) Changed paths: M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c Log Message: ----------- fixup: my incorrect fix of SecurityPlugin This form of MultiByteToWideChar with prescribed source string length does not copy the terminating NULL (unless the original string has a terminating NULL and we pass strlen()+1) By passing MAX_PATH-1 as target string length, we made a provision for this NULL. But it is wrong to set the terminating NULL a priori (other than memset the whole string to zero) We must setup the NULL a posteriori once we know the length. [skip travis] Commit: bdf8e391a0d9c95a16ed7690654382c200e92651 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bdf8e391a0d9c95a16ed7690654382c200e92651 Author: Eliot Miranda Date: 2019-01-04 (Fri, 04 Jan 2019) Changed paths: M build.linux32ARMv6/HowToBuild M build.linux32ARMv7/HowToBuild M build.linux32x86/HowToBuild M build.linux64x64/HowToBuild Log Message: ----------- Add libssl-dev to the list of packages to be installed on Ubuntu in the HowToBuild files. [skip ci] Commit: d0a36e3e1c595954327c06b337fcbd8847464ad4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d0a36e3e1c595954327c06b337fcbd8847464ad4 Author: Eliot Miranda Date: 2019-01-04 (Fri, 04 Jan 2019) Changed paths: M build.linux32ARMv6/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv6/newspeak.cog.spur/build/mvm M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv6/newspeak.stack.spur/build/mvm M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm M build.linux32ARMv6/pharo.cog.spur/build/mvm M build.linux32ARMv6/squeak.cog.spur/build.assert/mvm M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm M build.linux32ARMv6/squeak.cog.spur/build/mvm M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm M build.linux32ARMv6/squeak.stack.spur/build/mvm M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm M build.linux32ARMv6/squeak.stack.v3/build/mvm M build.linux32ARMv7/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv7/newspeak.cog.spur/build/mvm M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv7/newspeak.stack.spur/build/mvm M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.assert/mvm M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.debug/mvm M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build/mvm M build.linux32x86/newspeak.stack.spur/build.assert/mvm M build.linux32x86/newspeak.stack.spur/build.debug/mvm M build.linux32x86/newspeak.stack.spur/build/mvm M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.assert/mvm M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.debug/mvm M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.assert/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build/mvm M build.linux32x86/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.assert/mvm M build.linux32x86/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.debug/mvm M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build/mvm M build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.assert/mvm M build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.debug/mvm M build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build/mvm M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm M build.linux32x86/squeak.cog.spur.immutability/build/mvm M build.linux32x86/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.assert/mvm M build.linux32x86/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.debug/mvm M build.linux32x86/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build/mvm M build.linux32x86/squeak.cog.v3/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.assert/mvm M build.linux32x86/squeak.cog.v3/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.debug/mvm M build.linux32x86/squeak.cog.v3/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.assert/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.debug/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded/mvm M build.linux32x86/squeak.cog.v3/build/mvm M build.linux32x86/squeak.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.assert/mvm M build.linux32x86/squeak.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.debug/mvm M build.linux32x86/squeak.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build/mvm M build.linux32x86/squeak.stack.spur/build.assert/mvm M build.linux32x86/squeak.stack.spur/build.debug/mvm M build.linux32x86/squeak.stack.spur/build/mvm M build.linux32x86/squeak.stack.v3/build.assert/mvm M build.linux32x86/squeak.stack.v3/build.debug/mvm M build.linux32x86/squeak.stack.v3/build/mvm M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.assert/mvm M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.debug/mvm M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build/mvm M build.linux64x64/newspeak.stack.spur/build.assert/mvm M build.linux64x64/newspeak.stack.spur/build.debug/mvm M build.linux64x64/newspeak.stack.spur/build/mvm M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.assert/mvm M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.debug/mvm M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build/mvm M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm M build.linux64x64/squeak.cog.spur.immutability/build/mvm M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.assert/mvm M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.debug/mvm M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build/mvm M build.linux64x64/squeak.stack.spur/build.assert/mvm M build.linux64x64/squeak.stack.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build/mvm M build.macos32x86/newspeak.cog.spur/mvm M build.macos32x86/newspeak.stack.spur/mvm M build.macos32x86/pharo.cog.spur.lowcode/mvm M build.macos32x86/pharo.cog.spur.minheadless/mvm M build.macos32x86/pharo.cog.spur/mvm M build.macos32x86/pharo.sista.spur/mvm M build.macos32x86/pharo.stack.spur.lowcode/mvm M build.macos32x86/pharo.stack.spur/mvm M build.macos32x86/squeak.cog.spur+immutability/mvm M build.macos32x86/squeak.cog.spur/mvm M build.macos32x86/squeak.cog.v3/mvm M build.macos32x86/squeak.sista.spur/mvm M build.macos32x86/squeak.stack.spur/mvm M build.macos32x86/squeak.stack.v3/mvm M build.macos64x64/newspeak.cog.spur/mvm M build.macos64x64/newspeak.stack.spur/mvm M build.macos64x64/pharo.cog.spur.lowcode/mvm M build.macos64x64/pharo.cog.spur/mvm M build.macos64x64/pharo.sista.spur/mvm M build.macos64x64/pharo.stack.spur.lowcode/mvm M build.macos64x64/pharo.stack.spur/mvm M build.macos64x64/squeak.cog.spur.immutability/mvm M build.macos64x64/squeak.cog.spur/mvm M build.macos64x64/squeak.sista.spur/mvm M build.macos64x64/squeak.stack.spur/mvm M build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure_variant M build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure_variant M build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure_variant M build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure_variant M build.win32x86/newspeak.cog.spur/mvm M build.win32x86/newspeak.stack.spur/mvm M build.win32x86/pharo.cog.spur.lowcode/mvm M build.win32x86/pharo.cog.spur/mvm M build.win32x86/pharo.sista.spur/mvm M build.win32x86/pharo.stack.spur/mvm M build.win32x86/squeak.cog.spur.lowcode/mvm M build.win32x86/squeak.cog.spur/mvm M build.win32x86/squeak.cog.v3/mvm M build.win32x86/squeak.sista.spur/mvm M build.win32x86/squeak.stack.spur/mvm M build.win32x86/squeak.stack.v3/mvm M build.win64x64/newspeak.cog.spur/mvm M build.win64x64/newspeak.stack.spur/mvm M build.win64x64/pharo.cog.spur/mvm M build.win64x64/pharo.stack.spur/mvm M build.win64x64/squeak.cog.spur/mvm M build.win64x64/squeak.stack.spur/mvm A scripts/checkSCCSversion M scripts/gitci Log Message: ----------- Add a script that checks that sqSCCSVersion.h has been updated. Use the script in every mvm file to abort the build if it has not been. This after trying to debug Sophie's failing Ubuntu build which was caused by trying to build with a pristine sqSCCSVersion.h. The error symptom was very confusing (libtool attempts to install a built plugin into a non-existent directory by constructing the path lib/squeak/5.0.$/ derived from $Date$). This is too painful to visit on anyone. Hence add the check to all mvm files. Alas we casn't reliably run updateSCCSVersions utomatically as - when I tried with git v 1.7.x the --local flag is unrecognised - when I tried on Cygwin git appeared to block So instead of inviting further bugs, simply print an error message and exit. Fix gitci to not use my private alias (incoming) and use the full form instead. [skip ci] Commit: 1d97d7952e5707c383e9b32945c5c2341aa0f0e2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1d97d7952e5707c383e9b32945c5c2341aa0f0e2 Author: Eliot Miranda Date: 2019-01-04 (Fri, 04 Jan 2019) Changed paths: M scripts/checkSCCSversion Log Message: ----------- Nicer print out of sqSCCSVersion.h path in checkSCCSversion Commit: 24df818454b177735fdf894bda5d028fc95e1c44 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/24df818454b177735fdf894bda5d028fc95e1c44 Author: Nicolas Cellier Date: 2019-01-05 (Sat, 05 Jan 2019) Changed paths: M platforms/win32/plugins/AsynchFilePlugin/sqWin32AsyncFilePrims.c M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c M platforms/win32/plugins/JoystickTabletPlugin/sqWin32Joystick.c M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32Utils.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Let warnPrintf take a char * argument in platforms/win32 VM support files This is required to make its signature uniform across different platforms and compatible with minheadless variant Provide a warnPrintfW for the rare cases when we need to print a WCHAR* on the console Provide a warnPrintfT macro taking a TCHAR* for the -DUNICODE agnostic clients Let DPRINTF macro which depend on warnPrintf do its conversion to char* Note that DBGPRINTF macro will remain dedicated to TCHAR* (defined as warnPrintfT) Accordingly also change back the DPRINTF function (not he macro...) to take a char * This implies using a few ASCII API variants rather than generic API variants (SendMessageA, OutputDebugStringA) [skip travis] Commit: 850342ef63529da114f6b145848fd9db581ba877 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/850342ef63529da114f6b145848fd9db581ba877 Author: Nicolas Cellier Date: 2019-01-05 (Sat, 05 Jan 2019) Changed paths: M platforms/minheadless/windows/sqPlatformSpecific-Win32.h Log Message: ----------- Provide the minheadless support for warnPrintfW/T Commit: 96e46208c0cff847e428aacd2c27f7750e51248a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/96e46208c0cff847e428aacd2c27f7750e51248a Author: Nicolas Cellier Date: 2019-01-05 (Sat, 05 Jan 2019) Changed paths: M build.win32x86/common/Makefile.plugin M build.win32x86/common/Makefile.tools M build.win64x64/common/Makefile.plugin M build.win64x64/common/Makefile.tools Log Message: ----------- NO_STD_FILE_SUPPORT is now implied by WIN32_FILE_SUPPORT So no need to provide this -D compiler option anymore, it generates useless warnings Also remove -mdll in WIN64, it's an unsupported option that also generates a warning Commit: a81683b191ce7c8154d9b5279e75d45b588af0a8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a81683b191ce7c8154d9b5279e75d45b588af0a8 Author: Nicolas Cellier Date: 2019-01-05 (Sat, 05 Jan 2019) Changed paths: M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c Log Message: ----------- Remove a compiler warning - losing const qualifier Commit: 6f2cb8ad232f9f5c1e9aa25f89b5f101ea9684d5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6f2cb8ad232f9f5c1e9aa25f89b5f101ea9684d5 Author: Nicolas Cellier Date: 2019-01-05 (Sat, 05 Jan 2019) Changed paths: M platforms/minheadless/windows/sqWin32.h M platforms/minheadless/windows/sqWin32Common.c Log Message: ----------- DIscard now unused fromSqueak fromSqueak2 fromSqueakInto from minheadless too Related to issue #345 [skip travis] Commit: 005e3dc34a26e6d8edeb4461e5dd121a9a05dca0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/005e3dc34a26e6d8edeb4461e5dd121a9a05dca0 Author: Nicolas Cellier Date: 2019-01-05 (Sat, 05 Jan 2019) Changed paths: M build.win32x86/common/Makefile.plugin M build.win32x86/common/Makefile.tools M build.win64x64/common/Makefile.plugin M build.win64x64/common/Makefile.tools M platforms/minheadless/windows/sqPlatformSpecific-Win32.h M platforms/minheadless/windows/sqWin32.h M platforms/minheadless/windows/sqWin32Common.c M platforms/win32/plugins/AsynchFilePlugin/sqWin32AsyncFilePrims.c M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c M platforms/win32/plugins/JoystickTabletPlugin/sqWin32Joystick.c M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32Utils.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #347 from OpenSmalltalk/ascii_warnPrintf Ascii warn printf Commit: 0ebda8e62bb0f74ad2e65fdde9f931eb20d216f4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0ebda8e62bb0f74ad2e65fdde9f931eb20d216f4 Author: Nicolas Cellier Date: 2019-01-05 (Sat, 05 Jan 2019) Changed paths: M CMakeLists.txt M build.win32x86/pharo.cog.spur.lowcode/Makefile M build.win32x86/pharo.cog.spur/Makefile M build.win32x86/pharo.sista.spur/Makefile M build.win32x86/squeak.cog.spur.lowcode/Makefile Log Message: ----------- ALLOCA_LIES_SO_USE_GETSP macro is obsolete [ci skip] It has been superseded by ALLOCA_LIES_SO_SETSP_BEFORE_CALL Since http://source.squeak.org/VMMaker/VMMaker.oscog-nice.2038.diff Efforts are made for recognizing the cases when this macro is necessary directly from within the header So the knowledge is gathered in the header (generated from preambleCode method in VMMaker) It's maybe not ideal, nor fitting the modern trend. But it's not worse than incomplete knowledge spreaded around configure/makefile/cmake/... The STACK_ALIGN_BYTES macro also have been refactored so that header be autonomous. Thus don't keep obsolete comments in the Makefiles. Commit: 73d7517b37f1a18121b9301e4d1006930af0fc8b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/73d7517b37f1a18121b9301e4d1006930af0fc8b Author: Nicolas Cellier Date: 2019-01-05 (Sat, 05 Jan 2019) Changed paths: M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c Log Message: ----------- Generate Win32OSProcessPlugin from VMConstruction-Plugins-OSProcessPlugin.oscog-nice.64 There are two important changes: 1) let GetCurrentDirectory and GetEnvironmentStrings return UTF8 encoded strings 2) fix STD_ERROR_HANDLE is not a HANDLE details from MC commits: ---------- Note: I'd like to use an OS constant defined in an OS header file (CP_UTF8), but I never know how to, except redefining my own macro function... Note 2: every other string (including filename commands etc) passed to the plugin should better be UTF8-encoded, but I did not even started to inquire about it. ---------- STD_ERROR_HANDLE is not a HANDLE Like the name does not tell, but like the comment got it right, it is a pseudo handle. Therefore, we cannot simply cast to (HANDLE) and directly use that as a FILE HANDLE. We must go thru GetStdHandle() API https://docs.microsoft.com/en-us/windows/console/getstdhandle How the hell do i know that stuff? I just don't. But I read the compiler warnings (WIN64): C4312: conversion from DWORD to HANDLE of greater size That can't be right, so I just google: MSDN STD_ERROR_HANDLE et voila, 1st link is to GetStdHandle... I hope every one sees the value of a compiler warning now! [skip travis] Commit: 8d681e8c430bfad60be641880c472f76784b39a2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8d681e8c430bfad60be641880c472f76784b39a2 Author: AlistairGrant Date: 2019-01-05 (Sat, 05 Jan 2019) Changed paths: M third-party/openssl.spec Log Message: ----------- openssl: Update from 1.0.2l to 1.0.2q Commit: 7a3c6b642312bc2778fd86fdb86fc104bbb9278e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7a3c6b642312bc2778fd86fdb86fc104bbb9278e Author: akgrant43 Date: 2019-01-05 (Sat, 05 Jan 2019) Changed paths: M third-party/openssl.spec Log Message: ----------- Merge pull request #348 from akgrant43/openssl102q1 openssl: Update from 1.0.2l to 1.0.2q This has succeeded previously, so no need to wait. If the windows build times out, either the cache should have been updated, or the next build may be faster. Commit: c3841cc9fbad64fd5548a7d3f52805db1cacd5ef https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c3841cc9fbad64fd5548a7d3f52805db1cacd5ef Author: AlistairGrant Date: 2019-01-06 (Sun, 06 Jan 2019) Changed paths: M .appveyor.yml Log Message: ----------- Modify the AppVeyor build to allow skip in commit body By default, AppVeyor only recognises [skip xxx] in the commit title. This change allows the skip messages to be placed in the commit body. Recognised keywords are: - [skip ci] - [ci skip] - [skip appveyor] - [appveyor skip] And since this doesn't affect Unix: [skip travis] Commit: 4928759bb89abb928ac1b8a14e9d0208475ac373 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4928759bb89abb928ac1b8a14e9d0208475ac373 Author: AlistairGrant Date: 2019-01-06 (Sun, 06 Jan 2019) Changed paths: M CONTRIBUTING.md Log Message: ----------- CONTRIBUTING.md: Add some style guidelines [ci skip] Commit: 0fae80c28ee3ce2b3eb09cb31ec94f0a590893f7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0fae80c28ee3ce2b3eb09cb31ec94f0a590893f7 Author: akgrant43 Date: 2019-01-07 (Mon, 07 Jan 2019) Changed paths: M .appveyor.yml Log Message: ----------- Merge pull request #349 from akgrant43/appveyor1 Modify the AppVeyor build to allow skip in commit body By default, AppVeyor only recognises [skip xxx] in the commit title. This change allows the skip messages to be placed in the commit body. Recognised keywords are: - [skip ci] - [ci skip] - [skip appveyor] - [appveyor skip] And since this doesn't affect Unix: [skip travis] Commit: 494a823f2b55cb13f38eb2bd0788a00965405d6d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/494a823f2b55cb13f38eb2bd0788a00965405d6d Author: Eliot Miranda Date: 2019-01-07 (Mon, 07 Jan 2019) Changed paths: M build.linux32ARMv6/pharo.cog.spur/plugins.ext M build.linux32x86/pharo.cog.spur/plugins.ext M build.linux64x64/pharo.cog.spur/plugins.ext M build.macos32x86/pharo.cog.spur/plugins.ext M build.macos64x64/pharo.cog.spur/plugins.ext R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/DirectoryCopy.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/FSpCompat.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/FileCopy.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/FullPath.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/IterateDirectory.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/MoreDesktopMgr.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/MoreFiles.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/MoreFilesExtras.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/Optimization.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/OptimizationEnd.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/Search.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/MoreFilesReadMe R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/DirectoryCopy.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/FSpCompat.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/FileCopy.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/FullPath.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/IterateDirectory.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/MoreDesktopMgr.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/MoreFiles.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/MoreFilesExtras.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/Search.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/DirectoryCopy.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/FSpCompat.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/FileCopy.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/FullPath.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/IterateDirectory.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/MoreDesktopMgr.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/MoreFiles.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/MoreFilesExtras.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/Search.c M scripts/checkSCCSversion Log Message: ----------- Make sure the processor plugins are build for pharo.cog.spur on linux and macos. Delete some ancient pascal files that were, AFAICT, never used. Commit: c0a0472a0b9f0e5d5fad1e93f34d3c2d592baeab https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c0a0472a0b9f0e5d5fad1e93f34d3c2d592baeab Author: Guille Polito Date: 2019-01-08 (Tue, 08 Jan 2019) Changed paths: M build.win64x64/third-party/Makefile.freetype2 M third-party/freetype2.spec Log Message: ----------- Rename freetype library as expected by cairo in 64bit windows Commit: 58ffe03241575179b638f0ca4748c891b1c1e66f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/58ffe03241575179b638f0ca4748c891b1c1e66f Author: Esteban Lorenzano Date: 2019-01-10 (Thu, 10 Jan 2019) Changed paths: M build.win64x64/third-party/Makefile.freetype2 M third-party/freetype2.spec Log Message: ----------- Merge pull request #352 from guillep/fix/freetypewin64 Rename freetype library as expected by cairo in 64bit windows Commit: 671f597de24517b9323c48e8664964974642f930 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/671f597de24517b9323c48e8664964974642f930 Author: Guille Polito Date: 2019-01-16 (Wed, 16 Jan 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/ia32abicc.c Log Message: ----------- Patch callback thunkEntry to not optimize, failing in win32 using gcc 7.4.0 Commit: a1309226ab17e2018a1261e6e72a9a7d1712dbd0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a1309226ab17e2018a1261e6e72a9a7d1712dbd0 Author: Guille Polito Date: 2019-01-17 (Thu, 17 Jan 2019) Changed paths: M build.macos32x86/common/Makefile.app M build.macos64x64/common/Makefile.app Log Message: ----------- Make builds using dylibs instead of bundle plugins effectively ignore ignored plugins Commit: 0060623f1459c87d54223782254de7c338d6882d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0060623f1459c87d54223782254de7c338d6882d Author: Esteban Lorenzano Date: 2019-01-17 (Thu, 17 Jan 2019) Changed paths: M build.macos32x86/common/Makefile.app M build.macos64x64/common/Makefile.app Log Message: ----------- Merge pull request #354 from guillep/fix/dylib-ignore-missing-prerequisites Ignore missing dylibs Commit: 4ffdfd2d16e6b104fcdb015e233a1b065abedee0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4ffdfd2d16e6b104fcdb015e233a1b065abedee0 Author: Guille Polito Date: 2019-01-17 (Thu, 17 Jan 2019) Changed paths: M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c Log Message: ----------- Fix set icon of window on windows to use wide chars Commit: 5a38b3483dc5c82c7ecc85a590fdf1b095377a1f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5a38b3483dc5c82c7ecc85a590fdf1b095377a1f Author: Nicolas Cellier Date: 2019-01-18 (Fri, 18 Jan 2019) Changed paths: M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c Log Message: ----------- Merge pull request #355 from guillep/fix/SetIconOfWindow Fix set icon of window on windows to use wide chars Commit: bbfe0ff3fa66d207a89a5d8b74a82f3c00c32941 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bbfe0ff3fa66d207a89a5d8b74a82f3c00c32941 Author: Ken Dickey Date: 2019-01-20 (Sun, 20 Jan 2019) Changed paths: M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c Log Message: ----------- aarch64 Commit: 16b4df11a8d96b66c532510e8e15f36ee2feffde https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/16b4df11a8d96b66c532510e8e15f36ee2feffde Author: Ken Dickey Date: 2019-01-20 (Sun, 20 Jan 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/ia32abi.h M platforms/Cross/plugins/IA32ABI/xabicc.c M platforms/Cross/vm/sqAtomicOps.h M platforms/Cross/vm/sqCogStackAlignment.h Log Message: ----------- aarch64 Commit: 0bd10a5cb2e482da5d9021331ee1adf4dbd3105b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0bd10a5cb2e482da5d9021331ee1adf4dbd3105b Author: Eliot Miranda Date: 2019-01-20 (Sun, 20 Jan 2019) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2509 StackInterpreter: Both 64 and 32-bit Spur can and oops together to check for two SmallIntegers. Cogit: blockAlignment macro should not take a parameter Nuke the obsolete pushClosureTempsBytecode. Commit: 8a00b09db86881efa5c6d030cf8d6ff6f158ad94 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8a00b09db86881efa5c6d030cf8d6ff6f158ad94 Author: Ken Dickey Date: 2019-01-20 (Sun, 20 Jan 2019) Changed paths: M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm Log Message: ----------- aarch64 Commit: 70a3e7d88130d66dab2679fc7cffffe9ff2f8f26 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/70a3e7d88130d66dab2679fc7cffffe9ff2f8f26 Author: Ken Dickey Date: 2019-01-20 (Sun, 20 Jan 2019) Changed paths: M platforms/unix/vm/sqUnixHeartbeat.c Log Message: ----------- aarch64 Commit: c100f402d51d9e03404e91733413bf37a11c8666 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c100f402d51d9e03404e91733413bf37a11c8666 Author: Eliot Miranda Date: 2019-01-20 (Sun, 20 Jan 2019) Changed paths: M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/ia32abi.h M platforms/Cross/plugins/IA32ABI/xabicc.c M platforms/Cross/vm/sqAtomicOps.h M platforms/Cross/vm/sqCogStackAlignment.h M platforms/unix/vm/sqUnixHeartbeat.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c Log Message: ----------- Merge pull request #356 from KenDickey/Cog arm64ffi progress Commit: 234f27281b46dbddd03a70e70901c910a4754385 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/234f27281b46dbddd03a70e70901c910a4754385 Author: Eliot Miranda Date: 2019-01-20 (Sun, 20 Jan 2019) Changed paths: M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2510 Merge VMMaker.oscog-eem.2509, VMMaker.oscog-KenD.2509. Rename ThreadedFFICalloutStateForARM to ThreadedFFICalloutStateForARM32. Pull ThreadedFFICalloutStateForARM64 out from under so that ThreadedFFICalloutStateForARM64 typedef generates the right thing. Default to sqInt in its instVarNamesAndTypesForTranslationDo: VMMaker.oscog-KenD.2509 Saved Progress in arm64ffi Commit: d99e4d8ba6a60f0f32292d21fc9b2ce0acf7ac20 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d99e4d8ba6a60f0f32292d21fc9b2ce0acf7ac20 Author: Ken Dickey Date: 2019-01-21 (Mon, 21 Jan 2019) Changed paths: A platforms/Cross/plugins/IA32ABI/arm64abicc.c A platforms/Cross/plugins/IA32ABI/dabusinessARM32.h A platforms/Cross/plugins/IA32ABI/dabusinessARM64.h Log Message: ----------- lost? Commit: 231a175ea3c833543bbe77e0edc5b0c1ee245b58 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/231a175ea3c833543bbe77e0edc5b0c1ee245b58 Author: Pablo Tesone Date: 2019-01-22 (Tue, 22 Jan 2019) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- When used with SDL, the events in the main VM windows are not properly handled. SDL has its own GetMessage / DispatchMessage loop. The VM implemnetation was expecting to have a pointer to the message read from GetMessage. Stored in the variable lastMessage. This variable is Null when the GetMessage is executed by SDL. So, I have modified the process to recreate the MSG from the information provided by the Window Callback Arguments. Commit: 01dbec3e7f1b155ab9b71c2069e83a16de2e9847 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/01dbec3e7f1b155ab9b71c2069e83a16de2e9847 Author: Ken Dickey Date: 2019-01-22 (Tue, 22 Jan 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c Log Message: ----------- unified dabusinessARM.h Commit: f4721045b9b5cfa83b728731d19a362b507d79dc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f4721045b9b5cfa83b728731d19a362b507d79dc Author: Eliot Miranda Date: 2019-01-22 (Tue, 22 Jan 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/arm32abicc.c A platforms/Cross/plugins/IA32ABI/arm64abicc.c A platforms/Cross/plugins/IA32ABI/dabusinessARM32.h A platforms/Cross/plugins/IA32ABI/dabusinessARM64.h Log Message: ----------- Merge pull request #357 from KenDickey/Cog lost? Commit: eedd22e8bebab3b17878f19a41b594b49e78212d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/eedd22e8bebab3b17878f19a41b594b49e78212d Author: Eliot Miranda Date: 2019-01-22 (Tue, 22 Jan 2019) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #358 from tesonep/Cog Win32 Events when using SDL Commit: 426dbc0dd789313605334f84aa97681323250f6e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/426dbc0dd789313605334f84aa97681323250f6e Author: Eliot Miranda Date: 2019-01-22 (Tue, 22 Jan 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/ia32abicc.c Log Message: ----------- Merge pull request #353 from guillep/patch/callback-win32 Patch callback thunkEntry to not optimize Commit: 68441ad4dbebd96c4b92c0c72ed166b3037160e5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/68441ad4dbebd96c4b92c0c72ed166b3037160e5 Author: Eliot Miranda Date: 2019-01-22 (Tue, 22 Jan 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/ia32abicc.c Log Message: ----------- Make the disablement of optimizatiomn in x86's thunkProtect specific to gcc 7.4.x. Guille, Pablo, All, please take note of this style. The point being we want correctness, but we shouldn't penalise unnecessarily other platfoms or build configurations that do function correctly. Commit: b1a31e320a97af9cdaf681e0f3fd35942967ecdc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b1a31e320a97af9cdaf681e0f3fd35942967ecdc Author: Astares Date: 2019-01-23 (Wed, 23 Jan 2019) Changed paths: M platforms/minheadless/common/sqVirtualMachineInterface.c Log Message: ----------- Use OpenSmalltalk instead of Squeak as it is used for Squeak, Cuis, Pharo, ... Commit: c5516f4c885d21fbb4fce75ff58f9bb0739f366e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c5516f4c885d21fbb4fce75ff58f9bb0739f366e Author: David T. Lewis Date: 2019-01-23 (Wed, 23 Jan 2019) Changed paths: M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c Log Message: ----------- UnixOSProcessPlugin source as per VMConstruction-Plugins-OSProcessPlugin.oscog-dtl.65 Commit: a4b2dfa67b731f731324daccbe2567f63490fbca https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a4b2dfa67b731f731324daccbe2567f63490fbca Author: David T. Lewis Date: 2019-01-23 (Wed, 23 Jan 2019) Changed paths: M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c Log Message: ----------- Win32OSProcessPlugin plugin source as per VMConstruction-Plugins-OSProcessPlugin.oscog-dtl.65 Commit: b23819b1fe3d26126be28b186e40f21e2f184913 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b23819b1fe3d26126be28b186e40f21e2f184913 Author: Nicolas Cellier Date: 2019-01-23 (Wed, 23 Jan 2019) Changed paths: M platforms/minheadless/common/sqVirtualMachineInterface.c Log Message: ----------- Merge pull request #359 from astares/patch-1 Use OpenSmalltalk instead of Squeak and [skip CI] comment only... Commit: 5cf54402e8574d81ecf577ff708bc2d14a390533 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5cf54402e8574d81ecf577ff708bc2d14a390533 Author: David T. Lewis Date: 2019-01-25 (Fri, 25 Jan 2019) Changed paths: M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c Log Message: ----------- Fix a slip in Win32OSProcessPlugin>>primitiveGetEnvironmentStringsAsBytes, call the right method this time. Commit: 4002f47cb4567c00d72a90f7af9c528955b0bdeb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4002f47cb4567c00d72a90f7af9c528955b0bdeb Author: Pavel Krivanek Date: 2019-01-27 (Sun, 27 Jan 2019) Changed paths: M platforms/unix/vm/sqUnixEvent.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- remove emulation of single button mouse on Windows and Linux Commit: 22672293c96b45e78b9ca646833ee1817cec65bc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/22672293c96b45e78b9ca646833ee1817cec65bc Author: AlistairGrant Date: 2019-01-28 (Mon, 28 Jan 2019) Changed paths: M CONTRIBUTING.md Log Message: ----------- CONTRIBUTING.md: formatting guidelines - Enable C syntax highlightin in the example - Update tabs recommendation (keep existing styles, move to tab stop of 4 spaces) Thanks to @fniephaus and @nicolas-cellier-aka-nice for their feedback. Commit: 40ebb46638390bd7acd4a49e8a48ae7a8a821b90 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/40ebb46638390bd7acd4a49e8a48ae7a8a821b90 Author: Eliot Miranda Date: 2019-01-28 (Mon, 28 Jan 2019) Changed paths: M image/Workspace.text M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2518 ThreadedARMFFIPlugin: Renamed ThreadedARMFFIPlugin to ThreadedARM32FFIPlugin to accord with ThreadedARM64FFIPlugin (more descriptive) Reversed the way single and double floats were handled in callOutState floatRegisters to simplify the logic a bit. Updated struct size rounding for aarch64. Commit: 08df853174e22813f368c376f0722bc6f9780a60 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/08df853174e22813f368c376f0722bc6f9780a60 Author: David T. Lewis Date: 2019-01-28 (Mon, 28 Jan 2019) Changed paths: M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c Log Message: ----------- Republish OSPP sources to clear dirty VMMaker package timestamps Commit: aed5e3391301011cc6b9ee6a353ee563f4ab6dbd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/aed5e3391301011cc6b9ee6a353ee563f4ab6dbd Author: Esteban Lorenzano Date: 2019-01-29 (Tue, 29 Jan 2019) Changed paths: M platforms/unix/vm/sqUnixEvent.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #362 from pavel-krivanek/361-CtrlLMB remove emulation of single button mouse on Windows and Linux Commit: 73d4863cd1ffc187ce7a94a31192fb69c1612f0b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/73d4863cd1ffc187ce7a94a31192fb69c1612f0b Author: Holger Hans Peter Freyther Date: 2019-01-29 (Tue, 29 Jan 2019) Changed paths: A packaging/Makefile.debian A packaging/pharo6-sources-files/debian/changelog A packaging/pharo6-sources-files/debian/compat A packaging/pharo6-sources-files/debian/control A packaging/pharo6-sources-files/debian/copyright A packaging/pharo6-sources-files/debian/pharo6-sources-files.install A packaging/pharo6-sources-files/debian/pharo6-sources-files.links A packaging/pharo6-sources-files/debian/rules A packaging/pharo6-sources-files/debian/source/format A packaging/pharo7-vm-core/debian/changelog A packaging/pharo7-vm-core/debian/compat A packaging/pharo7-vm-core/debian/control A packaging/pharo7-vm-core/debian/copyright A packaging/pharo7-vm-core/debian/pharo7-32-ui.install A packaging/pharo7-vm-core/debian/pharo7-32.1 A packaging/pharo7-vm-core/debian/pharo7-32.install A packaging/pharo7-vm-core/debian/pharo7-32.manpages A packaging/pharo7-vm-core/debian/pharo7-64-ui.install A packaging/pharo7-vm-core/debian/pharo7-64.1 A packaging/pharo7-vm-core/debian/pharo7-64.install A packaging/pharo7-vm-core/debian/pharo7-64.manpages A packaging/pharo7-vm-core/debian/pharo7-ui-common.install A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32 A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32-ui A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64 A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64-ui A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-32-ui.desktop A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-64-ui.desktop A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/16x16/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/256x256/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/32x32/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/48x48/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/mime/packages/pharo7-image.xml A packaging/pharo7-vm-core/debian/rules A packaging/pharo7-vm-core/debian/source/format A packaging/pharo7-vm-core/debian/source/include-binaries A packaging/pharo7.spec Log Message: ----------- pharo: Forward the packaging directory from pharo-vm here Add structure and rules to build a source package for Debian/Ubuntu and use it for RPM based distributions. A source package can be built by the Open Build Service (OBS) or by users. It is intended to be rebuildable by any user. Next steps are to hook this into the travis-ci build to upload a new source package on every build into an experimental feed. Commit: dc349931d1b9b9cb3808d3ddded9ddd0940dc55b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dc349931d1b9b9cb3808d3ddded9ddd0940dc55b Author: Eliot Miranda Date: 2019-01-29 (Tue, 29 Jan 2019) Changed paths: A packaging/Makefile.debian A packaging/pharo6-sources-files/debian/changelog A packaging/pharo6-sources-files/debian/compat A packaging/pharo6-sources-files/debian/control A packaging/pharo6-sources-files/debian/copyright A packaging/pharo6-sources-files/debian/pharo6-sources-files.install A packaging/pharo6-sources-files/debian/pharo6-sources-files.links A packaging/pharo6-sources-files/debian/rules A packaging/pharo6-sources-files/debian/source/format A packaging/pharo7-vm-core/debian/changelog A packaging/pharo7-vm-core/debian/compat A packaging/pharo7-vm-core/debian/control A packaging/pharo7-vm-core/debian/copyright A packaging/pharo7-vm-core/debian/pharo7-32-ui.install A packaging/pharo7-vm-core/debian/pharo7-32.1 A packaging/pharo7-vm-core/debian/pharo7-32.install A packaging/pharo7-vm-core/debian/pharo7-32.manpages A packaging/pharo7-vm-core/debian/pharo7-64-ui.install A packaging/pharo7-vm-core/debian/pharo7-64.1 A packaging/pharo7-vm-core/debian/pharo7-64.install A packaging/pharo7-vm-core/debian/pharo7-64.manpages A packaging/pharo7-vm-core/debian/pharo7-ui-common.install A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32 A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32-ui A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64 A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64-ui A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-32-ui.desktop A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-64-ui.desktop A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/16x16/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/256x256/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/32x32/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/48x48/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/mime/packages/pharo7-image.xml A packaging/pharo7-vm-core/debian/rules A packaging/pharo7-vm-core/debian/source/format A packaging/pharo7-vm-core/debian/source/include-binaries A packaging/pharo7.spec Log Message: ----------- Merge pull request #364 from zecke/auto-source-packages pharo: Forward the packaging directory from pharo-vm here Commit: 6fd1357978d89a36cd3ca8f963435796f2431e0b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6fd1357978d89a36cd3ca8f963435796f2431e0b Author: Ken Dickey Date: 2019-01-30 (Wed, 30 Jan 2019) Changed paths: M image/Workspace.text M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c A packaging/Makefile.debian A packaging/pharo6-sources-files/debian/changelog A packaging/pharo6-sources-files/debian/compat A packaging/pharo6-sources-files/debian/control A packaging/pharo6-sources-files/debian/copyright A packaging/pharo6-sources-files/debian/pharo6-sources-files.install A packaging/pharo6-sources-files/debian/pharo6-sources-files.links A packaging/pharo6-sources-files/debian/rules A packaging/pharo6-sources-files/debian/source/format A packaging/pharo7-vm-core/debian/changelog A packaging/pharo7-vm-core/debian/compat A packaging/pharo7-vm-core/debian/control A packaging/pharo7-vm-core/debian/copyright A packaging/pharo7-vm-core/debian/pharo7-32-ui.install A packaging/pharo7-vm-core/debian/pharo7-32.1 A packaging/pharo7-vm-core/debian/pharo7-32.install A packaging/pharo7-vm-core/debian/pharo7-32.manpages A packaging/pharo7-vm-core/debian/pharo7-64-ui.install A packaging/pharo7-vm-core/debian/pharo7-64.1 A packaging/pharo7-vm-core/debian/pharo7-64.install A packaging/pharo7-vm-core/debian/pharo7-64.manpages A packaging/pharo7-vm-core/debian/pharo7-ui-common.install A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32 A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32-ui A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64 A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64-ui A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-32-ui.desktop A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-64-ui.desktop A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/16x16/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/256x256/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/32x32/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/48x48/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/mime/packages/pharo7-image.xml A packaging/pharo7-vm-core/debian/rules A packaging/pharo7-vm-core/debian/source/format A packaging/pharo7-vm-core/debian/source/include-binaries A packaging/pharo7.spec M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/minheadless/common/sqVirtualMachineInterface.c M platforms/unix/vm/sqUnixEvent.c M platforms/win32/vm/sqWin32Window.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c Log Message: ----------- Merge pull request #1 from OpenSmalltalk/Cog pull to 30 Jan 2019 Commit: 7a029ccaefa60997715917c17db8998883e31ebe https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7a029ccaefa60997715917c17db8998883e31ebe Author: Ken Dickey Date: 2019-01-30 (Wed, 30 Jan 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/arm64abicc.c Log Message: ----------- added funs for struct returns Commit: b36d5fc778e184957fdbd6c4dcb34a56ba541b8c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b36d5fc778e184957fdbd6c4dcb34a56ba541b8c Author: akgrant43 Date: 2019-02-02 (Sat, 02 Feb 2019) Changed paths: M CONTRIBUTING.md Log Message: ----------- Merge pull request #350 from akgrant43/contrib CONTRIBUTING.md: Add some style guidelines Commit: 143bea7c1c9316e61aebf35eaf800040bff2e995 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/143bea7c1c9316e61aebf35eaf800040bff2e995 Author: AlistairGrant Date: 2019-02-02 (Sat, 02 Feb 2019) Changed paths: M build.linux32ARMv6/editpharoinstall.sh M build.linux32x86/editpharoinstall.sh M build.linux64x64/editpharoinstall.sh Log Message: ----------- 365: Remove PharoV50.sources from linux builds Pharo linux builds are still including PharoV50.sources, which isn't used in any currently supported versions. For Pharo7 and later sources are generated for each build, so there's no need to ever include sources. Commit: 3fd0ccd0b4ea4080f68c08d3c75bc8bb4deed655 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3fd0ccd0b4ea4080f68c08d3c75bc8bb4deed655 Author: David T. Lewis Date: 2019-02-03 (Sun, 03 Feb 2019) Changed paths: M CONTRIBUTING.md A packaging/Makefile.debian A packaging/pharo6-sources-files/debian/changelog A packaging/pharo6-sources-files/debian/compat A packaging/pharo6-sources-files/debian/control A packaging/pharo6-sources-files/debian/copyright A packaging/pharo6-sources-files/debian/pharo6-sources-files.install A packaging/pharo6-sources-files/debian/pharo6-sources-files.links A packaging/pharo6-sources-files/debian/rules A packaging/pharo6-sources-files/debian/source/format A packaging/pharo7-vm-core/debian/changelog A packaging/pharo7-vm-core/debian/compat A packaging/pharo7-vm-core/debian/control A packaging/pharo7-vm-core/debian/copyright A packaging/pharo7-vm-core/debian/pharo7-32-ui.install A packaging/pharo7-vm-core/debian/pharo7-32.1 A packaging/pharo7-vm-core/debian/pharo7-32.install A packaging/pharo7-vm-core/debian/pharo7-32.manpages A packaging/pharo7-vm-core/debian/pharo7-64-ui.install A packaging/pharo7-vm-core/debian/pharo7-64.1 A packaging/pharo7-vm-core/debian/pharo7-64.install A packaging/pharo7-vm-core/debian/pharo7-64.manpages A packaging/pharo7-vm-core/debian/pharo7-ui-common.install A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32 A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32-ui A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64 A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64-ui A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-32-ui.desktop A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-64-ui.desktop A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/16x16/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/256x256/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/32x32/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/48x48/apps/pharo7.png A packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/mime/packages/pharo7-image.xml A packaging/pharo7-vm-core/debian/rules A packaging/pharo7-vm-core/debian/source/format A packaging/pharo7-vm-core/debian/source/include-binaries A packaging/pharo7.spec M platforms/unix/vm/sqUnixEvent.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: bb85f44419c8c3c02c74acdca3316c6f4805f4d0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bb85f44419c8c3c02c74acdca3316c6f4805f4d0 Author: David T. Lewis Date: 2019-02-03 (Sun, 03 Feb 2019) Changed paths: M image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st Log Message: ----------- Use oscog branch naming convention for AIO and XDCP plugins. Commit: b7ca5eda86c61cb1162122b62b9db51bdb0ebdbb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b7ca5eda86c61cb1162122b62b9db51bdb0ebdbb Author: David T. Lewis Date: 2019-02-03 (Sun, 03 Feb 2019) Changed paths: M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c Log Message: ----------- XDisplayControlPlugin sources as per VMConstruction-Plugins-XDisplayControlPlugin.oscog-dtl.18 Include missed update for oscog from VMConstruction-Plugins-XDisplayControlPlugin-eem.12 Commit: 7b625603cf6aeb1b05850c5ea0373ea76469525d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7b625603cf6aeb1b05850c5ea0373ea76469525d Author: akgrant43 Date: 2019-02-04 (Mon, 04 Feb 2019) Changed paths: M build.linux32ARMv6/editpharoinstall.sh M build.linux32x86/editpharoinstall.sh M build.linux64x64/editpharoinstall.sh Log Message: ----------- Merge pull request #366 from akgrant43/Issue365 365: Remove PharoV50.sources from linux builds Commit: e8f235ef313990acae0cda037bb0b35a9c88b7ad https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e8f235ef313990acae0cda037bb0b35a9c88b7ad Author: AlistairGrant Date: 2019-02-04 (Mon, 04 Feb 2019) Changed paths: M platforms/unix/config/bin.squeak.sh.in M platforms/unix/config/squeak.sh.in Log Message: ----------- Handle spaces in VM path name Modify the launch script templates to handle spaces in the VM path name. dirname takes one or more paths, so if the path has spaces and isn't quoted it is treated as two paths... not what we want. Commit: 694dfe3ed015e16f5b8e9cf17d37e4bdd32bea16 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/694dfe3ed015e16f5b8e9cf17d37e4bdd32bea16 Author: akgrant43 Date: 2019-02-04 (Mon, 04 Feb 2019) Changed paths: M platforms/unix/config/bin.squeak.sh.in M platforms/unix/config/squeak.sh.in Log Message: ----------- Merge pull request #369 from akgrant43/dirname Handle spaces in VM path name Commit: 237081d34d5545205db4a06c3c5bbf7ee7e08b50 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/237081d34d5545205db4a06c3c5bbf7ee7e08b50 Author: Ken Dickey Date: 2019-02-04 (Mon, 04 Feb 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/arm64abicc.c Log Message: ----------- added required EXTERNs to 2 funs Commit: 39a073c11df309658f38b1aa86752179dcc6083a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/39a073c11df309658f38b1aa86752179dcc6083a Author: AlistairGrant Date: 2019-02-05 (Tue, 05 Feb 2019) Changed paths: M platforms/unix/plugins/FileAttributesPlugin/faSupport.c Log Message: ----------- Issue 368: FileAttributesPlugin close dir when empty on iteration faOpenDirectory() should leave the directory closed if it is empty. On linux the directory was left open, creating a resource leak. Commit: e9fee6facb61c1163e820673bd8734b59a831535 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e9fee6facb61c1163e820673bd8734b59a831535 Author: AlistairGrant Date: 2019-02-06 (Wed, 06 Feb 2019) Changed paths: M platforms/unix/plugins/FilePlugin/sqUnixFile.c Log Message: ----------- FilePlugin: reopen the directory when jumping around In dir_Lookup, when jumping around, i.e. index ~= lastIndex+1, reopen the directory rather than rewinding. This is required as the open directory caches entries (at least with CIFS mounted file system), and if files are deleted between calls the wrong answer will be returned. Issue: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/368 Commit: dcd4aa09421ba3b6e4cfc1fd193820dacf29c756 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dcd4aa09421ba3b6e4cfc1fd193820dacf29c756 Author: Ken Dickey Date: 2019-02-06 (Wed, 06 Feb 2019) Changed paths: M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c Log Message: ----------- Bigger Struct test Commit: a6d395b949ad24a8d4071f310747cfe0c3f841d0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a6d395b949ad24a8d4071f310747cfe0c3f841d0 Author: Ken Dickey Date: 2019-02-06 (Wed, 06 Feb 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/arm64abicc.c Log Message: ----------- trampoline for call with struct return Commit: e5873375559b08f6593c4f13cdfed668ce276a86 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e5873375559b08f6593c4f13cdfed668ce276a86 Author: Ken Dickey Date: 2019-02-06 (Wed, 06 Feb 2019) Changed paths: M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm Log Message: ----------- not RasPi -> changed install dirname Commit: b6e789cb980f8013ab63ecf8abf43430faed2fe4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b6e789cb980f8013ab63ecf8abf43430faed2fe4 Author: Ken Dickey Date: 2019-02-06 (Wed, 06 Feb 2019) Changed paths: M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm Log Message: ----------- not RasPi -> changed install dirname Commit: a838346b1a67712cc28298534dafbd0c26ea34fb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a838346b1a67712cc28298534dafbd0c26ea34fb Author: Eliot Miranda Date: 2019-02-06 (Wed, 06 Feb 2019) Changed paths: M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/unix/plugins/FilePlugin/sqUnixFile.c Log Message: ----------- Merge pull request #371 from akgrant43/Issue368 Deleting a directory on a CIFS mounted file system fails Commit: 2adbbfac0ae06c5887e3d10d1eeeca1868e4b1c1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2adbbfac0ae06c5887e3d10d1eeeca1868e4b1c1 Author: Ken Dickey Date: 2019-02-06 (Wed, 06 Feb 2019) Changed paths: M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c Log Message: ----------- from VMMaker Commit: fd460b8dafa90db7849f1604fece9e8fbfbff302 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fd460b8dafa90db7849f1604fece9e8fbfbff302 Author: Eliot Miranda Date: 2019-02-06 (Wed, 06 Feb 2019) Changed paths: M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c Log Message: ----------- CogVm source as per VMMaker.oscog-eem.2520 Merge with VMMaker.oscog-KenD.2518 & VMMaker.oscog-KenD.2519. ARM64FFIPlugin: Non-register struct returns now work. [Needs corresponding vm] Struct return in registers works. All FFI tests now pass (need to add more). Commit: c4c512fcd0643246dad49a75095af9e746f8064c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c4c512fcd0643246dad49a75095af9e746f8064c Author: Ken Dickey Date: 2019-02-08 (Fri, 08 Feb 2019) Changed paths: A build.linux64ARMv8/editpharoinstall.sh Log Message: ----------- aarch64 untested Commit: 8396ff45e67b68a1c6abab796059ba09e2d11e3c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8396ff45e67b68a1c6abab796059ba09e2d11e3c Author: Ken Dickey Date: 2019-02-08 (Fri, 08 Feb 2019) Changed paths: A build.linux64ARMv8/pharo.cog.spur/build/mvm Log Message: ----------- aarch64 Commit: f8022179509585e1f425817e4761720fc065cd91 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f8022179509585e1f425817e4761720fc065cd91 Author: Ken Dickey Date: 2019-02-08 (Fri, 08 Feb 2019) Changed paths: A build.linux64ARMv8/pharo.cog.spur/apt-get-libs.sh A build.linux64ARMv8/pharo.cog.spur/plugins.ext A build.linux64ARMv8/pharo.cog.spur/plugins.ext.all A build.linux64ARMv8/pharo.cog.spur/plugins.int Log Message: ----------- aarch64 Commit: 2e60f3da12da3d5af25796257dacffce43e0a4c7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2e60f3da12da3d5af25796257dacffce43e0a4c7 Author: Ken Dickey Date: 2019-02-08 (Fri, 08 Feb 2019) Changed paths: A build.linux64ARMv8/third-party/Makefile.lib.extra A build.linux64ARMv8/third-party/Makefile.libgit2 A build.linux64ARMv8/third-party/Makefile.libsdl2 A build.linux64ARMv8/third-party/Makefile.libssh2 A build.linux64ARMv8/third-party/mvm Log Message: ----------- aarch64 Commit: 29bcbc3cccaf945e93ecc76ef4c6c1ea7c68dae7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/29bcbc3cccaf945e93ecc76ef4c6c1ea7c68dae7 Author: KenDickey Date: 2019-02-07 (Thu, 07 Feb 2019) Changed paths: A build.linux64ARMv8/pharo.stack.spur/apt-get-libs.sh A build.linux64ARMv8/pharo.stack.spur/build/mvm A build.linux64ARMv8/pharo.stack.spur/plugins.ext A build.linux64ARMv8/pharo.stack.spur/plugins.ext.all A build.linux64ARMv8/pharo.stack.spur/plugins.int Log Message: ----------- better name Commit: 5a9de350202fc5108de463928134df9680cf87ae https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5a9de350202fc5108de463928134df9680cf87ae Author: KenDickey Date: 2019-02-09 (Sat, 09 Feb 2019) Changed paths: M build.linux64ARMv8/pharo.stack.spur/apt-get-libs.sh Log Message: ----------- elided libgit2-27 Commit: 14799d378a648426c2b9ba8ab43758fbe9c2283e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/14799d378a648426c2b9ba8ab43758fbe9c2283e Author: KenDickey Date: 2019-02-09 (Sat, 09 Feb 2019) Changed paths: M build.linux64ARMv8/pharo.stack.spur/build/mvm Log Message: ----------- uncommented editpharoinstall Commit: 0dc9f807716186debef6e918c78e653129b40660 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0dc9f807716186debef6e918c78e653129b40660 Author: KenDickey Date: 2019-02-09 (Sat, 09 Feb 2019) Changed paths: A build.linux64ARMv8/pharo.stack.spur/build.debug/mvm Log Message: ----------- aarh64 Commit: d186745e12f98392dbe189e7d137b843c89fafed https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d186745e12f98392dbe189e7d137b843c89fafed Author: KenDickey Date: 2019-02-10 (Sun, 10 Feb 2019) Changed paths: M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c Log Message: ----------- ARMv8 timer-counter Commit: 4b62d26f879bc00116b0fc4f847541400ebde5b0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4b62d26f879bc00116b0fc4f847541400ebde5b0 Author: Holger Hans Peter Freyther Date: 2019-02-18 (Mon, 18 Feb 2019) Changed paths: A deploy/packaging/Makefile.debian A deploy/packaging/pharo6-sources-files/debian/changelog A deploy/packaging/pharo6-sources-files/debian/compat A deploy/packaging/pharo6-sources-files/debian/control A deploy/packaging/pharo6-sources-files/debian/copyright A deploy/packaging/pharo6-sources-files/debian/pharo6-sources-files.install A deploy/packaging/pharo6-sources-files/debian/pharo6-sources-files.links A deploy/packaging/pharo6-sources-files/debian/rules A deploy/packaging/pharo6-sources-files/debian/source/format A deploy/packaging/pharo7-vm-core/debian/changelog A deploy/packaging/pharo7-vm-core/debian/compat A deploy/packaging/pharo7-vm-core/debian/control A deploy/packaging/pharo7-vm-core/debian/copyright A deploy/packaging/pharo7-vm-core/debian/pharo7-32-ui.install A deploy/packaging/pharo7-vm-core/debian/pharo7-32.1 A deploy/packaging/pharo7-vm-core/debian/pharo7-32.install A deploy/packaging/pharo7-vm-core/debian/pharo7-32.manpages A deploy/packaging/pharo7-vm-core/debian/pharo7-64-ui.install A deploy/packaging/pharo7-vm-core/debian/pharo7-64.1 A deploy/packaging/pharo7-vm-core/debian/pharo7-64.install A deploy/packaging/pharo7-vm-core/debian/pharo7-64.manpages A deploy/packaging/pharo7-vm-core/debian/pharo7-ui-common.install A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32 A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32-ui A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64 A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64-ui A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-32-ui.desktop A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-64-ui.desktop A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/16x16/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/256x256/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/32x32/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/48x48/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/mime/packages/pharo7-image.xml A deploy/packaging/pharo7-vm-core/debian/rules A deploy/packaging/pharo7-vm-core/debian/source/format A deploy/packaging/pharo7-vm-core/debian/source/include-binaries A deploy/packaging/pharo7.spec R packaging/Makefile.debian R packaging/pharo6-sources-files/debian/changelog R packaging/pharo6-sources-files/debian/compat R packaging/pharo6-sources-files/debian/control R packaging/pharo6-sources-files/debian/copyright R packaging/pharo6-sources-files/debian/pharo6-sources-files.install R packaging/pharo6-sources-files/debian/pharo6-sources-files.links R packaging/pharo6-sources-files/debian/rules R packaging/pharo6-sources-files/debian/source/format R packaging/pharo7-vm-core/debian/changelog R packaging/pharo7-vm-core/debian/compat R packaging/pharo7-vm-core/debian/control R packaging/pharo7-vm-core/debian/copyright R packaging/pharo7-vm-core/debian/pharo7-32-ui.install R packaging/pharo7-vm-core/debian/pharo7-32.1 R packaging/pharo7-vm-core/debian/pharo7-32.install R packaging/pharo7-vm-core/debian/pharo7-32.manpages R packaging/pharo7-vm-core/debian/pharo7-64-ui.install R packaging/pharo7-vm-core/debian/pharo7-64.1 R packaging/pharo7-vm-core/debian/pharo7-64.install R packaging/pharo7-vm-core/debian/pharo7-64.manpages R packaging/pharo7-vm-core/debian/pharo7-ui-common.install R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32 R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32-ui R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64 R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64-ui R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-32-ui.desktop R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-64-ui.desktop R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/16x16/apps/pharo7.png R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/256x256/apps/pharo7.png R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/32x32/apps/pharo7.png R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/48x48/apps/pharo7.png R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/mime/packages/pharo7-image.xml R packaging/pharo7-vm-core/debian/rules R packaging/pharo7-vm-core/debian/source/format R packaging/pharo7-vm-core/debian/source/include-binaries R packaging/pharo7.spec Log Message: ----------- Move the directory into deploy/ No need for another top-level directory. I didn't move it into deploy/pharo/ as we might want to use some of the same files for squeak. Commit: 9b119d1d8ea5ff4623d9c576cdbcec9af294d9e7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9b119d1d8ea5ff4623d9c576cdbcec9af294d9e7 Author: Ronie Salgado Date: 2019-02-18 (Mon, 18 Feb 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m Log Message: ----------- Use the size of the drawable, instead of the size of the frame. This should fix the HiDPI bug. Commit: f9ae4a1479122b448fcfdc80bb2caa09b53aa474 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f9ae4a1479122b448fcfdc80bb2caa09b53aa474 Author: Eliot Miranda Date: 2019-02-18 (Mon, 18 Feb 2019) Changed paths: M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.rules M build.macos64x64/common/Makefile.vm M platforms/iOS/vm/Common/Classes/sqSqueakEventsAPI.m A platforms/iOS/vm/English.lproj/MainMenu-opengl.xib M platforms/iOS/vm/English.lproj/MainMenu.xib M platforms/iOS/vm/OSX/SqViewBitmapConversion.m M platforms/iOS/vm/OSX/SqViewClut.m A platforms/iOS/vm/OSX/SqueakMainShaders.metal A platforms/iOS/vm/OSX/SqueakMainShaders.metal.inc M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m A platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h A platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m A scripts/build-metal-shaders.sh Log Message: ----------- Merge pull request #306 from ronsaldo/feature/metal_window Use Metal instead of OpenGL for the main VM Window in OS X Commit: 46b3ce719f8da7c5f5a914ac29010a2700df9535 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/46b3ce719f8da7c5f5a914ac29010a2700df9535 Author: Eliot Miranda Date: 2019-02-21 (Thu, 21 Feb 2019) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2521 Spur: Fix segment loading so that an imported class (in outPointers) that has yet to be instantiated does not abort the load. This should fix Terf room entry. Commit: 4b70c02775f43cda81e1e87e2232e9409863309a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4b70c02775f43cda81e1e87e2232e9409863309a Author: Ken Dickey Date: 2019-02-24 (Sun, 24 Feb 2019) Changed paths: M CONTRIBUTING.md M build.linux32ARMv6/editpharoinstall.sh M build.linux32x86/editpharoinstall.sh M build.linux64x64/editpharoinstall.sh M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.rules M build.macos64x64/common/Makefile.vm A deploy/packaging/Makefile.debian A deploy/packaging/pharo6-sources-files/debian/changelog A deploy/packaging/pharo6-sources-files/debian/compat A deploy/packaging/pharo6-sources-files/debian/control A deploy/packaging/pharo6-sources-files/debian/copyright A deploy/packaging/pharo6-sources-files/debian/pharo6-sources-files.install A deploy/packaging/pharo6-sources-files/debian/pharo6-sources-files.links A deploy/packaging/pharo6-sources-files/debian/rules A deploy/packaging/pharo6-sources-files/debian/source/format A deploy/packaging/pharo7-vm-core/debian/changelog A deploy/packaging/pharo7-vm-core/debian/compat A deploy/packaging/pharo7-vm-core/debian/control A deploy/packaging/pharo7-vm-core/debian/copyright A deploy/packaging/pharo7-vm-core/debian/pharo7-32-ui.install A deploy/packaging/pharo7-vm-core/debian/pharo7-32.1 A deploy/packaging/pharo7-vm-core/debian/pharo7-32.install A deploy/packaging/pharo7-vm-core/debian/pharo7-32.manpages A deploy/packaging/pharo7-vm-core/debian/pharo7-64-ui.install A deploy/packaging/pharo7-vm-core/debian/pharo7-64.1 A deploy/packaging/pharo7-vm-core/debian/pharo7-64.install A deploy/packaging/pharo7-vm-core/debian/pharo7-64.manpages A deploy/packaging/pharo7-vm-core/debian/pharo7-ui-common.install A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32 A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32-ui A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64 A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64-ui A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-32-ui.desktop A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-64-ui.desktop A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/16x16/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/256x256/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/32x32/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/48x48/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/mime/packages/pharo7-image.xml A deploy/packaging/pharo7-vm-core/debian/rules A deploy/packaging/pharo7-vm-core/debian/source/format A deploy/packaging/pharo7-vm-core/debian/source/include-binaries A deploy/packaging/pharo7.spec M image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c R packaging/Makefile.debian R packaging/pharo6-sources-files/debian/changelog R packaging/pharo6-sources-files/debian/compat R packaging/pharo6-sources-files/debian/control R packaging/pharo6-sources-files/debian/copyright R packaging/pharo6-sources-files/debian/pharo6-sources-files.install R packaging/pharo6-sources-files/debian/pharo6-sources-files.links R packaging/pharo6-sources-files/debian/rules R packaging/pharo6-sources-files/debian/source/format R packaging/pharo7-vm-core/debian/changelog R packaging/pharo7-vm-core/debian/compat R packaging/pharo7-vm-core/debian/control R packaging/pharo7-vm-core/debian/copyright R packaging/pharo7-vm-core/debian/pharo7-32-ui.install R packaging/pharo7-vm-core/debian/pharo7-32.1 R packaging/pharo7-vm-core/debian/pharo7-32.install R packaging/pharo7-vm-core/debian/pharo7-32.manpages R packaging/pharo7-vm-core/debian/pharo7-64-ui.install R packaging/pharo7-vm-core/debian/pharo7-64.1 R packaging/pharo7-vm-core/debian/pharo7-64.install R packaging/pharo7-vm-core/debian/pharo7-64.manpages R packaging/pharo7-vm-core/debian/pharo7-ui-common.install R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32 R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32-ui R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64 R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64-ui R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-32-ui.desktop R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-64-ui.desktop R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/16x16/apps/pharo7.png R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/256x256/apps/pharo7.png R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/32x32/apps/pharo7.png R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/48x48/apps/pharo7.png R packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/mime/packages/pharo7-image.xml R packaging/pharo7-vm-core/debian/rules R packaging/pharo7-vm-core/debian/source/format R packaging/pharo7-vm-core/debian/source/include-binaries R packaging/pharo7.spec M platforms/iOS/vm/Common/Classes/sqSqueakEventsAPI.m A platforms/iOS/vm/English.lproj/MainMenu-opengl.xib M platforms/iOS/vm/English.lproj/MainMenu.xib M platforms/iOS/vm/OSX/SqViewBitmapConversion.m M platforms/iOS/vm/OSX/SqViewClut.m A platforms/iOS/vm/OSX/SqueakMainShaders.metal A platforms/iOS/vm/OSX/SqueakMainShaders.metal.inc M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m A platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h A platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m M platforms/unix/config/bin.squeak.sh.in M platforms/unix/config/squeak.sh.in M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/unix/plugins/FilePlugin/sqUnixFile.c A scripts/build-metal-shaders.sh M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c Log Message: ----------- Merge branch 'Cog' into Cog Commit: 590dcbfec926db627f8d9a8b886d48c24c6a9500 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/590dcbfec926db627f8d9a8b886d48c24c6a9500 Author: Eliot Miranda Date: 2019-02-26 (Tue, 26 Feb 2019) Changed paths: A build.linux64ARMv8/editpharoinstall.sh A build.linux64ARMv8/pharo.cog.spur/apt-get-libs.sh A build.linux64ARMv8/pharo.cog.spur/build/mvm A build.linux64ARMv8/pharo.cog.spur/plugins.ext A build.linux64ARMv8/pharo.cog.spur/plugins.ext.all A build.linux64ARMv8/pharo.cog.spur/plugins.int A build.linux64ARMv8/pharo.stack.spur/apt-get-libs.sh A build.linux64ARMv8/pharo.stack.spur/build.debug/mvm A build.linux64ARMv8/pharo.stack.spur/build/mvm A build.linux64ARMv8/pharo.stack.spur/plugins.ext A build.linux64ARMv8/pharo.stack.spur/plugins.ext.all A build.linux64ARMv8/pharo.stack.spur/plugins.int M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm A build.linux64ARMv8/third-party/Makefile.lib.extra A build.linux64ARMv8/third-party/Makefile.libgit2 A build.linux64ARMv8/third-party/Makefile.libsdl2 A build.linux64ARMv8/third-party/Makefile.libssh2 A build.linux64ARMv8/third-party/mvm M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c Log Message: ----------- Merge pull request #370 from KenDickey/Cog ARM64 funs for struct returns Commit: 0599b84de182d45ed2366ca47a2694837bcaf51e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0599b84de182d45ed2366ca47a2694837bcaf51e Author: Manuel Leuenberger Date: 2019-02-28 (Thu, 28 Feb 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- fix event memory leak Commit: f20878cdccf40ab6381602dc58074413eab2dffa https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f20878cdccf40ab6381602dc58074413eab2dffa Author: Eliot Miranda Date: 2019-02-28 (Thu, 28 Feb 2019) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spur64src/vm/interp.h M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcode64src/vm/interp.h M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/interp.h M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestack64src/vm/interp.h M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spurlowcodestacksrc/vm/interp.h M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursista64src/vm/interp.h M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursistasrc/vm/interp.h M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spursrc/vm/interp.h M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/interp.h M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/interp.h M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M src/vm/interp.h M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M stacksrc/vm/interp.h Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2523 Spur: Fix image segment storage when there is insufficient contguous space to store the array of objects to be included in a segment. I wrote the code to answer a suitable error object (a SmallInteger of the required size), but forgot to handle the return, hence causing horrible crashes as the VM attempted to access objects in a SmallInteger. this was Max Leske's failing segment storage test case (a 66.5Mb segment). Handle the case by introducing a new error code (PrimErrNeedCompact) and having the primitive perform a full GC when it gets the error code, and then to retry segment storage. Have printFreeTree/printFreeChunk:printAsTreeNode: mark the root node with a '+' Fix some slips in free chunk integrity checking. Commit: 9eabc31556cb23dc95177b5e9406bd4d5115db67 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9eabc31556cb23dc95177b5e9406bd4d5115db67 Author: Holger Hans Peter Freyther Date: 2019-03-06 (Wed, 06 Mar 2019) Changed paths: M deploy/packaging/Makefile.debian A deploy/packaging/editpharoinstall.sh A deploy/packaging/pharo7-ui-common.spec R deploy/packaging/pharo7.spec Log Message: ----------- packaging: Fully catch-up and get it buildable * Add another editpharoinstall.sh that doesn't try to copy from /usr/src * Match "Name" and spec filename for OpenSUSE tumbleweed * Fix the PharoV60.sources dependency. It is still 6 and not 7. Commit: 2f27a1e1f213943a6f7860713f5d78f15310ac8d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2f27a1e1f213943a6f7860713f5d78f15310ac8d Author: Eliot Miranda Date: 2019-03-06 (Wed, 06 Mar 2019) Changed paths: M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2525/FileAttributesPlugin.oscog-eem.50 Plugins: ThreadedFFIPlugin: Make sure the ARM identifyingPredefinedMacros do not confuse 32 & 64 bits. FileAttributesPlugin: Simpification and simulaiton of primitiveFileExists & primitivePathMax, using the simpler and more efficient methodreturnXXX: protocol. Commit: c22326a2ebb2c4c7f97472b029a7286c02c35651 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c22326a2ebb2c4c7f97472b029a7286c02c35651 Author: Eliot Miranda Date: 2019-03-06 (Wed, 06 Mar 2019) Changed paths: M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c Log Message: ----------- Revert wrongful redefinition of SPURVM default in ARM32FFIPlugin.c. Commit: 2ede00338b9cdb2b3cb90263a6aa1f5e219f1cab https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2ede00338b9cdb2b3cb90263a6aa1f5e219f1cab Author: Eliot Miranda Date: 2019-03-06 (Wed, 06 Mar 2019) Changed paths: M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2527 Force default initialization of VM options before generating VM plugins. This undefines SPURVM as the default in the SqueakFFIPrims variants. Commit: 8363ebdc623b5d988dc78caf3238e42fb82f249e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8363ebdc623b5d988dc78caf3238e42fb82f249e Author: Eliot Miranda Date: 2019-03-07 (Thu, 07 Mar 2019) Changed paths: M platforms/unix/plugins/FileAttributesPlugin/faSupport.h Log Message: ----------- Fix stupid mistake in previous commit; access answers 0 on success and non-zero on failure. COnsequently we must negate its result to a nswer success. Commit: 3536b7f2a22582f23ae1a5c4f27e85703164f338 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3536b7f2a22582f23ae1a5c4f27e85703164f338 Author: Eliot Miranda Date: 2019-03-07 (Thu, 07 Mar 2019) Changed paths: M build.macos32x86/common/Makefile.rules M build.macos64x64/common/Makefile.rules Log Message: ----------- Upgrade the build commands for C++ on Mac OS X to specify C++11 & libc++. Commit: 633350569ca478387d079651251e7e2f40600aac https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/633350569ca478387d079651251e7e2f40600aac Author: Eliot Miranda Date: 2019-03-07 (Thu, 07 Mar 2019) Changed paths: M build.macos64x64/common/Makefile.rules Log Message: ----------- And fix a slip/regression. Commit: 20140b210a8a11bd4ed94b7ed489ee563a243648 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/20140b210a8a11bd4ed94b7ed489ee563a243648 Author: Ronie Salgado Date: 2019-03-09 (Sat, 09 Mar 2019) Changed paths: M .appveyor.yml A .clang_complete M .gitattributes A CMakeLists.txt M CONTRIBUTING.md M README.md M build.linux32ARMv6/HowToBuild M build.linux32ARMv6/editpharoinstall.sh M build.linux32ARMv6/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv6/newspeak.cog.spur/build/mvm M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv6/newspeak.stack.spur/build/mvm M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm M build.linux32ARMv6/pharo.cog.spur/build/mvm M build.linux32ARMv6/pharo.cog.spur/plugins.ext M build.linux32ARMv6/squeak.cog.spur/build.assert/mvm M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm M build.linux32ARMv6/squeak.cog.spur/build/mvm M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm M build.linux32ARMv6/squeak.stack.spur/build/mvm M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm M build.linux32ARMv6/squeak.stack.v3/build/mvm M build.linux32ARMv7/HowToBuild M build.linux32ARMv7/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv7/newspeak.cog.spur/build/mvm M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv7/newspeak.stack.spur/build/mvm M build.linux32x86/HowToBuild M build.linux32x86/editpharoinstall.sh M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.assert/mvm M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.debug/mvm M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build/mvm M build.linux32x86/newspeak.stack.spur/build.assert/mvm M build.linux32x86/newspeak.stack.spur/build.debug/mvm M build.linux32x86/newspeak.stack.spur/build/mvm M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.assert/mvm M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.debug/mvm M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.assert/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build/mvm A build.linux32x86/pharo.cog.spur.minheadless/makeallclean A build.linux32x86/pharo.cog.spur.minheadless/makealldirty M build.linux32x86/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.assert/mvm M build.linux32x86/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.debug/mvm M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build/mvm M build.linux32x86/pharo.cog.spur/plugins.ext M build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.assert/mvm M build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.debug/mvm M build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build/mvm M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm M build.linux32x86/squeak.cog.spur.immutability/build/mvm M build.linux32x86/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.assert/mvm M build.linux32x86/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.debug/mvm M build.linux32x86/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build/mvm A build.linux32x86/squeak.cog.spur/makethbdirty M build.linux32x86/squeak.cog.v3/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.assert/mvm M build.linux32x86/squeak.cog.v3/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.debug/mvm M build.linux32x86/squeak.cog.v3/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.assert/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.debug/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded/mvm M build.linux32x86/squeak.cog.v3/build/mvm M build.linux32x86/squeak.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.assert/mvm M build.linux32x86/squeak.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.debug/mvm M build.linux32x86/squeak.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build/mvm M build.linux32x86/squeak.stack.spur/build.assert/mvm M build.linux32x86/squeak.stack.spur/build.debug/mvm M build.linux32x86/squeak.stack.spur/build/mvm M build.linux32x86/squeak.stack.v3/build.assert/mvm M build.linux32x86/squeak.stack.v3/build.debug/mvm M build.linux32x86/squeak.stack.v3/build/mvm A build.linux64ARMv8/editpharoinstall.sh A build.linux64ARMv8/pharo.cog.spur/apt-get-libs.sh A build.linux64ARMv8/pharo.cog.spur/build/mvm A build.linux64ARMv8/pharo.cog.spur/plugins.ext A build.linux64ARMv8/pharo.cog.spur/plugins.ext.all A build.linux64ARMv8/pharo.cog.spur/plugins.int A build.linux64ARMv8/pharo.stack.spur/apt-get-libs.sh A build.linux64ARMv8/pharo.stack.spur/build.debug/mvm A build.linux64ARMv8/pharo.stack.spur/build/mvm A build.linux64ARMv8/pharo.stack.spur/plugins.ext A build.linux64ARMv8/pharo.stack.spur/plugins.ext.all A build.linux64ARMv8/pharo.stack.spur/plugins.int A build.linux64ARMv8/squeak.stack.spur/build.assert/mvm A build.linux64ARMv8/squeak.stack.spur/build.debug/mvm A build.linux64ARMv8/squeak.stack.spur/build/mvm A build.linux64ARMv8/squeak.stack.spur/makeallclean A build.linux64ARMv8/squeak.stack.spur/makealldirty A build.linux64ARMv8/squeak.stack.spur/plugins.ext A build.linux64ARMv8/squeak.stack.spur/plugins.int A build.linux64ARMv8/third-party/Makefile.lib.extra A build.linux64ARMv8/third-party/Makefile.libgit2 A build.linux64ARMv8/third-party/Makefile.libsdl2 A build.linux64ARMv8/third-party/Makefile.libssh2 A build.linux64ARMv8/third-party/mvm M build.linux64x64/HowToBuild M build.linux64x64/editpharoinstall.sh M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.assert/mvm M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.debug/mvm M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build/mvm M build.linux64x64/newspeak.stack.spur/build.assert/mvm M build.linux64x64/newspeak.stack.spur/build.debug/mvm M build.linux64x64/newspeak.stack.spur/build/mvm M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.assert/mvm M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.debug/mvm M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build/mvm A build.linux64x64/pharo.cog.spur.minheadless/makeallclean A build.linux64x64/pharo.cog.spur.minheadless/makealldirty M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M build.linux64x64/pharo.cog.spur/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm M build.linux64x64/squeak.cog.spur.immutability/build/mvm M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.assert/mvm M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.debug/mvm M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build/mvm A build.linux64x64/squeak.cog.spur/makethbdirty M build.linux64x64/squeak.stack.spur/build.assert/mvm M build.linux64x64/squeak.stack.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build/mvm A build.macos32x86/common.minheadless/Makefile.app A build.macos32x86/common.minheadless/Makefile.app.newspeak A build.macos32x86/common.minheadless/Makefile.app.squeak A build.macos32x86/common.minheadless/Makefile.clangversion A build.macos32x86/common.minheadless/Makefile.flags A build.macos32x86/common.minheadless/Makefile.lib.extra A build.macos32x86/common.minheadless/Makefile.plugin A build.macos32x86/common.minheadless/Makefile.rules A build.macos32x86/common.minheadless/Makefile.sources A build.macos32x86/common.minheadless/Makefile.vm A build.macos32x86/common.minheadless/mkInternalPluginsList.sh A build.macos32x86/common.minheadless/mkNamedPrims.sh M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.rules M build.macos32x86/newspeak.cog.spur/mvm M build.macos32x86/newspeak.stack.spur/mvm M build.macos32x86/pharo.cog.spur.lowcode/mvm A build.macos32x86/pharo.cog.spur.minheadless/Makefile A build.macos32x86/pharo.cog.spur.minheadless/mvm A build.macos32x86/pharo.cog.spur.minheadless/plugins.ext A build.macos32x86/pharo.cog.spur.minheadless/plugins.int M build.macos32x86/pharo.cog.spur/mvm M build.macos32x86/pharo.cog.spur/plugins.ext M build.macos32x86/pharo.sista.spur/mvm M build.macos32x86/pharo.stack.spur.lowcode/mvm M build.macos32x86/pharo.stack.spur/mvm M build.macos32x86/squeak.cog.spur+immutability/mvm M build.macos32x86/squeak.cog.spur/mvm M build.macos32x86/squeak.cog.v3/mvm M build.macos32x86/squeak.sista.spur/mvm M build.macos32x86/squeak.stack.spur/mvm M build.macos32x86/squeak.stack.v3/mvm M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.rules M build.macos64x64/newspeak.cog.spur/mvm M build.macos64x64/newspeak.stack.spur/mvm M build.macos64x64/pharo.cog.spur.lowcode/mvm M build.macos64x64/pharo.cog.spur/mvm M build.macos64x64/pharo.cog.spur/plugins.ext M build.macos64x64/pharo.sista.spur/mvm M build.macos64x64/pharo.stack.spur.lowcode/mvm M build.macos64x64/pharo.stack.spur/mvm M build.macos64x64/squeak.cog.spur.immutability/mvm M build.macos64x64/squeak.cog.spur/mvm M build.macos64x64/squeak.sista.spur/mvm M build.macos64x64/squeak.stack.spur/mvm A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin.cmake A build.minheadless.cmake/x64/common/configure_variant.sh A build.minheadless.cmake/x64/pharo.cog.spur/Makefile A build.minheadless.cmake/x64/pharo.cog.spur/mvm A build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure A build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure_variant A build.minheadless.cmake/x64/pharo.stack.spur/Makefile A build.minheadless.cmake/x64/pharo.stack.spur/mvm A build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure A build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x64/squeak.cog.spur/Makefile A build.minheadless.cmake/x64/squeak.cog.spur/mvm A build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure A build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure_variant A build.minheadless.cmake/x64/squeak.stack.spur/Makefile A build.minheadless.cmake/x64/squeak.stack.spur/mvm A build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure A build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin.cmake A build.minheadless.cmake/x86/common/configure_variant.sh A build.minheadless.cmake/x86/pharo.cog.spur/Makefile A build.minheadless.cmake/x86/pharo.cog.spur/mvm A build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure A build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure_variant A build.minheadless.cmake/x86/pharo.stack.spur/Makefile A build.minheadless.cmake/x86/pharo.stack.spur/mvm A build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure A build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/squeak.cog.spur/Makefile A build.minheadless.cmake/x86/squeak.cog.spur/mvm A build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure A build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure_variant A build.minheadless.cmake/x86/squeak.stack.spur/Makefile A build.minheadless.cmake/x86/squeak.stack.spur/mvm A build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure A build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure_variant M build.win32x86/common/Makefile.plugin M build.win32x86/common/Makefile.tools M build.win32x86/newspeak.cog.spur/mvm M build.win32x86/newspeak.stack.spur/mvm M build.win32x86/pharo.cog.spur.lowcode/Makefile M build.win32x86/pharo.cog.spur.lowcode/mvm M build.win32x86/pharo.cog.spur/Makefile M build.win32x86/pharo.cog.spur/mvm M build.win32x86/pharo.sista.spur/Makefile M build.win32x86/pharo.sista.spur/mvm A build.win32x86/pharo.stack.spur/Makefile A build.win32x86/pharo.stack.spur/Pharo.def.in A build.win32x86/pharo.stack.spur/Pharo.exe.manifest A build.win32x86/pharo.stack.spur/Pharo.ico A build.win32x86/pharo.stack.spur/Pharo.rc A build.win32x86/pharo.stack.spur/mvm A build.win32x86/pharo.stack.spur/plugins.ext A build.win32x86/pharo.stack.spur/plugins.int M build.win32x86/squeak.cog.spur.lowcode/Makefile M build.win32x86/squeak.cog.spur.lowcode/mvm M build.win32x86/squeak.cog.spur/mvm M build.win32x86/squeak.cog.v3/mvm M build.win32x86/squeak.sista.spur/mvm M build.win32x86/squeak.stack.spur/mvm M build.win32x86/squeak.stack.v3/mvm M build.win32x86/third-party/Makefile.freetype2 M build.win64x64/common/Makefile.plugin M build.win64x64/common/Makefile.tools M build.win64x64/newspeak.cog.spur/mvm M build.win64x64/newspeak.stack.spur/mvm M build.win64x64/pharo.cog.spur/mvm M build.win64x64/pharo.stack.spur/mvm M build.win64x64/squeak.cog.spur/mvm M build.win64x64/squeak.stack.spur/mvm M build.win64x64/third-party/Makefile.freetype2 A cmake/Mpeg3Plugin.cmake A cmake/Plugins.cmake A cmake/PluginsPharo.cmake A deploy/packaging/Makefile.debian A deploy/packaging/pharo6-sources-files/debian/changelog A deploy/packaging/pharo6-sources-files/debian/compat A deploy/packaging/pharo6-sources-files/debian/control A deploy/packaging/pharo6-sources-files/debian/copyright A deploy/packaging/pharo6-sources-files/debian/pharo6-sources-files.install A deploy/packaging/pharo6-sources-files/debian/pharo6-sources-files.links A deploy/packaging/pharo6-sources-files/debian/rules A deploy/packaging/pharo6-sources-files/debian/source/format A deploy/packaging/pharo7-vm-core/debian/changelog A deploy/packaging/pharo7-vm-core/debian/compat A deploy/packaging/pharo7-vm-core/debian/control A deploy/packaging/pharo7-vm-core/debian/copyright A deploy/packaging/pharo7-vm-core/debian/pharo7-32-ui.install A deploy/packaging/pharo7-vm-core/debian/pharo7-32.1 A deploy/packaging/pharo7-vm-core/debian/pharo7-32.install A deploy/packaging/pharo7-vm-core/debian/pharo7-32.manpages A deploy/packaging/pharo7-vm-core/debian/pharo7-64-ui.install A deploy/packaging/pharo7-vm-core/debian/pharo7-64.1 A deploy/packaging/pharo7-vm-core/debian/pharo7-64.install A deploy/packaging/pharo7-vm-core/debian/pharo7-64.manpages A deploy/packaging/pharo7-vm-core/debian/pharo7-ui-common.install A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32 A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32-ui A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64 A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64-ui A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-32-ui.desktop A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-64-ui.desktop A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/16x16/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/256x256/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/32x32/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/48x48/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/mime/packages/pharo7-image.xml A deploy/packaging/pharo7-vm-core/debian/rules A deploy/packaging/pharo7-vm-core/debian/source/format A deploy/packaging/pharo7-vm-core/debian/source/include-binaries A deploy/packaging/pharo7.spec M image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st M image/Slang Test Workspace.text M image/Workspace.text M image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh A include/OpenSmalltalkVM.h M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c M platforms/Cross/plugins/FileAttributesPlugin/faCommon.c M platforms/Cross/plugins/FileAttributesPlugin/faCommon.h M platforms/Cross/plugins/FileAttributesPlugin/faConstants.h M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c M platforms/Cross/plugins/IA32ABI/arm32abicc.c A platforms/Cross/plugins/IA32ABI/arm64abicc.c A platforms/Cross/plugins/IA32ABI/dabusinessARM32.h A platforms/Cross/plugins/IA32ABI/dabusinessARM64.h M platforms/Cross/plugins/IA32ABI/ia32abi.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/plugins/IA32ABI/xabicc.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3private.h M platforms/Cross/plugins/SecurityPlugin/SecurityPlugin.h M platforms/Cross/plugins/SerialPlugin/SerialPlugin.h A platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqAtomicOps.h A platforms/Cross/vm/sqCircularQueue.h M platforms/Cross/vm/sqCogStackAlignment.h A platforms/Cross/vm/sqPath.c A platforms/Cross/vm/sqPath.h A platforms/Cross/vm/sqTextEncoding.c A platforms/Cross/vm/sqTextEncoding.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/DirectoryCopy.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/FSpCompat.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/FileCopy.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/FullPath.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/IterateDirectory.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/MoreDesktopMgr.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/MoreFiles.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/MoreFilesExtras.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/Optimization.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/OptimizationEnd.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/Search.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/MoreFilesReadMe R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/DirectoryCopy.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/FSpCompat.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/FileCopy.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/FullPath.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/IterateDirectory.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/MoreDesktopMgr.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/MoreFiles.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/MoreFilesExtras.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/Search.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/DirectoryCopy.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/FSpCompat.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/FileCopy.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/FullPath.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/IterateDirectory.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/MoreDesktopMgr.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/MoreFiles.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/MoreFilesExtras.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/Search.c M platforms/iOS/plugins/AioPlugin/Makefile M platforms/iOS/plugins/AsynchFilePlugin/Makefile M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile M platforms/iOS/plugins/FileAttributesPlugin/Makefile M platforms/iOS/plugins/FileCopyPlugin/Makefile A platforms/iOS/plugins/FilePlugin/Makefile A platforms/iOS/plugins/FilePlugin/sqUnixFile.c M platforms/iOS/plugins/Mpeg3Plugin/Makefile M platforms/iOS/plugins/ObjectiveCPlugin/Makefile M platforms/iOS/plugins/SecurityPlugin/Makefile R platforms/iOS/plugins/SecurityPlugin/sqMacSecurity.c M platforms/iOS/plugins/SerialPlugin/Makefile R platforms/iOS/plugins/SerialPlugin/sqMacSerialPort.c M platforms/iOS/plugins/SocketPlugin/Makefile M platforms/iOS/plugins/SoundPlugin/Makefile M platforms/iOS/plugins/UnixOSProcessPlugin/Makefile M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m A platforms/minheadless/common/English.lproj/Newspeak-Localizable.strings A platforms/minheadless/common/English.lproj/Pharo-Localizable.strings A platforms/minheadless/common/English.lproj/Squeak-Localizable.strings A platforms/minheadless/common/debug.h A platforms/minheadless/common/glibc.h A platforms/minheadless/common/mac-alias.inc A platforms/minheadless/common/sqConfig.h A platforms/minheadless/common/sqEventCommon.c A platforms/minheadless/common/sqEventCommon.h A platforms/minheadless/common/sqExternalPrimitives.c A platforms/minheadless/common/sqExternalPrimitives.c.orig A platforms/minheadless/common/sqInternalPrimitives.c A platforms/minheadless/common/sqMain.c A platforms/minheadless/common/sqNamedPrims.h A platforms/minheadless/common/sqPlatformSpecific.h A platforms/minheadless/common/sqPlatformSpecificCommon.h A platforms/minheadless/common/sqPrinting.c A platforms/minheadless/common/sqVirtualMachineInterface.c A platforms/minheadless/common/sqWindow-Dispatch.c A platforms/minheadless/common/sqWindow-Null.c A platforms/minheadless/common/sqWindow.h A platforms/minheadless/common/sqaio.h A platforms/minheadless/common/version.c A platforms/minheadless/config.h.in A platforms/minheadless/generic/sqPlatformSpecific-Generic.c A platforms/minheadless/generic/sqPlatformSpecific-Generic.h A platforms/minheadless/sdl2-window/sqWindow-SDL2.c A platforms/minheadless/unix/BlueSistaSqueak.icns A platforms/minheadless/unix/GreenCogSqueak.icns A platforms/minheadless/unix/NewspeakDocuments.icns A platforms/minheadless/unix/NewspeakVirtualMachine.icns A platforms/minheadless/unix/Pharo-Info.plist A platforms/minheadless/unix/Pharo.icns A platforms/minheadless/unix/PharoChanges.icns A platforms/minheadless/unix/PharoImage.icns A platforms/minheadless/unix/PharoSources.icns A platforms/minheadless/unix/Squeak.icns A platforms/minheadless/unix/SqueakChanges.icns A platforms/minheadless/unix/SqueakGeneric.icns A platforms/minheadless/unix/SqueakImage.icns A platforms/minheadless/unix/SqueakPlugin.icns A platforms/minheadless/unix/SqueakProject.icns A platforms/minheadless/unix/SqueakScript.icns A platforms/minheadless/unix/SqueakSources.icns A platforms/minheadless/unix/aioUnix.c A platforms/minheadless/unix/sqPlatformSpecific-Unix.c A platforms/minheadless/unix/sqPlatformSpecific-Unix.h A platforms/minheadless/unix/sqUnixCharConv.c A platforms/minheadless/unix/sqUnixCharConv.h A platforms/minheadless/unix/sqUnixHeartbeat.c A platforms/minheadless/unix/sqUnixMemory.c A platforms/minheadless/unix/sqUnixSpurMemory.c A platforms/minheadless/unix/sqUnixThreads.c A platforms/minheadless/windows/sqGnu.h A platforms/minheadless/windows/sqPlatformSpecific-Win32.c A platforms/minheadless/windows/sqPlatformSpecific-Win32.h A platforms/minheadless/windows/sqWin32.h A platforms/minheadless/windows/sqWin32Alloc.c A platforms/minheadless/windows/sqWin32Alloc.h A platforms/minheadless/windows/sqWin32Backtrace.c A platforms/minheadless/windows/sqWin32Backtrace.h A platforms/minheadless/windows/sqWin32Common.c A platforms/minheadless/windows/sqWin32Directory.c A platforms/minheadless/windows/sqWin32HandleTable.h A platforms/minheadless/windows/sqWin32Heartbeat.c A platforms/minheadless/windows/sqWin32Main.c A platforms/minheadless/windows/sqWin32SpurAlloc.c A platforms/minheadless/windows/sqWin32Stubs.c A platforms/minheadless/windows/sqWin32Threads.c A platforms/minheadless/windows/sqWin32Time.c M platforms/unix/config/bin.squeak.sh.in M platforms/unix/config/config.guess M platforms/unix/config/squeak.sh.in M platforms/unix/plugins/FileAttributesPlugin/faSupport.c M platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/unix/plugins/FilePlugin/sqUnixFile.c M platforms/unix/plugins/SecurityPlugin/sqUnixSecurity.c A platforms/unix/plugins/SerialPlugin/Makefile.inc M platforms/unix/plugins/SerialPlugin/sqUnixSerial.c M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm-display-X11/sqUnixXdnd.c M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixEvent.c M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c M platforms/unix/vm/sqUnixMain.c M platforms/win32/plugins/AsynchFilePlugin/sqWin32AsyncFilePrims.c M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32D3D.c M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32OpenGL.c M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c M platforms/win32/plugins/DropPlugin/sqWin32Drop.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FilePlugin/sqWin32File.h M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c M platforms/win32/plugins/JoystickTabletPlugin/sqWin32Joystick.c M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c A platforms/win32/plugins/SerialPlugin/Makefile.plugin M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32DirectInput.c M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32DnsInfo.c M platforms/win32/vm/sqWin32ExternalPrims.c M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Prefs.h M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32SpurAlloc.c M platforms/win32/vm/sqWin32Threads.c M platforms/win32/vm/sqWin32Utils.c M platforms/win32/vm/sqWin32Window.c A scripts/checkSCCSversion M scripts/gitci M scripts/installCygwin.bat A scripts/pluginReport M scripts/updateSCCSVersions M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spur64src/vm/interp.h M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcode64src/vm/interp.h M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/interp.h M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestack64src/vm/interp.h M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spurlowcodestacksrc/vm/interp.h M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursista64src/vm/interp.h M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursistasrc/vm/interp.h M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spursrc/vm/interp.h M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/interp.h M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/interp.h M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c A src/plugins/IOSPlugin/IOSPlugin.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c A src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M src/vm/interp.h M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M stacksrc/vm/interp.h M third-party/freetype2.spec A third-party/freetype291.patch M third-party/libsdl2.spec M third-party/openssl.spec Log Message: ----------- Merge branch 'Cog' into feature/metal_b3d Commit: 484d7684e6ab79d3a0273751653d08c5cc5b0605 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/484d7684e6ab79d3a0273751653d08c5cc5b0605 Author: Eliot Miranda Date: 2019-03-12 (Tue, 12 Mar 2019) Changed paths: M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2528 Spur 64-bits: Fix https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/376; Bug in primitive 551 (SmallFloat64>> truncated). Fiox by also checking that the truncated value is in integer range. Commit: 0e3761c888d2545c9846f360f99dcfa25317aff5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0e3761c888d2545c9846f360f99dcfa25317aff5 Author: Eliot Miranda Date: 2019-03-13 (Wed, 13 Mar 2019) Changed paths: M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/vm/cogit.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2530 Slang: Fix bug in dead-code elimination. In checking whether a name is defined at compile-time or not we have to deal with both TDefineNode and TVarableNode, and so must use nameOrValue, not just value. This affects finalizeReference: which was having variables used in a "cppIf: PharoVM ifTrue: ..." arm deleted since the code generator incorresctly assessed the arm as dead code. Commit: 0266ad20d2fce07bd09a875fec529e739fb50250 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0266ad20d2fce07bd09a875fec529e739fb50250 Author: Eliot Miranda Date: 2019-03-13 (Wed, 13 Mar 2019) Changed paths: A build.macos32x86/pharo.cog.v3/Makefile A build.macos32x86/pharo.cog.v3/mvm A build.macos32x86/pharo.cog.v3/plugins.ext A build.macos32x86/pharo.cog.v3/plugins.int Log Message: ----------- **[ci skip]** Add a build directory for making the old Pharo V3 VM. Commit: b724be5c6e96b05716e55f748c6b0dcd60734d03 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b724be5c6e96b05716e55f748c6b0dcd60734d03 Author: Ana Felisatti Date: 2019-03-17 (Sun, 17 Mar 2019) Changed paths: M .gitignore Log Message: ----------- Add DS_Store to gitignore Commit: 774a3e2261b51cf574c5313a8f3753d3e33a8b0d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/774a3e2261b51cf574c5313a8f3753d3e33a8b0d Author: Esteban Lorenzano Date: 2019-03-19 (Tue, 19 Mar 2019) Changed paths: M deploy/packaging/Makefile.debian A deploy/packaging/editpharoinstall.sh A deploy/packaging/pharo7-ui-common.spec R deploy/packaging/pharo7.spec Log Message: ----------- Merge pull request #375 from zecke/zecke/packaging packaging: Fully catch-up and get it buildable Commit: 2c700e0915e77793edc94f01acfdf68de1a39433 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2c700e0915e77793edc94f01acfdf68de1a39433 Author: Eliot Miranda Date: 2019-03-19 (Tue, 19 Mar 2019) Changed paths: M .gitignore Log Message: ----------- Merge pull request #379 from afelisatti/mac-dev Add DS_Store to gitignore Commit: 1a09bae4372b02d06411922f0e396b49ceaf31f2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1a09bae4372b02d06411922f0e396b49ceaf31f2 Author: Pablo Tesone Date: 2019-03-21 (Thu, 21 Mar 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m Log Message: ----------- Fixing the change to fullscreen Commit: 8d0fe14a919296104b18a91f35efbf0cae5963d5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8d0fe14a919296104b18a91f35efbf0cae5963d5 Author: Eliot Miranda Date: 2019-03-22 (Fri, 22 Mar 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m Log Message: ----------- Merge pull request #381 from tesonep/Cog Fixing the change to fullscreen Commit: 1c223735bcbcffe00d6c527458faefcf031601a0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1c223735bcbcffe00d6c527458faefcf031601a0 Author: Ronie Salgado Date: 2019-03-24 (Sun, 24 Mar 2019) Changed paths: M .gitignore A build.macos32x86/pharo.cog.v3/Makefile A build.macos32x86/pharo.cog.v3/mvm A build.macos32x86/pharo.cog.v3/plugins.ext A build.macos32x86/pharo.cog.v3/plugins.int M deploy/packaging/Makefile.debian A deploy/packaging/editpharoinstall.sh A deploy/packaging/pharo7-ui-common.spec R deploy/packaging/pharo7.spec M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/vm/cogit.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Merge branch 'Cog' into feature/metal_b3d Commit: 242f0692040280e9189a086253e0199ee2207900 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/242f0692040280e9189a086253e0199ee2207900 Author: Ronie Salgado Date: 2019-03-25 (Mon, 25 Mar 2019) Changed paths: M .clang_complete M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.vm M platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal R platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal.inc M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.m M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalStructures.h M platforms/iOS/vm/Common/main.m M platforms/iOS/vm/English.lproj/MainMenu.xib M platforms/iOS/vm/OSX/SqViewBitmapConversion.m A platforms/iOS/vm/OSX/SqViewBitmapConversion.m.inc M platforms/iOS/vm/OSX/SqViewClut.m A platforms/iOS/vm/OSX/SqViewClut.m.inc M platforms/iOS/vm/OSX/SqueakMainShaders.metal R platforms/iOS/vm/OSX/SqueakMainShaders.metal.inc M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/iOS/vm/OSX/sqSqueakOSXCGView.h A platforms/iOS/vm/OSX/sqSqueakOSXHeadlessView.h A platforms/iOS/vm/OSX/sqSqueakOSXHeadlessView.m M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.h M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m A platforms/iOS/vm/OSX/sqSqueakOSXViewFactory.h A platforms/iOS/vm/OSX/sqSqueakOSXViewFactory.m R scripts/build-metal-shaders.sh Log Message: ----------- I introduced a hack to select the type of rendering view in runtime. I am compiling by again the old core graphics based renderer, but this is only used when the -core-graphics option is passed in the command line. I added dummy headless view, that does not render and stubs most of the event. I added the -metal, -opengl, and -core-graphics command line options for selecting the rendering backend. I am testing the Metal implementation by compiling the shader library. If the shader library compilation fails, then Metal will not be used, and instead OpenGL will be used as a fallback, by default. Commit: e514459dc79a6ed333482516d062c5fbca8d1ed3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e514459dc79a6ed333482516d062c5fbca8d1ed3 Author: Eliot Miranda Date: 2019-03-25 (Mon, 25 Mar 2019) Changed paths: M build.macos32x86/common/Makefile.vm M build.macos64x64/common/Makefile.vm Log Message: ----------- Provide cleandeps for the Mac builds. **[ci skip]** Commit: 4e1be2cea3148f0746c1c5198e9d624f58da90a1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4e1be2cea3148f0746c1c5198e9d624f58da90a1 Author: Eliot Miranda Date: 2019-03-25 (Mon, 25 Mar 2019) Changed paths: M .gitignore M deploy/packaging/Makefile.debian A deploy/packaging/editpharoinstall.sh A deploy/packaging/pharo7-ui-common.spec R deploy/packaging/pharo7.spec M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: 4ee8bb6e7960e5776558f0baca10daee7ec5d653 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4ee8bb6e7960e5776558f0baca10daee7ec5d653 Author: Eliot Miranda Date: 2019-03-27 (Wed, 27 Mar 2019) Changed paths: M .clang_complete M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.vm M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h A platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.m A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.h A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.m A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalStructures.h M platforms/iOS/vm/Common/main.m M platforms/iOS/vm/English.lproj/MainMenu.xib M platforms/iOS/vm/OSX/SqViewBitmapConversion.m A platforms/iOS/vm/OSX/SqViewBitmapConversion.m.inc M platforms/iOS/vm/OSX/SqViewClut.m A platforms/iOS/vm/OSX/SqViewClut.m.inc M platforms/iOS/vm/OSX/SqueakMainShaders.metal R platforms/iOS/vm/OSX/SqueakMainShaders.metal.inc M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/iOS/vm/OSX/sqSqueakOSXCGView.h A platforms/iOS/vm/OSX/sqSqueakOSXHeadlessView.h A platforms/iOS/vm/OSX/sqSqueakOSXHeadlessView.m M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.h M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m A platforms/iOS/vm/OSX/sqSqueakOSXViewFactory.h A platforms/iOS/vm/OSX/sqSqueakOSXViewFactory.m R scripts/build-metal-shaders.sh Log Message: ----------- Merge pull request #382 from ronsaldo/feature/metal_b3d Initial port of the B3DAccelerator plugin, plus extra Metal and rendering clean up. Ronie, -core-graphics and -opengl work for me on 10.13.6, and I can compile the VM using Xcode 10.1, which also runs on 10.13. -metal crashes for me, but this could be because I'm testing some weird hybrid of this pull request and the older metal shader code. So I think the best thing to do is approve the pull request and fix metal on 10.13 later. Commit: b51968ca6c122200a9fb1e370bba10836085ff47 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b51968ca6c122200a9fb1e370bba10836085ff47 Author: Eliot Miranda Date: 2019-03-27 (Wed, 27 Mar 2019) Changed paths: M build.macos32x86/HowToBuild M build.macos64x64/HowToBuild Log Message: ----------- Update MacOS HowToBuilds reflecting Ronie's new Metal code, which ups the build requirements to clang 10. [ci skip] Commit: bf55023b1b88bcd821254f72779432f4b39bf4d6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bf55023b1b88bcd821254f72779432f4b39bf4d6 Author: Ronie Salgado Date: 2019-03-27 (Wed, 27 Mar 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m M platforms/iOS/vm/SqueakPureObjc_Prefix.pch Log Message: ----------- Fix compilation problem with ARC in some compilers. Commit: 191f9011b5e22a6103454a17202d0b0c5c4ce654 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/191f9011b5e22a6103454a17202d0b0c5c4ce654 Author: Eliot Miranda Date: 2019-03-27 (Wed, 27 Mar 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m M platforms/iOS/vm/SqueakPureObjc_Prefix.pch Log Message: ----------- Merge pull request #384 from ronsaldo/feature/metal_b3d Fix compilation problem with ARC in some compilers. Commit: 72506af6911ab2ec9a9d698f9cd5a28fbb26dde5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/72506af6911ab2ec9a9d698f9cd5a28fbb26dde5 Author: Eliot Miranda Date: 2019-03-27 (Wed, 27 Mar 2019) Changed paths: M build.macos64x64/common/Makefile.flags Log Message: ----------- Update minimum SDK for 64-bit Mac to 10.12 (for metal). Commit: 07aabbaf15c6eac285faea94d370a7a373da69ab https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/07aabbaf15c6eac285faea94d370a7a373da69ab Author: Nicolas Cellier Date: 2019-04-11 (Thu, 11 Apr 2019) Changed paths: M scripts/updateSCCSVersions Log Message: ----------- Let the .git/hooks work for git 2.18 and later GIT_DIR is not set any longer since git 2.18, so the hook is not recognized as running as hook Replace with a test of $dirname $0 instead as suggested on SO https://stackoverflow.com/questions/55627720/how-to-recognize-if-git-hook-script-is-really-run-as-a-hook?noredirect=1#comment97952519_55627720 This should fix issue #389 Commit: 1d9c8bcfd3214c52e8a449840b2cd1c448b33d18 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1d9c8bcfd3214c52e8a449840b2cd1c448b33d18 Author: Eliot Miranda Date: 2019-04-11 (Thu, 11 Apr 2019) Changed paths: M build.macos32x86/common/Makefile.lib.extra M build.macos32x86/pharo.cog.spur/plugins.ext M build.macos64x64/common/Makefile.app.squeak Log Message: ----------- Minor tidyups to Mac Makefiles and related. [ci skip] Commit: 12babd0ff7629cda4d19ed9ed03723fae8f7a667 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/12babd0ff7629cda4d19ed9ed03723fae8f7a667 Author: Eliot Miranda Date: 2019-04-17 (Wed, 17 Apr 2019) Changed paths: M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.plugin M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.plugin Log Message: ----------- Enrich plugin/app bundle creation on MacOS, allowing plugins to specify support dylibs which end up in the Foo.app/Contents/Frameworks directory. [ci skip] Plugin makefiles (e.g. platforms/iOS/plugins/FooPlugin/Makefile) optionally define a set of support dylibs via defining a DYLIBS variable. The makefiles do the rest. Remember to remove any .cstemp directories before signing to avoid codesign getting stuck. Commit: 9107c4ba6b4e0d0e6ecbf6c89564cbd76af6de61 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9107c4ba6b4e0d0e6ecbf6c89564cbd76af6de61 Author: Eliot Miranda Date: 2019-04-18 (Thu, 18 Apr 2019) Changed paths: M platforms/Cross/vm/sqNamedPrims.c Log Message: ----------- Add selector breakpoint checking for a module name to findAndLoadModule to simplify choosing when to e.g. breakpoint dlopen to debug library load errors. Reformate sqNamedPrims.c a little to - make control structures differ from function calls - move all returns to their own line for breakpointing error returns [ci skip] Commit: 9ecd229c9ca1a69f95f291537ed1eadfdff6feb2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9ecd229c9ca1a69f95f291537ed1eadfdff6feb2 Author: Eliot Miranda Date: 2019-04-18 (Thu, 18 Apr 2019) Changed paths: M .gitignore M build.macos32x86/common/Makefile.app M build.macos64x64/common/Makefile.app Log Message: ----------- On Mac, add the relevant @rpath if there is a TheVM.app/Contents/Resources dir. [ci skip] Commit: b2a54249a848aadcd3e708ac6069a868411fca33 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b2a54249a848aadcd3e708ac6069a868411fca33 Author: Eliot Miranda Date: 2019-04-22 (Mon, 22 Apr 2019) Changed paths: M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.rules M build.macos64x64/common/Makefile.plugin M build.macos64x64/common/Makefile.rules Log Message: ----------- Add rules for compiling .mm files on MacOS (Objective-C++ files). [ci skip] Eliminate unnecessarily different sed invocation on 32 & 64-bit Mac builds. Commit: 1ac1a1ce7c23003dbd10707307efb8a842e2e2f5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1ac1a1ce7c23003dbd10707307efb8a842e2e2f5 Author: Eliot Miranda Date: 2019-04-22 (Mon, 22 Apr 2019) Changed paths: M build.macos32x86/common/Makefile.app M build.macos64x64/common/Makefile.app Log Message: ----------- The exit status from the MacOS test for the Frameworks directory must [ci skip] be ignored if the build is to complete. Commit: 49ba9c6170d2105032d0df3fb09e526c8a689fc7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/49ba9c6170d2105032d0df3fb09e526c8a689fc7 Author: Eliot Miranda Date: 2019-04-26 (Fri, 26 Apr 2019) Changed paths: M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m Log Message: ----------- Simplify checking for inputs and outputs in the Mac sound plugin, correcting volume access so that the volume of the right device is answered. Commit: ab72adac89c2fae55f646b4df1484daf5f27cb1f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ab72adac89c2fae55f646b4df1484daf5f27cb1f Author: Eliot Miranda Date: 2019-04-26 (Fri, 26 Apr 2019) Changed paths: M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.h M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudioAPI.m Log Message: ----------- Add getting of output volume and setting of both input and output volume in the Mac SoundPlugin. Commit: a1ee2ebf087768b5fbffa07f50a294ad9c8ee600 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a1ee2ebf087768b5fbffa07f50a294ad9c8ee600 Author: Eliot Miranda Date: 2019-04-26 (Fri, 26 Apr 2019) Changed paths: M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m Log Message: ----------- Make sure the devie list is fully populated before answering any indexed name queries in teh Mac SoundPlugin. Commit: cac54b26d41f6509a595b9e0675d669f95af3da0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cac54b26d41f6509a595b9e0675d669f95af3da0 Author: Holger Hans Peter Freyther Date: 2019-05-04 (Sat, 04 May 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/unix/vm/sqUnixMain.c Log Message: ----------- cli: pollpip consumes an argument, document it * pollpip consumes an argument that was not documented * It specifies to print a '.' while it prints one of '|/-\' Commit: b58e0a16f15c69a4267a719d8a378b3b2386c620 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b58e0a16f15c69a4267a719d8a378b3b2386c620 Author: Holger Hans Peter Freyther Date: 2019-05-04 (Sat, 04 May 2019) Changed paths: M platforms/unix/plugins/SerialPlugin/sqUnixSerial.c Log Message: ----------- serial: Remove unused variable holding a default filename Commit: 6e57b1a4e43f5a14e164f139d4115a09f0171ff1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6e57b1a4e43f5a14e164f139d4115a09f0171ff1 Author: Eliot Miranda Date: 2019-05-06 (Mon, 06 May 2019) Changed paths: M platforms/iOS/vm/SqueakPureObjc_Prefix.pch Log Message: ----------- Eliminate a conflict between Apple's AssertMacros and the boost libraries when compiling .mm (Objective-C++) files. Commit: 24c6e36cfb9d424dd459dff3e0734dc796c8c26d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/24c6e36cfb9d424dd459dff3e0734dc796c8c26d Author: Ronie Salgado Date: 2019-05-11 (Sat, 11 May 2019) Changed paths: M .travis.yml M CMakeLists.txt M build.minheadless.cmake/x64/pharo.cog.spur/mvm M build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/pharo.stack.spur/mvm M build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure_variant M build.minheadless.cmake/x64/squeak.cog.spur/mvm M build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/squeak.stack.spur/mvm M build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure_variant M build.minheadless.cmake/x86/pharo.cog.spur/mvm M build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/pharo.stack.spur/mvm M build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure_variant M build.minheadless.cmake/x86/squeak.cog.spur/mvm M build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/squeak.stack.spur/mvm M build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure_variant A platforms/minheadless/startup.sh.in M scripts/ci/travis_build.sh Log Message: ----------- I am making sure that the CMake based scripts for the Linux version of the VM is producing the correct directory structure. Commit: a045ab9f1ef59f1d50b30463b78a98e27365ae1f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a045ab9f1ef59f1d50b30463b78a98e27365ae1f Author: Tobias Pape Date: 2019-05-15 (Wed, 15 May 2019) Changed paths: M platforms/unix/plugins/SerialPlugin/sqUnixSerial.c Log Message: ----------- Merge pull request #394 from zecke/serial-dead-code serial: Remove unused variable holding a default filename Commit: 8ab450cfe3e1a41e2e280541d0cfe2de96bf6f71 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8ab450cfe3e1a41e2e280541d0cfe2de96bf6f71 Author: Ronie Salgado Date: 2019-05-16 (Thu, 16 May 2019) Changed paths: M CMakeLists.txt A cmake/CompleteBundle.cmake.in A cmake/CreateBundle.sh.in M cmake/Plugins.cmake A cmake/PluginsCommon.cmake A cmake/PluginsMacros.cmake M cmake/PluginsPharo.cmake A cmake/PluginsSqueak.cmake Log Message: ----------- Generate the proper OS X bundle structure with CMake install scripts. Commit: 2f1edc21b6930cbe85fa86b03fe4e03c44b86ca3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2f1edc21b6930cbe85fa86b03fe4e03c44b86ca3 Author: Ronie Salgado Date: 2019-05-16 (Thu, 16 May 2019) Changed paths: M CMakeLists.txt Log Message: ----------- I fixed the cmake install script on Linux. Commit: 48fd0b0b5a777308613789fce92392228ee9a1ac https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/48fd0b0b5a777308613789fce92392228ee9a1ac Author: Ronie Salgado Date: 2019-05-17 (Fri, 17 May 2019) Changed paths: M build.minheadless.cmake/x64/pharo.cog.spur/Makefile M build.minheadless.cmake/x64/pharo.cog.spur/mvm M build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/pharo.stack.spur/Makefile M build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure_variant M build.minheadless.cmake/x64/squeak.cog.spur/Makefile M build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/squeak.stack.spur/Makefile M build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure_variant M build.minheadless.cmake/x86/pharo.cog.spur/Makefile M build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/pharo.stack.spur/Makefile M build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure_variant M build.minheadless.cmake/x86/squeak.cog.spur/Makefile M build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/squeak.stack.spur/Makefile M build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure_variant M scripts/ci/travis_build.sh Log Message: ----------- Use the CMake install command for generating the final directory structure. Commit: fb66aa0f0a6f1df9b59e4a8508cf8f7052e9fee3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fb66aa0f0a6f1df9b59e4a8508cf8f7052e9fee3 Author: Ronie Salgado Date: 2019-05-17 (Fri, 17 May 2019) Changed paths: M CMakeLists.txt M cmake/CompleteBundle.cmake.in M cmake/CreateBundle.sh.in M cmake/PluginsMacros.cmake Log Message: ----------- I am fixing the OS X bundled plugins with the minheadless VM. Commit: 1decae64816c8e6e66dd78762b026043b8010d0c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1decae64816c8e6e66dd78762b026043b8010d0c Author: Ronie Salgado Date: 2019-05-17 (Fri, 17 May 2019) Changed paths: M CMakeLists.txt M cmake/PluginsCommon.cmake M cmake/PluginsMacros.cmake M cmake/PluginsPharo.cmake M cmake/PluginsSqueak.cmake Log Message: ----------- Cleaning up the common plugins between Pharo and Squeak. Commit: 71371f9a3887be2b42d148d579b54f29409a1f00 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/71371f9a3887be2b42d148d579b54f29409a1f00 Author: Ronie Salgado Date: 2019-05-27 (Mon, 27 May 2019) Changed paths: M CMakeLists.txt A cmake/LibGit.cmake A cmake/LibSSH2.cmake A cmake/OpenSSL.cmake A cmake/PkgConfig.cmake M cmake/PluginsMacros.cmake A cmake/ThirdPartyDependencies.cmake A cmake/ThirdPartyDependenciesCommon.cmake A cmake/ThirdPartyDependenciesMacros.cmake A cmake/ThirdPartyDependenciesPharo.cmake A cmake/ThirdPartyDependenciesSqueak.cmake A cmake/ThirdPartyDependencyInstallScript.cmake.in Log Message: ----------- I am starting to build some Pharo dependencies with CMake. Commit: 026602461dc376a5c24b955821f0e930062f986f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/026602461dc376a5c24b955821f0e930062f986f Author: Ronie Salgado Date: 2019-05-27 (Mon, 27 May 2019) Changed paths: M CMakeLists.txt R cmake/LibGit.cmake A cmake/LibGit2.cmake M cmake/LibSSH2.cmake M cmake/ThirdPartyDependenciesMacros.cmake M cmake/ThirdPartyDependenciesPharo.cmake Log Message: ----------- I implemented the compilation of the libgit2 thirdparty dependency. Commit: e9ef7976cb81f980bce8b6069214fe87a1241fd3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e9ef7976cb81f980bce8b6069214fe87a1241fd3 Author: Ronie Salgado Date: 2019-05-27 (Mon, 27 May 2019) Changed paths: M CMakeLists.txt A cmake/LibSDL2.cmake M cmake/ThirdPartyDependenciesPharo.cmake Log Message: ----------- I added the building of the SDL2 external library. Commit: b07a29d06f04bda512650c5c8ea040ed2d2d132d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b07a29d06f04bda512650c5c8ea040ed2d2d132d Author: Ronie Salgado Date: 2019-05-28 (Tue, 28 May 2019) Changed paths: M CMakeLists.txt M cmake/CompleteBundle.cmake.in M cmake/CreateBundle.sh.in A cmake/FreeType2.cmake R cmake/LibSDL2.cmake M cmake/LibSSH2.cmake M cmake/OpenSSL.cmake M cmake/PkgConfig.cmake M cmake/PluginsPharo.cmake A cmake/SDL2.cmake M cmake/ThirdPartyDependenciesMacros.cmake M cmake/ThirdPartyDependenciesPharo.cmake Log Message: ----------- I added the freetype2 third party library compilation to the CMake scripts. I added priority to use the bundled version of SDL2 when using the CMake build system. I implemented the copy of the third party libraries into the App bundle. Commit: 20bd872e8a342822e8394eea2890643700af159a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/20bd872e8a342822e8394eea2890643700af159a Author: Ronie Salgado Date: 2019-05-28 (Tue, 28 May 2019) Changed paths: M CMakeLists.txt M cmake/PluginsPharo.cmake Log Message: ----------- I fixed the search of freetype on linux. Commit: 72c1b975be8b67a88ce77ff364ae99e4e69456a6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/72c1b975be8b67a88ce77ff364ae99e4e69456a6 Author: Ronie Salgado Date: 2019-05-28 (Tue, 28 May 2019) Changed paths: M CMakeLists.txt M include/OpenSmalltalkVM.h M platforms/minheadless/common/sqVirtualMachineInterface.c A platforms/minheadless/mac/sqMain.m Log Message: ----------- I implemented a hack for treating the OS X version of the minheadless VM as a launcher application. Commit: 56194c5e22cab5784b7a0f0a4528848cd0921774 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/56194c5e22cab5784b7a0f0a4528848cd0921774 Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: A cmake/Cairo.cmake M cmake/FreeType2.cmake M cmake/LibGit2.cmake A cmake/LibPNG.cmake M cmake/LibSSH2.cmake A cmake/Pixman.cmake M cmake/PkgConfig.cmake M cmake/SDL2.cmake M cmake/ThirdPartyDependenciesCommon.cmake M cmake/ThirdPartyDependenciesMacros.cmake M cmake/ThirdPartyDependenciesPharo.cmake A third-party/pixman.clang.patch Log Message: ----------- I added the missing Pharo dependencies to the OS X version of the VM CMake building scripts. Commit: a313d0e5de3896e4f9d149e47c996f424faa54d5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a313d0e5de3896e4f9d149e47c996f424faa54d5 Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M .travis.yml M CMakeLists.txt M build.minheadless.cmake/x64/common/configure_variant.sh A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/Makefile A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x64/pharo.cog.spur/mvm M build.minheadless.cmake/x64/pharo.stack.spur/mvm A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/Makefile A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x64/squeak.cog.spur/mvm M build.minheadless.cmake/x64/squeak.stack.spur/mvm M build.minheadless.cmake/x86/common/configure_variant.sh A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/Makefile A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x86/pharo.cog.spur/mvm M build.minheadless.cmake/x86/pharo.stack.spur/mvm A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/Makefile A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x86/squeak.cog.spur/mvm M build.minheadless.cmake/x86/squeak.stack.spur/mvm M platforms/minheadless/sdl2-window/sqWindow-SDL2.c Log Message: ----------- I added some convenience build directories to build the minheadless VM with SDL2 based traditional display support. Commit: bd1675c538335a257223c6e1d4d1f6191d0a4247 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bd1675c538335a257223c6e1d4d1f6191d0a4247 Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M .travis.yml Log Message: ----------- I added properly the minheadless vm with SDL2 support to the travis.yml Commit: de5e1e5d9166145aec5b1864da19399b4ce956e8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/de5e1e5d9166145aec5b1864da19399b4ce956e8 Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M build.minheadless.cmake/x64/common/configure_variant.sh M build.minheadless.cmake/x86/common/configure_variant.sh M cmake/OpenSSL.cmake M cmake/ThirdPartyDependenciesMacros.cmake Log Message: ----------- I am now setting the OS X SDK with the CMake build scripts. Commit: d5c2abc2e07711199a3916733f92d69cc139633b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d5c2abc2e07711199a3916733f92d69cc139633b Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M CMakeLists.txt M cmake/PluginsSqueak.cmake M cmake/SDL2.cmake M cmake/ThirdPartyDependenciesMacros.cmake M cmake/ThirdPartyDependencyInstallScript.cmake.in M platforms/minheadless/config.h.in Log Message: ----------- I am fixing the 32 bits Linux building. Commit: 37b992b9312da91fc790b3d16d2771daaffca963 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/37b992b9312da91fc790b3d16d2771daaffca963 Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M CMakeLists.txt Log Message: ----------- I added some missing compilation flags. Commit: c7d4e79409f03cee9fb82e0c74e9678b572f2a6d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c7d4e79409f03cee9fb82e0c74e9678b572f2a6d Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M build.minheadless.cmake/x64/common/configure_variant.sh M build.minheadless.cmake/x86/common/configure_variant.sh Log Message: ----------- Match the OS X SDK version that are used by Makefiles scripts. Commit: 216efdeabf7b570e5f1a94f0f6cfde85fd20251f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/216efdeabf7b570e5f1a94f0f6cfde85fd20251f Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M CMakeLists.txt Log Message: ----------- I fixed the warnings settings with the CMake scripts. Commit: 960bf77ca97c8d2c859c186c4f16839f2511c79e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/960bf77ca97c8d2c859c186c4f16839f2511c79e Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M CMakeLists.txt Log Message: ----------- Fixing another bug with the flags. Commit: a2ff966527c521a1035c48d2ffb6921c628c72e0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a2ff966527c521a1035c48d2ffb6921c628c72e0 Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M CMakeLists.txt Log Message: ----------- I am removing more warnings for travis. Commit: 4a3c9ca1ee43161070b33845068dba9afab77be8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4a3c9ca1ee43161070b33845068dba9afab77be8 Author: Fabio Niephaus Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M .travis.yml Log Message: ----------- Upgrade to xcode8.3 See: http://forum.world.st/OSX-Build-broken-past-2-months-could-not-find-a-valid-SDK-td5099288.html Commit: f0a3d13cf19c3d0be16518e3cab91b69c9ad81d8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f0a3d13cf19c3d0be16518e3cab91b69c9ad81d8 Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M .travis.yml M platforms/Cross/vm/sqMemoryAccess.h Log Message: ----------- I commented temporarily the Travis notifications to avoid spamming the vm dev mailing list. I fixed some memory accessors to avoid violating the strict aliasing rule. Commit: 1fb0a6f24356e7b15367e49c1204b301b0485341 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1fb0a6f24356e7b15367e49c1204b301b0485341 Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M cmake/OpenSSL.cmake M cmake/ThirdPartyDependenciesMacros.cmake M scripts/ci/travis_install.sh Log Message: ----------- Redirect the output of the third party build tools to avoid the Travis CI too large log error message. Commit: 1ea057ca915d7af23a61a4b89e8e4da65efc90a4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1ea057ca915d7af23a61a4b89e8e4da65efc90a4 Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M cmake/OpenSSL.cmake M cmake/ThirdPartyDependenciesMacros.cmake M platforms/minheadless/common/sqVirtualMachineInterface.c M scripts/ci/travis_install.sh Log Message: ----------- I improved the third party project login facilities. I added some dummy options that are passed by Smalltalk CI to the minheadless VM. Commit: 50901370e5d8c7ea7c1e9c3bf3e046df62ddab85 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/50901370e5d8c7ea7c1e9c3bf3e046df62ddab85 Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M CMakeLists.txt M cmake/OpenSSL.cmake A cmake/OpenSSL.mac-install.sh.in M cmake/ThirdPartyDependenciesMacros.cmake Log Message: ----------- I fixed the OpenSSL build install script for Mac. Commit: 2e4cf10e6f94f10a425bc2b6c8ff6d1037881635 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2e4cf10e6f94f10a425bc2b6c8ff6d1037881635 Author: Ronie Salgado Date: 2019-05-29 (Wed, 29 May 2019) Changed paths: M cmake/OpenSSL.cmake Log Message: ----------- I fixed the configuration of OpenSSL for 32 bits MacOS X. Commit: 64aa12a6d443a3b6c7c77f4ba15d99f58b881c0b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/64aa12a6d443a3b6c7c77f4ba15d99f58b881c0b Author: Ronie Salgado Date: 2019-05-30 (Thu, 30 May 2019) Changed paths: M .travis.yml M tests/smalltalkCI.sh Log Message: ----------- I am making some more fixes for CI. Commit: 689c999155d63c78e2a79f850e624facb36de85c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/689c999155d63c78e2a79f850e624facb36de85c Author: Ronie Salgado Date: 2019-05-30 (Thu, 30 May 2019) Changed paths: M tests/smalltalkCI.sh Log Message: ----------- I am fixing the previous commit. Commit: b4e09a9f323cea685c5f33602b727e0fadb1f03c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b4e09a9f323cea685c5f33602b727e0fadb1f03c Author: Ronie Salgado Date: 2019-05-30 (Thu, 30 May 2019) Changed paths: M platforms/minheadless/common/sqVirtualMachineInterface.c Log Message: ----------- I did another fixup for Smalltalk CI. Commit: 18327e5974fd71c4aa165775768a4a5002c1e6ba https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/18327e5974fd71c4aa165775768a4a5002c1e6ba Author: Ronie Salgado Date: 2019-05-31 (Fri, 31 May 2019) Changed paths: M CMakeLists.txt M build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin.cmake M build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin.cmake M cmake/Cairo.cmake A cmake/FT2Plugin.cmake A cmake/FixCygwinInstallPermissions.cmake.in A cmake/FixCygwinInstallPermissions.sh.in M cmake/FreeType2.cmake M cmake/LibPNG.cmake M cmake/OpenSSL.cmake M cmake/PkgConfig.cmake M cmake/PluginsCommon.cmake M cmake/PluginsPharo.cmake M cmake/SDL2.cmake M cmake/ThirdPartyDependenciesCommon.cmake M cmake/ThirdPartyDependenciesMacros.cmake M cmake/ThirdPartyDependenciesPharo.cmake A cmake/WindowsRuntimeLibraries.cmake A cmake/Zlib.cmake M platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c M platforms/minheadless/common/sqWindow-Dispatch.c Log Message: ----------- I am making progress on building the windows version of the minheadless vm with cmake. Commit: 5725ac512d5780236240a28920d0bebc699a2ac4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5725ac512d5780236240a28920d0bebc699a2ac4 Author: Ronie Salgado Date: 2019-05-31 (Fri, 31 May 2019) Changed paths: M build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm M build.minheadless.cmake/x64/pharo.cog.spur/mvm M build.minheadless.cmake/x64/pharo.stack.spur/mvm M build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm M build.minheadless.cmake/x64/squeak.cog.spur/mvm M build.minheadless.cmake/x64/squeak.stack.spur/mvm M build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm M build.minheadless.cmake/x86/pharo.cog.spur/mvm M build.minheadless.cmake/x86/pharo.stack.spur/mvm M build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm M build.minheadless.cmake/x86/squeak.cog.spur/mvm M build.minheadless.cmake/x86/squeak.stack.spur/mvm Log Message: ----------- I fixed a minor difference between bash and sh. Commit: ae224ff7946875e3a9bbf73e2a2ed46c038042e2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ae224ff7946875e3a9bbf73e2a2ed46c038042e2 Author: Ronie Salgado Date: 2019-05-31 (Fri, 31 May 2019) Changed paths: M cmake/ThirdPartyDependenciesMacros.cmake Log Message: ----------- I fixed another problem with the win32 changes on linux. Commit: ecc9a84d1b8f1176db897f28a12caebcef56460c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ecc9a84d1b8f1176db897f28a12caebcef56460c Author: Ronie Salgado Date: 2019-06-02 (Sun, 02 Jun 2019) Changed paths: M .appveyor.yml M CMakeLists.txt M build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin.cmake M build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin.cmake M cmake/Cairo.cmake M cmake/LibGit2.cmake M cmake/LibPNG.cmake M cmake/LibSSH2.cmake M cmake/OpenSSL.cmake M cmake/PkgConfig.cmake M cmake/ThirdPartyDependenciesMacros.cmake M cmake/ThirdPartyDependenciesPharo.cmake M cmake/WindowsRuntimeLibraries.cmake Log Message: ----------- I managed to get the remaining dependencies compiling on 32 bits Windows. Commit: f80aebd0db9bb5f03293f339c6cc810dbc4b9ef8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f80aebd0db9bb5f03293f339c6cc810dbc4b9ef8 Author: Ronie Salgado Date: 2019-06-02 (Sun, 02 Jun 2019) Changed paths: M CMakeLists.txt M build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm M build.minheadless.cmake/x64/pharo.cog.spur/mvm M build.minheadless.cmake/x64/pharo.stack.spur/mvm M build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm M build.minheadless.cmake/x64/squeak.cog.spur/mvm M build.minheadless.cmake/x64/squeak.stack.spur/mvm M build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm M build.minheadless.cmake/x86/pharo.cog.spur/mvm M build.minheadless.cmake/x86/pharo.stack.spur/mvm M build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm M build.minheadless.cmake/x86/squeak.cog.spur/mvm M build.minheadless.cmake/x86/squeak.stack.spur/mvm M cmake/ThirdPartyDependenciesMacros.cmake M cmake/WindowsRuntimeLibraries.cmake Log Message: ----------- Merge branch 'feature/minheadless-ci' of github.com:ronsaldo/opensmalltalk-vm into feature/minheadless-ci I am starting to fix the Win64 build with CMake. Commit: f3716d5b9a75b81c25b3ad6ab2e14f16e3f3a531 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f3716d5b9a75b81c25b3ad6ab2e14f16e3f3a531 Author: Ronie Salgado Date: 2019-06-02 (Sun, 02 Jun 2019) Changed paths: M CMakeLists.txt Log Message: ----------- I am fixing some compilation flags for Win64. Commit: 1b1cffe4d28f37f143ec8c831cc27faf86cc9138 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1b1cffe4d28f37f143ec8c831cc27faf86cc9138 Author: Ronie Salgado Date: 2019-06-03 (Mon, 03 Jun 2019) Changed paths: M CMakeLists.txt A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin-clang.cmake A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin-gcc.cmake R build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin.cmake M build.minheadless.cmake/x64/common/configure_variant.sh A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin-clang.cmake A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin-gcc.cmake R build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin.cmake M build.minheadless.cmake/x86/common/configure_variant.sh M cmake/Mpeg3Plugin.cmake M cmake/OpenSSL.cmake M cmake/PluginsMacros.cmake M cmake/ThirdPartyDependenciesMacros.cmake M platforms/Cross/plugins/FloatMathPlugin/isnan.c M platforms/minheadless/config.h.in Log Message: ----------- I managed to get the VM building with CMake working on Win64. Commit: c72761775ac38a6dbd7160aaf4aa206f8b988e77 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c72761775ac38a6dbd7160aaf4aa206f8b988e77 Author: Ronie Salgado Date: 2019-06-04 (Tue, 04 Jun 2019) Changed paths: M .appveyor.yml M CMakeLists.txt M cmake/FixCygwinInstallPermissions.sh.in M deploy/pack-vm.sh Log Message: ----------- I did some small changes for CI. Commit: 1efdd9cd93cd857685b4acab8dc52b830a1248f1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1efdd9cd93cd857685b4acab8dc52b830a1248f1 Author: Ronie Salgado Date: 2019-06-04 (Tue, 04 Jun 2019) Changed paths: M .appveyor.yml Log Message: ----------- Bug fixes. Commit: 90d92ed64e91e27c8a3379990a5ff7c043a11283 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/90d92ed64e91e27c8a3379990a5ff7c043a11283 Author: Ronie Salgado Date: 2019-06-04 (Tue, 04 Jun 2019) Changed paths: M .appveyor.yml Log Message: ----------- Another fix for appveyor. Commit: f5a2d856efa9b79787123b5c0f37a79ecae9b0e4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f5a2d856efa9b79787123b5c0f37a79ecae9b0e4 Author: Ronie Salgado Date: 2019-06-04 (Tue, 04 Jun 2019) Changed paths: M CMakeLists.txt Log Message: ----------- Fixing a build order dependenct Commit: 29774ba7d8eba7386ee9a8ae3293fc54e19399da https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/29774ba7d8eba7386ee9a8ae3293fc54e19399da Author: Ronie Salgado Date: 2019-06-05 (Wed, 05 Jun 2019) Changed paths: M .appveyor.yml M .travis.yml M CMakeLists.txt M cmake/FreeType2.cmake M include/OpenSmalltalkVM.h M platforms/Cross/vm/sqTextEncoding.c M platforms/Cross/vm/sqTextEncoding.h M platforms/minheadless/common/sqPrinting.c M platforms/minheadless/common/sqVirtualMachineInterface.c A platforms/minheadless/windows/resources/Pharo/Pharo.exe.manifest.in A platforms/minheadless/windows/resources/Pharo/Pharo.ico A platforms/minheadless/windows/resources/Pharo/Pharo.rc.in A platforms/minheadless/windows/resources/Squeak/GreenCogSqueak.ico A platforms/minheadless/windows/resources/Squeak/Squeak.exe.manifest.in A platforms/minheadless/windows/resources/Squeak/Squeak.rc.in A platforms/minheadless/windows/resources/Squeak/squeak2.ico A platforms/minheadless/windows/resources/Squeak/squeak3.ico M platforms/minheadless/windows/sqWin32Main.c Log Message: ----------- I added the missing resources to the Win32 version of the minheadless VM. I added an open file dialog for image selection to the minheadless non-console Win32 VM. Commit: fdb547b9cc07114fb3563f74a3e2163c460d13a7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fdb547b9cc07114fb3563f74a3e2163c460d13a7 Author: Ronie Salgado Date: 2019-06-06 (Thu, 06 Jun 2019) Changed paths: M cmake/LibGit2.cmake M cmake/ThirdPartyDependenciesMacros.cmake M include/OpenSmalltalkVM.h A platforms/minheadless/common/sqGnu.h Log Message: ----------- I am adding a missing file to the minheadless VM. I am fixing some compilation bugs. Commit: f5f4f2b5dc34d3e4a423dd6538694db40d7bf95c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f5f4f2b5dc34d3e4a423dd6538694db40d7bf95c Author: Ronie Salgado Date: 2019-06-06 (Thu, 06 Jun 2019) Changed paths: M cmake/ThirdPartyDependenciesMacros.cmake Log Message: ----------- Keep silencing the thirdparty build logs for travis. Commit: 52dc523abe1ce7a1244d92a1b1008234c5ac2abf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/52dc523abe1ce7a1244d92a1b1008234c5ac2abf Author: Ronie Salgado Date: 2019-06-06 (Thu, 06 Jun 2019) Changed paths: M cmake/LibGit2.cmake M cmake/OpenSSL.cmake M cmake/PluginsCommon.cmake M cmake/ThirdPartyDependenciesMacros.cmake M cmake/Zlib.cmake Log Message: ----------- I am doing some fixes for CI. Commit: e9acbb185f4824b2e6baa00eb0e6e3d4026f8ff2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e9acbb185f4824b2e6baa00eb0e6e3d4026f8ff2 Author: Ronie Salgado Date: 2019-06-06 (Thu, 06 Jun 2019) Changed paths: M cmake/FreeType2.cmake Log Message: ----------- Some more fixes for CI. Commit: 940999b6de8536bf42816b8e546cf12e57d03048 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/940999b6de8536bf42816b8e546cf12e57d03048 Author: Ronie Salgado Date: 2019-06-06 (Thu, 06 Jun 2019) Changed paths: M cmake/Cairo.cmake Log Message: ----------- Another fix for CI. Commit: a661f1f2cbecac31746feb5981419fdb07f1d516 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a661f1f2cbecac31746feb5981419fdb07f1d516 Author: Ronie Salgado Date: 2019-06-07 (Fri, 07 Jun 2019) Changed paths: M .travis.yml Log Message: ----------- Travis yml fixup. Commit: 7bd8042765f56f0cea82f4ec5fecc62e24922b9d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7bd8042765f56f0cea82f4ec5fecc62e24922b9d Author: Ronie Salgado Date: 2019-06-08 (Sat, 08 Jun 2019) Changed paths: M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile Log Message: ----------- Always link the required dependencies for B3DAcceleratorPlugin. (#399) Commit: 267fe45484a6336d42db0c3052ffe8060b7e800d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/267fe45484a6336d42db0c3052ffe8060b7e800d Author: Ronie Salgado Date: 2019-06-08 (Sat, 08 Jun 2019) Changed paths: M deploy/pack-vm.sh Log Message: ----------- Add missing command now required for code signing in travis. (#398) See https://docs.travis-ci.com/user/common-build-problems/#mac-macos-sierra-1012-code-signing-errors Commit: 8de71483aaeb7975cc3f59ef136aa3b11b6c0066 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8de71483aaeb7975cc3f59ef136aa3b11b6c0066 Author: Nicolas Cellier Date: 2019-06-11 (Tue, 11 Jun 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Print the keysym, not its address [skip ci] No use to build, this code is inside `#ifdef DEBUG_KEYBOARD_EVENTS` Commit: adba21b3ddd8d5f7679543282181432a96a51d22 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/adba21b3ddd8d5f7679543282181432a96a51d22 Author: Ronie Salgado Date: 2019-06-12 (Wed, 12 Jun 2019) Changed paths: M include/OpenSmalltalkVM.h M platforms/Cross/vm/sqPath.c M platforms/minheadless/common/sqVirtualMachineInterface.c M platforms/minheadless/mac/sqMain.m M platforms/minheadless/windows/sqWin32Directory.c M platforms/minheadless/windows/sqWin32Main.c Log Message: ----------- I improved the automatic image search of the minheadless VM. Commit: 0417470eb2bc35d457d27df24e44f81e19353a94 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0417470eb2bc35d457d27df24e44f81e19353a94 Author: Ronie Salgado Date: 2019-06-12 (Wed, 12 Jun 2019) Changed paths: M deploy/pack-vm.sh M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile M platforms/unix/plugins/SerialPlugin/sqUnixSerial.c M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Merge branch 'Cog' into feature/minheadless-ci Commit: 79347d1d03180bc0556bac27098e905150252159 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/79347d1d03180bc0556bac27098e905150252159 Author: Ronie Salgado Date: 2019-06-12 (Wed, 12 Jun 2019) Changed paths: M platforms/minheadless/common/sqVirtualMachineInterface.c Log Message: ----------- I fixed the automatic image sarch in OS X. Commit: 3adfbed717a6f9e708c94d07e88d5147f68c737c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3adfbed717a6f9e708c94d07e88d5147f68c737c Author: Ronie Salgado Date: 2019-06-12 (Wed, 12 Jun 2019) Changed paths: M platforms/Cross/vm/sqPath.c M platforms/minheadless/common/sqVirtualMachineInterface.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/minheadless/windows/sqWin32Directory.c Log Message: ----------- I fixed the automatic image search mechanism on Windows. Commit: 053609bb76aa2ece668c6025361d519762158152 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/053609bb76aa2ece668c6025361d519762158152 Author: Ronie Salgado Date: 2019-06-12 (Wed, 12 Jun 2019) Changed paths: M .appveyor.yml M .travis.yml Log Message: ----------- I am restoring the Travis and AppVeyor yml files. Commit: a7177eddb69a111449968a4a363a5ab54d13a247 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a7177eddb69a111449968a4a363a5ab54d13a247 Author: Ronie Salgado Date: 2019-06-12 (Wed, 12 Jun 2019) Changed paths: M platforms/minheadless/common/sqVirtualMachineInterface.c Log Message: ----------- I fixed the extra plugin search path on the minheadless. Commit: 4e34e8a9298241fddc36ff7780189b94597e73ea https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4e34e8a9298241fddc36ff7780189b94597e73ea Author: Nicolas Cellier Date: 2019-06-12 (Wed, 12 Jun 2019) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Do not convert keyboard event charCode to mac-roman encoding Image do not use such mac-roman encoding for ages. On the contrary, images have to undo this translation by sending `macToSqueak` here and there which makes no sense. We do not need this opensmalltalk VM to be compatible with 15-years old images. Let's clean-up. Commit: 557c3bbb50e89e908d845a0b3bc272a3fef2b5fb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/557c3bbb50e89e908d845a0b3bc272a3fef2b5fb Author: Nicolas Cellier Date: 2019-06-13 (Thu, 13 Jun 2019) Changed paths: M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Fixup: SetupKeymap was removed, don't forget to remove the calls to it! Commit: a85579a1f7f86bbb6ba95cdfeeed609e2dec2630 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a85579a1f7f86bbb6ba95cdfeeed609e2dec2630 Author: Eliot Miranda Date: 2019-06-12 (Wed, 12 Jun 2019) Changed paths: M nsspursrc/vm/cogit.c M spursistasrc/vm/cogit.c M spursrc/vm/cogit.c M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c M src/vm/cogit.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2535 Add the processor-identifying predefined macros used by Microsoft Visual C++ 2017 Community Edition to identify ARM (32 & 64-bit) and IA32 processors for the cogit and FFI wrapper files. Commit: f8bab0a65682bf9bfbc05d873fc030ab13fe2634 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f8bab0a65682bf9bfbc05d873fc030ab13fe2634 Author: Eliot Miranda Date: 2019-06-12 (Wed, 12 Jun 2019) Changed paths: M image/getGoodSpur64VM.sh Log Message: ----------- Add a hack to allow specifying args to the VM script in omage (this for the requirement to specify the graphics system used on Macs; temporary we hope). [ci skip] Commit: 8e0fb11e1c051ed520b270902822d627b4bfdf4a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8e0fb11e1c051ed520b270902822d627b4bfdf4a Author: Tim Johnson <2293335+tcj at users.noreply.github.com> Date: 2019-06-13 (Thu, 13 Jun 2019) Changed paths: M build.linux32ARMv6/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv6/newspeak.cog.spur/build/mvm M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv6/newspeak.stack.spur/build/mvm M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm M build.linux32ARMv6/pharo.cog.spur/build/mvm M build.linux32ARMv6/squeak.cog.spur/build.assert/mvm M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm M build.linux32ARMv6/squeak.cog.spur/build/mvm M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm M build.linux32ARMv6/squeak.stack.spur/build/mvm M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm M build.linux32ARMv6/squeak.stack.v3/build/mvm M build.linux32ARMv7/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv7/newspeak.cog.spur/build/mvm M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv7/newspeak.stack.spur/build/mvm M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.assert/mvm M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.debug/mvm M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build/mvm M build.linux32x86/newspeak.stack.spur/build.assert/mvm M build.linux32x86/newspeak.stack.spur/build.debug/mvm M build.linux32x86/newspeak.stack.spur/build/mvm M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.assert/mvm M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.debug/mvm M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.assert/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build/mvm M build.linux32x86/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.assert/mvm M build.linux32x86/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.debug/mvm M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build/mvm M build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.assert/mvm M build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.debug/mvm M build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build/mvm M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm M build.linux32x86/squeak.cog.spur.immutability/build/mvm M build.linux32x86/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.assert/mvm M build.linux32x86/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.debug/mvm M build.linux32x86/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build/mvm M build.linux32x86/squeak.cog.v3/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.assert/mvm M build.linux32x86/squeak.cog.v3/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.debug/mvm M build.linux32x86/squeak.cog.v3/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.assert/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.debug/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded/mvm M build.linux32x86/squeak.cog.v3/build/mvm M build.linux32x86/squeak.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.assert/mvm M build.linux32x86/squeak.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.debug/mvm M build.linux32x86/squeak.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build/mvm M build.linux32x86/squeak.stack.spur/build.assert/mvm M build.linux32x86/squeak.stack.spur/build.debug/mvm M build.linux32x86/squeak.stack.spur/build/mvm M build.linux32x86/squeak.stack.v3/build.assert/mvm M build.linux32x86/squeak.stack.v3/build.debug/mvm M build.linux32x86/squeak.stack.v3/build/mvm M build.linux64ARMv8/pharo.cog.spur/build/mvm M build.linux64ARMv8/pharo.stack.spur/build.debug/mvm M build.linux64ARMv8/pharo.stack.spur/build/mvm M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.assert/mvm M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.debug/mvm M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build/mvm M build.linux64x64/newspeak.stack.spur/build.assert/mvm M build.linux64x64/newspeak.stack.spur/build.debug/mvm M build.linux64x64/newspeak.stack.spur/build/mvm M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.assert/mvm M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.debug/mvm M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build/mvm M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm M build.linux64x64/squeak.cog.spur.immutability/build/mvm M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.assert/mvm M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.debug/mvm M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build/mvm M build.linux64x64/squeak.stack.spur/build.assert/mvm M build.linux64x64/squeak.stack.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build/mvm Log Message: ----------- fix issue #405: path to checkSCCSversion was wrong in linux mvm scripts Commit: 0395fd643b4f99d1b3682e63a8e343b33bafe647 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0395fd643b4f99d1b3682e63a8e343b33bafe647 Author: Eliot Miranda Date: 2019-06-21 (Fri, 21 Jun 2019) Changed paths: R platforms/win32/plugins/CroquetPlugin/Makefile.msvc R platforms/win32/plugins/FloatMathPlugin/Makefile.msvc R platforms/win32/plugins/Mpeg3Plugin/Makefile.msvc R platforms/win32/plugins/Win32OSProcessPlugin/Makefile.msvc Log Message: ----------- Nuke obsolete (but elsewhere being revived) MSVC plugin makefiles Commit: f6761a4e82194984ef3ab47e104d2f84c44f31fd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6761a4e82194984ef3ab47e104d2f84c44f31fd Author: Ronie Salgado Date: 2019-06-23 (Sun, 23 Jun 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Always call XInitThreads, not only on the Pharo VM. Otherwise, a segmentation fault on quit time is produced when using third party libraries such as Vulkan drivers that depend on it. Commit: bad6acf2307638fa58f797be16d7f52233c594bf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bad6acf2307638fa58f797be16d7f52233c594bf Author: Ronie Salgado Date: 2019-06-26 (Wed, 26 Jun 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m Log Message: ----------- Fix display corruption when using the Metal backend on a Mac with Retina Display. Commit: e32e6ad297ff6d345c7f7489cebd4427780fefde https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e32e6ad297ff6d345c7f7489cebd4427780fefde Author: Eliot Miranda Date: 2019-06-26 (Wed, 26 Jun 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m Log Message: ----------- Merge pull request #410 from ronsaldo/bug/metal-retina-display-corruption Fix display corruption when using the Metal backend Commit: 8cdb8577f1a3c6107bc1e3b9f33294348e4a1acc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8cdb8577f1a3c6107bc1e3b9f33294348e4a1acc Author: Eliot Miranda Date: 2019-06-26 (Wed, 26 Jun 2019) Changed paths: M build.linux32ARMv6/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv6/newspeak.cog.spur/build/mvm M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv6/newspeak.stack.spur/build/mvm M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm M build.linux32ARMv6/pharo.cog.spur/build/mvm M build.linux32ARMv6/squeak.cog.spur/build.assert/mvm M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm M build.linux32ARMv6/squeak.cog.spur/build/mvm M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm M build.linux32ARMv6/squeak.stack.spur/build/mvm M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm M build.linux32ARMv6/squeak.stack.v3/build/mvm M build.linux32ARMv7/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv7/newspeak.cog.spur/build/mvm M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv7/newspeak.stack.spur/build/mvm M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.assert/mvm M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.debug/mvm M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build/mvm M build.linux32x86/newspeak.stack.spur/build.assert/mvm M build.linux32x86/newspeak.stack.spur/build.debug/mvm M build.linux32x86/newspeak.stack.spur/build/mvm M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.assert/mvm M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.debug/mvm M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.assert/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build/mvm M build.linux32x86/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.assert/mvm M build.linux32x86/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.debug/mvm M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build/mvm M build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.assert/mvm M build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.debug/mvm M build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build/mvm M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm M build.linux32x86/squeak.cog.spur.immutability/build/mvm M build.linux32x86/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.assert/mvm M build.linux32x86/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.debug/mvm M build.linux32x86/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build/mvm M build.linux32x86/squeak.cog.v3/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.assert/mvm M build.linux32x86/squeak.cog.v3/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.debug/mvm M build.linux32x86/squeak.cog.v3/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.assert/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.debug/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded/mvm M build.linux32x86/squeak.cog.v3/build/mvm M build.linux32x86/squeak.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.assert/mvm M build.linux32x86/squeak.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.debug/mvm M build.linux32x86/squeak.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build/mvm M build.linux32x86/squeak.stack.spur/build.assert/mvm M build.linux32x86/squeak.stack.spur/build.debug/mvm M build.linux32x86/squeak.stack.spur/build/mvm M build.linux32x86/squeak.stack.v3/build.assert/mvm M build.linux32x86/squeak.stack.v3/build.debug/mvm M build.linux32x86/squeak.stack.v3/build/mvm M build.linux64ARMv8/pharo.cog.spur/build/mvm M build.linux64ARMv8/pharo.stack.spur/build.debug/mvm M build.linux64ARMv8/pharo.stack.spur/build/mvm M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.assert/mvm M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.debug/mvm M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build/mvm M build.linux64x64/newspeak.stack.spur/build.assert/mvm M build.linux64x64/newspeak.stack.spur/build.debug/mvm M build.linux64x64/newspeak.stack.spur/build/mvm M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.assert/mvm M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.debug/mvm M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build/mvm M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm M build.linux64x64/squeak.cog.spur.immutability/build/mvm M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.assert/mvm M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.debug/mvm M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build/mvm M build.linux64x64/squeak.stack.spur/build.assert/mvm M build.linux64x64/squeak.stack.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build/mvm Log Message: ----------- Merge pull request #406 from tcj/fix-405-checkSCCS-path-in-linux-mvm-scripts fix issue #405: path to checkSCCSversion was wrong in linux mvm scripts Commit: 6211bbe34e1f98824e2108db9429e37bfb035da1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6211bbe34e1f98824e2108db9429e37bfb035da1 Author: Eliot Miranda Date: 2019-06-26 (Wed, 26 Jun 2019) Changed paths: M .appveyor.yml M .travis.yml M CMakeLists.txt A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin-clang.cmake A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin-gcc.cmake R build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin.cmake M build.minheadless.cmake/x64/common/configure_variant.sh A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/Makefile A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x64/pharo.cog.spur/Makefile M build.minheadless.cmake/x64/pharo.cog.spur/mvm M build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/pharo.stack.spur/Makefile M build.minheadless.cmake/x64/pharo.stack.spur/mvm M build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/Makefile A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x64/squeak.cog.spur/Makefile M build.minheadless.cmake/x64/squeak.cog.spur/mvm M build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x64/squeak.stack.spur/Makefile M build.minheadless.cmake/x64/squeak.stack.spur/mvm M build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin-clang.cmake A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin-gcc.cmake R build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin.cmake M build.minheadless.cmake/x86/common/configure_variant.sh A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/Makefile A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x86/pharo.cog.spur/Makefile M build.minheadless.cmake/x86/pharo.cog.spur/mvm M build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/pharo.stack.spur/Makefile M build.minheadless.cmake/x86/pharo.stack.spur/mvm M build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/Makefile A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm_configure_variant M build.minheadless.cmake/x86/squeak.cog.spur/Makefile M build.minheadless.cmake/x86/squeak.cog.spur/mvm M build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure_variant M build.minheadless.cmake/x86/squeak.stack.spur/Makefile M build.minheadless.cmake/x86/squeak.stack.spur/mvm M build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure_variant A cmake/Cairo.cmake A cmake/CompleteBundle.cmake.in A cmake/CreateBundle.sh.in A cmake/FT2Plugin.cmake A cmake/FixCygwinInstallPermissions.cmake.in A cmake/FixCygwinInstallPermissions.sh.in A cmake/FreeType2.cmake A cmake/LibGit2.cmake A cmake/LibPNG.cmake A cmake/LibSSH2.cmake M cmake/Mpeg3Plugin.cmake A cmake/OpenSSL.cmake A cmake/OpenSSL.mac-install.sh.in A cmake/Pixman.cmake A cmake/PkgConfig.cmake M cmake/Plugins.cmake A cmake/PluginsCommon.cmake A cmake/PluginsMacros.cmake M cmake/PluginsPharo.cmake A cmake/PluginsSqueak.cmake A cmake/SDL2.cmake A cmake/ThirdPartyDependencies.cmake A cmake/ThirdPartyDependenciesCommon.cmake A cmake/ThirdPartyDependenciesMacros.cmake A cmake/ThirdPartyDependenciesPharo.cmake A cmake/ThirdPartyDependenciesSqueak.cmake A cmake/ThirdPartyDependencyInstallScript.cmake.in A cmake/WindowsRuntimeLibraries.cmake A cmake/Zlib.cmake M deploy/pack-vm.sh M include/OpenSmalltalkVM.h M platforms/Cross/plugins/FloatMathPlugin/isnan.c M platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c M platforms/Cross/vm/sqMemoryAccess.h M platforms/Cross/vm/sqPath.c M platforms/Cross/vm/sqTextEncoding.c M platforms/Cross/vm/sqTextEncoding.h A platforms/minheadless/common/sqGnu.h M platforms/minheadless/common/sqPrinting.c M platforms/minheadless/common/sqVirtualMachineInterface.c M platforms/minheadless/common/sqWindow-Dispatch.c M platforms/minheadless/config.h.in A platforms/minheadless/mac/sqMain.m M platforms/minheadless/sdl2-window/sqWindow-SDL2.c A platforms/minheadless/startup.sh.in A platforms/minheadless/windows/resources/Pharo/Pharo.exe.manifest.in A platforms/minheadless/windows/resources/Pharo/Pharo.ico A platforms/minheadless/windows/resources/Pharo/Pharo.rc.in A platforms/minheadless/windows/resources/Squeak/GreenCogSqueak.ico A platforms/minheadless/windows/resources/Squeak/Squeak.exe.manifest.in A platforms/minheadless/windows/resources/Squeak/Squeak.rc.in A platforms/minheadless/windows/resources/Squeak/squeak2.ico A platforms/minheadless/windows/resources/Squeak/squeak3.ico M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/minheadless/windows/sqWin32Directory.c M platforms/minheadless/windows/sqWin32Main.c M scripts/ci/travis_build.sh M tests/smalltalkCI.sh A third-party/pixman.clang.patch Log Message: ----------- Merge pull request #404 from ronsaldo/feature/minheadless-ci Fix the minheadless VM for CI Commit: 40c03900d2483032a6e8f0844169c11e0bb58842 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/40c03900d2483032a6e8f0844169c11e0bb58842 Author: Eliot Miranda Date: 2019-06-26 (Wed, 26 Jun 2019) Changed paths: M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #403 from OpenSmalltalk/Nuke_conversion_of_keyValue_to_MacRoman_on_win32 Do not convert keyboard event charCode to mac-roman encoding Commit: 9a881a3b51792846b581c369c142514f1e88db04 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9a881a3b51792846b581c369c142514f1e88db04 Author: Eliot Miranda Date: 2019-06-26 (Wed, 26 Jun 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Merge pull request #393 from zecke/fix-cli-option cli: pollpip consumes an argument, document it Commit: d46b3bdc153849fa52e7cfdb7e2314cfabc2c535 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d46b3bdc153849fa52e7cfdb7e2314cfabc2c535 Author: Ronie Salgado Date: 2019-06-26 (Wed, 26 Jun 2019) Changed paths: M deploy/pack-vm.sh Log Message: ----------- Tag the minheadless builds with CMake with a suffix instead of a prefis. I just noticed that the bintray deployment script have the following regex: {"includePattern": "../products/((newspeak|pharo|squeak).*\\.(?:gz|zip|dmg))", "uploadPattern": "$1"} I prefer adding a -cmake-minhdls suffix instead of messing with a potentially dangerous regex. Commit: 1feda0291023aa06bb953ed065f684bc506d6a64 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1feda0291023aa06bb953ed065f684bc506d6a64 Author: Eliot Miranda Date: 2019-06-27 (Thu, 27 Jun 2019) Changed paths: M deploy/pack-vm.sh Log Message: ----------- Merge pull request #411 from ronsaldo/bug/minheadless-ci-deploy Tag the minheadless builds with CMake with a suffix instead of a prefix. Commit: 3f544c0e19d6fd391811f9c79cd232288898617b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3f544c0e19d6fd391811f9c79cd232288898617b Author: johnmci Date: 2019-06-27 (Thu, 27 Jun 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Merge pull request #373 from maenu/leak fix event memory leak Commit: e06f0f83323e87a82d8cb2a8fcbc22cedf3c29f8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e06f0f83323e87a82d8cb2a8fcbc22cedf3c29f8 Author: Eliot Miranda Date: 2019-07-01 (Mon, 01 Jul 2019) Changed paths: M platforms/Cross/plugins/SerialPlugin/SerialPlugin.h Log Message: ----------- Fix SerialPlugin.h to agree with the EXPORT specs in sqNullSerialPort.c Commit: 7cf9e172ae4a06c41aacffc4b74a6c2464e32984 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7cf9e172ae4a06c41aacffc4b74a6c2464e32984 Author: Eliot Miranda Date: 2019-07-01 (Mon, 01 Jul 2019) Changed paths: M platforms/win32/plugins/SerialPlugin/sqWin32SerialPort.c Log Message: ----------- Make sure sqWin32SerialPort.c has EXPORT specs that match SerialPort.h so it can compile under MSVC. Commit: dfc027c402a41d8aafd7dfb62a851ebaafc76957 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dfc027c402a41d8aafd7dfb62a851ebaafc76957 Author: Eliot Miranda Date: 2019-07-03 (Wed, 03 Jul 2019) Changed paths: A scripts/extract_plugins Log Message: ----------- Add script to extract the operative names from plugins.ext/.int files. [ci skip] Commit: 83333fca63b3e21807e6ef8f75f872aa9690bfcd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/83333fca63b3e21807e6ef8f75f872aa9690bfcd Author: Eliot Miranda Date: 2019-07-03 (Wed, 03 Jul 2019) Changed paths: M scripts/extract_plugins Log Message: ----------- Oops. [ci skip] Commit: 0c809e1d1ce4888abfafff229e7d864c1eefa8a1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0c809e1d1ce4888abfafff229e7d864c1eefa8a1 Author: Eliot Miranda Date: 2019-07-03 (Wed, 03 Jul 2019) Changed paths: M platforms/Cross/plugins/SerialPlugin/SerialPlugin.h M platforms/win32/plugins/SerialPlugin/sqWin32SerialPort.c Log Message: ----------- Get the declarations in SerialPlugin.h right. They should be simple externs. Use success through the interpreterProxy in sqWin32SerialPort.c Commit: 1ea727fe2e81cee8415abb383d225ae292512eed https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1ea727fe2e81cee8415abb383d225ae292512eed Author: Eliot Miranda Date: 2019-07-11 (Thu, 11 Jul 2019) Changed paths: M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.ext M platforms/iOS/vm/OSX/Squeak-Info.plist Log Message: ----------- Include the CameraPlugin in the 64-bit Squeak VM; it works (thanks Yoshiki!). Add the relevant permissions keys to Squeak's info.plist to request permission to use the camera and microphone. See e.g. https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture/requesting_authorization_for_media_capture_on_macos Commit: 4b38b529d96694d7b44c71a51ad814d4aa9e7a2c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4b38b529d96694d7b44c71a51ad814d4aa9e7a2c Author: agrosso Date: 2019-07-14 (Sun, 14 Jul 2019) Changed paths: M image/envvars.sh Log Message: ----------- Added missing CPU variable initialization The CPU variable wasn't initialized in /usr/bin/uname case. Commit: 860fde5497c0d27c160939a15ef2d1d94433472c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/860fde5497c0d27c160939a15ef2d1d94433472c Author: agrosso Date: 2019-07-14 (Sun, 14 Jul 2019) Changed paths: M image/buildspurtrunkreader64image.sh Log Message: ----------- Fixed bad script call Commit: 31a8d08b46e04357838d2f1c2b4c3dc5335f90c1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/31a8d08b46e04357838d2f1c2b4c3dc5335f90c1 Author: Eliot Miranda Date: 2019-07-19 (Fri, 19 Jul 2019) Changed paths: M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Provide a main entry point for the win32 console VM when compiled using MSVC (which unlike Mingw does not synthesize a main routine). Fix a formatting snafu in sqWin32HostWindowPlugin.c. Commit: 3918aa9fac1a570f41713a1768ae9589b7d9f5a8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3918aa9fac1a570f41713a1768ae9589b7d9f5a8 Author: Eliot Miranda Date: 2019-07-19 (Fri, 19 Jul 2019) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/interp.h M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursista64src/vm/interp.h M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursistasrc/vm/interp.h M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/interp.h M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M src/vm/interp.h Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2536 Have primitiveNextObject fail in Spur. DTL's recent Kernel changes are good, but it's still preferrable for the primtiive to check since performance isn't an issue in Spur (we use allObjects). Have the code generator eliminate redundant assignments (aVar = aVar) which tend to be generated from Smalltalk idioms where a variable is assigned from a method taking it as a parameter that in some circumstances is a noop, e.g. assignment to latestContinuation from maybeDealWithUnsafeJumpForDescriptor:pc:latestContinuation:. This to reduce C compiler warnings. Commit: 3ebd20748bb91834d8cefd54665db58b4ff0824c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3ebd20748bb91834d8cefd54665db58b4ff0824c Author: Eliot Miranda Date: 2019-07-19 (Fri, 19 Jul 2019) Changed paths: M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.vm M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.plugin M build.macos64x64/common/Makefile.vm M build.win32x86/common/Makefile M build.win32x86/common/Makefile.plugin M build.win64x64/common/Makefile M build.win64x64/common/Makefile.plugin Log Message: ----------- Use $(info ...) instead of @echo ... for printing settings in Makefiles. It is far more direct. [ci skip] Commit: 478f654645a5500b64d85b0aa6e3bd77ac4e65c9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/478f654645a5500b64d85b0aa6e3bd77ac4e65c9 Author: Eliot Miranda Date: 2019-07-24 (Wed, 24 Jul 2019) Changed paths: M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcode64src/vm/interp.h M spurlowcodesrc/vm/cogit.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/interp.h M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestack64src/vm/interp.h M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spurlowcodestacksrc/vm/interp.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/interp.h M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/interp.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M stacksrc/vm/interp.h Log Message: ----------- CogVm source as per VMMaker.oscog-eem.2537 Bite the bullet and embrace methodReturnString:. Better this is well implemented once in the interpreter than potentially badly implemented many times in plugins. Check the C string argument for null to avoid passing null to strlen, which can crash. Commit: a1ed45f3102e99d94170fa2a25df5d7d3bba3d60 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a1ed45f3102e99d94170fa2a25df5d7d3bba3d60 Author: Eliot Miranda Date: 2019-07-30 (Tue, 30 Jul 2019) Changed paths: M build.win32x86/common/Makefile.tools M build.win64x64/common/Makefile.tools M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/header.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/mpeg3audio.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/bitstream.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3atrack.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3private.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3protos.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3vtrack.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/getpicture.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/headers.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/macroblocks.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/motion.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3video.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3videoprotos.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/output.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/reconstruct.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/seek.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/slice.h M platforms/iOS/vm/OSX/sqPlatformSpecific.h M platforms/iOS/vm/iPhone/sqPlatformSpecific.h Log Message: ----------- Define SQUEAK_BUILTIN_PLUGIN in the right place so that Makefile.tools can be included by plugin Makefiles. Reduce the number of implciit declarations and compiler warnings in the mpeg3 support source. Still a few more to be done, but this shows the way. Commit: 4e5d4c4e5ecb65a7fd24a63e64e209250bcd4ee0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4e5d4c4e5ecb65a7fd24a63e64e209250bcd4ee0 Author: Tobias Pape Date: 2019-08-07 (Wed, 07 Aug 2019) Changed paths: M platforms/unix/plugins/SerialPlugin/Makefile.inc Log Message: ----------- Fix Line ending in make file OpenBSD make chokes otherwise [step for #413] Commit: f9eb3d2efe58a331361cbc7c10b8bf12faa8e375 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f9eb3d2efe58a331361cbc7c10b8bf12faa8e375 Author: Eliot Miranda Date: 2019-08-07 (Wed, 07 Aug 2019) Changed paths: M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/layer1.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/layer3.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/mpeg3audio.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/pcm.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/bitstream.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/libmpeg3.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3atrack.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3atrack.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3demux.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3protos.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3title.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3vtrack.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3vtrack.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/getpicture.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/headers.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3video.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3videoprotos.h Log Message: ----------- Eliminate all remaining implicit declaration errors in the libmpeg code. Fix a format and all "control reaches end of non-void function" warnings. Leaves a few minor ones (unused variables, parentehses missing around expressions, etc). Commit: 1baf48dcd9936d02a135012f876f6fc0597e8947 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1baf48dcd9936d02a135012f876f6fc0597e8947 Author: Eliot Miranda Date: 2019-08-07 (Wed, 07 Aug 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/xabicc.c Log Message: ----------- Add _M_IX86 define to IA32ABI/xabicc.c to permit compilation with MSVC 14 et al. [ci skip] Commit: 38bfced2e9b4943fefe96278b86caa69ffda5803 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/38bfced2e9b4943fefe96278b86caa69ffda5803 Author: Eliot Miranda Date: 2019-08-07 (Wed, 07 Aug 2019) Changed paths: M platforms/Cross/plugins/IA32ABI/ia32abicc.c Log Message: ----------- Oops; same is needed for the workhorse. [ci skip] Commit: da2e958e13a75f0d6d51958cb5e8391ae75eb271 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/da2e958e13a75f0d6d51958cb5e8391ae75eb271 Author: Nicolas Cellier Date: 2019-08-20 (Tue, 20 Aug 2019) Changed paths: M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c Log Message: ----------- Fix issue #415 `SmallInteger minVal / -1` was not correctly jitted Fix by using Spur64 code from VMMaker.oscog-nice.2537 uuid: f5d48af0-8ca1-a448-9fcd-c05c9ba540e4 Note that the VMMaker code will have to be merged with VMMaker.oscog-eem.2537 uuid: 0518f049-7c3c-4dfa-8e2d-04e2cf2eee40 This is not an emergency since both commits do not change same generated files Commit: 80d6091d1e73599ca2e6feedd99642deb7bd00bc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/80d6091d1e73599ca2e6feedd99642deb7bd00bc Author: Nicolas Cellier Date: 2019-08-20 (Tue, 20 Aug 2019) Changed paths: M image/buildspurtrunkreader64image.sh M image/envvars.sh Log Message: ----------- Merge pull request #412 from aletg/Creation-Script-Fixes [ci skip] Creation script fixes Commit: e839adea0f2a8e2c8e04706b24283c996aeff1ae https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e839adea0f2a8e2c8e04706b24283c996aeff1ae Author: Nicolas Cellier Date: 2019-08-22 (Thu, 22 Aug 2019) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/interp.h M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c Log Message: ----------- Fix issue #417 Note that mixed arithmetic operations involving Integer >= (2^52) will no longer fail the primitives in Spur64 The new mechanism does handle all the exact mixed arithmetic comparisons primitively, regaining some speed in those cases. Also 5 = 5.0 is now handled primitively and quite boosted (it was only for boxed float). Commit: 20a361a0f8d434a8bb71db69ff3d06a63f839ace https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/20a361a0f8d434a8bb71db69ff3d06a63f839ace Author: Nicolas Cellier Date: 2019-08-22 (Thu, 22 Aug 2019) Changed paths: M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerpmt.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c Log Message: ----------- Forgot to generate code for MT variant (64bits only) Code is generated from source VMMaker.oscog-nice.2541 Commit: 75f466efe6bb05b85f75cba327626f7267713158 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/75f466efe6bb05b85f75cba327626f7267713158 Author: Ronie Salgado Date: 2019-08-22 (Thu, 22 Aug 2019) Changed paths: M cmake/PluginsCommon.cmake Log Message: ----------- I fixed a mistake in the compilation of the SqueakSSL plugin in the minheadless VM for Mac. Commit: 23c3d109be15eacd53d11b04c071267d2b1529a5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/23c3d109be15eacd53d11b04c071267d2b1529a5 Author: Ronie Salgado Date: 2019-08-22 (Thu, 22 Aug 2019) Changed paths: M cmake/PluginsCommon.cmake Log Message: ----------- On the minheadless VM that is built using cmake, the add_vm_plugin_sources cmake macro requires specifying the the plugin sources explicitly, which is omitting the src/plugins/SqueakSSL/SqueakSSL.c in the compilation of the plugin. By using the other macro (add_vm_plugin_auto), the platform specific files are automatically found with a glob pattern. This is a mistake that I introduced myself. This problem can be reproduced in Pharo using the minheadless vm of this repository on OS X with the following script: ```smalltalk url := 'https://google.com' asZnUrl. ZnClient new url: url; get; response ``` In the case of the minheadless VM for OS X, we are treating the VM as it were an unix since we are removing all of the platform specific windowing code in this VM variant. For this reason, in the cases where OS X is different than another unix, the plugin code has to be added manually. Commit: 4067ad97dd0a0ea031b85918c2ca04594cf3d7e3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4067ad97dd0a0ea031b85918c2ca04594cf3d7e3 Author: Nicolas Cellier Date: 2019-08-31 (Sat, 31 Aug 2019) Changed paths: M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.vm A platforms/iOS/plugins/B3DAcceleratorPlugin32/Makefile A platforms/iOS/plugins/B3DAcceleratorPlugin32/sqMacOpenGL.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/sqMacOpenGL.m A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGL.c A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGL.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGLInfo.c A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacUIConstants.h Log Message: ----------- hack to restore B3DAcceleratorPlugin on macos32x86 This is a temporary hack because MacOS32 is going away soon anyway It restore the files from 5a38b3483dc5c82c7ecc85a590fdf1b095377a1f in platforms/iOS/plugins/B3DAcceleratorPlugin32 and hack the build.macos32x86 makefiles to use that Commit: 4a3b1d457f4235898f1c43705a0e3222e8420960 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4a3b1d457f4235898f1c43705a0e3222e8420960 Author: Nicolas Cellier Date: 2019-08-31 (Sat, 31 Aug 2019) Changed paths: M cmake/PluginsCommon.cmake Log Message: ----------- Merge pull request #419 from ronsaldo/bug/fix-minheadless-squeakssl-mac-build Minheadless SqueakSSL plugin compilation bug fix Notes from ronsaldo: On the minheadless VM that is built using cmake, the add_vm_plugin_sources cmake macro requires specifying the the plugin sources explicitly, which is omitting the src/plugins/SqueakSSL/SqueakSSL.c in the compilation of the plugin. By using the other macro (add_vm_plugin_auto), the platform specific files are automatically found with a glob pattern. This is a mistake that I introduced myself. This problem can be reproduced in Pharo using the minheadless vm of this repository on OS X with the following script: ´´´smalltalk url := 'https://google.com' asZnUrl. ZnClient new url: url; get; response ´´´ Additional note: why Mac needs the explicit ${SqueakSSL_Sources} while Windows and Unix don't? In the case of the minheadless VM for OS X, we are treating the VM as it were an unix since we are removing all of the platform specific windowing code in this VM variant. For this reason, in the cases where OS X is different than another unix, the plugin code has to be added manually. Commit: a963d2df3bcca59b3d2b5a2332cb46d59a5efefa https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a963d2df3bcca59b3d2b5a2332cb46d59a5efefa Author: Nicolas Cellier Date: 2019-09-02 (Mon, 02 Sep 2019) Changed paths: M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.vm A platforms/iOS/plugins/B3DAcceleratorPlugin32/Makefile A platforms/iOS/plugins/B3DAcceleratorPlugin32/sqMacOpenGL.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/sqMacOpenGL.m A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGL.c A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGL.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGLInfo.c A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacUIConstants.h Log Message: ----------- Merge pull request #422 from OpenSmalltalk/hack_to_restore_b3D_macos32x86 hack to restore B3DAcceleratorPlugin on macos32x86 No objection, it fixes issue #397, without causing any supplementary CI failure (our cog trunk branch status is a tiny bit less red, but still red, as it should never be, but constantly is...). Let's move to something else. Commit: 83497f5a6c3d7b96cbae086729dd4c849ef029ea https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/83497f5a6c3d7b96cbae086729dd4c849ef029ea Author: Nicolas Cellier Date: 2019-09-03 (Tue, 03 Sep 2019) Changed paths: M platforms/unix/vm-display-X11/acinclude.m4 M scripts/ci/travis_install.sh Log Message: ----------- Restore support for large cursor on linux X11 VM Large cursor support is present but optional on X11 It is triggered by compiler define HAVE_LIBXRENDER It depends on availability of Xrender library which is an optional X extension Try to test presence of header and library in configure macro Note that it is also necessary to install the proper package e.g. on debian flavours sudo apt-get install libxrender-dev Commit: b3a682a86334b9507ace30068d15180e81df9787 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b3a682a86334b9507ace30068d15180e81df9787 Author: Nicolas Cellier Date: 2019-09-03 (Tue, 03 Sep 2019) Changed paths: M .travis.yml Log Message: ----------- Allow failure of Newspeak on linux 64 This architecture and flavour are failing for a long time Such failures make the CI status useless and obstruct integration of unrelated features It is vital to have a green CI, and these are provisional measures to restore a sane status. This should not prevent Newspeak teams to investigate the problem further and hopefully resolve it. Commit: 734032d6d1c04673afa6aba3ca2e311a7cdadd2d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/734032d6d1c04673afa6aba3ca2e311a7cdadd2d Author: Nicolas Cellier Date: 2019-09-03 (Tue, 03 Sep 2019) Changed paths: M .travis.yml Log Message: ----------- Also allow Newspeak failure on macos 64 Interesting to know: travis job fails at same point with about same stack trace on macos64 and linux64 Commit: edb14fe404654241ef2a2bf04ae0945611d6533a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/edb14fe404654241ef2a2bf04ae0945611d6533a Author: Nicolas Cellier Date: 2019-09-04 (Wed, 04 Sep 2019) Changed paths: M platforms/unix/config/aclocal.m4 M platforms/unix/config/config.h.in M platforms/unix/config/configure Log Message: ----------- Commit files generated by autotools These are generated by `cd platforms/unix/config; make configure` Commit: 4b644ad1b0695783815d48a7769f7cfd7664e7a6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4b644ad1b0695783815d48a7769f7cfd7664e7a6 Author: Nicolas Cellier Date: 2019-09-04 (Wed, 04 Sep 2019) Changed paths: M .travis.yml Log Message: ----------- Merge pull request #425 from OpenSmalltalk/allow_newspeak_linux64_failure Allow newspeak spur linux & macos x64 failure Note: it is probably a Spur JIT bug on X64, rather than a newspeak specific problem We should correct this bug, we should not have let it in, in the first place. But in the interim, we want to continue to improve other parts and not being stuck. Commit: d6238b29f217776ad70f1eee029056a7e9aa76bd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d6238b29f217776ad70f1eee029056a7e9aa76bd Author: Nicolas Cellier Date: 2019-09-04 (Wed, 04 Sep 2019) Changed paths: M platforms/unix/config/aclocal.m4 M platforms/unix/config/config.h.in M platforms/unix/config/configure M platforms/unix/vm-display-X11/acinclude.m4 M scripts/ci/travis_install.sh Log Message: ----------- Merge pull request #424 from OpenSmalltalk/restore_large_cursor_support Restore support for large cursor on linux X11 VM Note: this fix only test the availability of header, and whether the library is required or not. It does not test the case when library is required but absent. The fix solve the large cursor problem, so it is considered good enough. It will be time to improve later if ever somebody barks (other distribs, openbsd, etc...) Commit: f6d5541e6b37d1a82b1364f6d577031d6ad2a2ac https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6d5541e6b37d1a82b1364f6d577031d6ad2a2ac Author: Eliot Miranda Date: 2019-09-10 (Tue, 10 Sep 2019) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cogmethod.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cogmethod.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cogmethod.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cogmethod.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cogmethod.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cogmethod.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cogmethod.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cogmethod.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cogmethod.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Cog VM Source VMMaker.oscog-eem.2558 Reimplement Spur JIT access to literals and literal variables in #==, #~~ and push/pop/store literal variable. Instead of having a run-time read barrier in JITTED code, add a flag to CogMethod recordiong if a method references a movable (becommable) literal, and scanning all so flagged methods post-become to follow becommed literals. Thank you Clément for a lovely day's programming!! This reduces code size by about 2.2%. Performance increase yet to be assessed, but it should be better than 2.2% (less code, but more compact code means more methods in the method zone and a more compact working set). Doing so means we don't have to add all methods to young referrers if OldBecameNew. Instead we need add only those with movable literals which after scanning end up with a new literal. This scheme works well for 64-bits where sdelecftors are not directly referenced; instead ithe inline cache (because it is only 32-bits) contains the literal index of the selector. Add control of mixed mode arithmetic primitives, controlled by a VM flag (vmParameterAt: 48 [put:]; and perhaps by vmParameterAt: 75 [put:]). If the flag is set (unset by default), arithmetic primitives given both integral and float primitives will fail instead of coercing and completing. See Smallissimo blog post Provide primitiveHighBit (number 575). In the JIT add a new RTL OpCode ClzRR to allow very fast computation of high bit. Slang: Fix an initialization bug for classes referred to in option: pragmas but not included. Make sure that all such classes are included in InitializationOptions as false before initializing. Fix checkGenerateSurrogate:bytesPerWord: when checking for a new method. The existing code assumed no new methods were being adeed and so errored when the cmHasMovableLiteral accessors were generated and checked for. Commit: d7a17fdf5fac0affe6f81b65a09ea0a5bbf64455 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d7a17fdf5fac0affe6f81b65a09ea0a5bbf64455 Author: Eliot Miranda Date: 2019-09-10 (Tue, 10 Sep 2019) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c Log Message: ----------- Cog VM source as per VMMaker.oscog-eem.2561 Fix a bug in followForwardedLiteralsIn:; whether the methodObject is young or not is important, and must be recorded. Fix Float nan comparison again... It was broken in VMMaker.oscog-nice.2557 The comment of broken method tells what it should do (and what it did), but no more what it does Fix awfull VM crash when testing [48 = $0] bench. genJumpImmediate: generates not one instruction but two (Compare + Jump). So we cannot use it as a jumpTarget (or we skip the Compare instruction!) Commit: a3b48bd211e945ebc3974a27dce9215e8c2ce7d3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a3b48bd211e945ebc3974a27dce9215e8c2ce7d3 Author: nicolas.cellier.aka.nice at gmail.com Date: 2019-09-13 (Fri, 13 Sep 2019) Changed paths: M .gitattributes Log Message: ----------- force eol=lf on files used for constructing Bochs plugins [ci-skip] Commit: 218e97a9b12074c69d8c189c46ae3fd3e73ef1cf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/218e97a9b12074c69d8c189c46ae3fd3e73ef1cf Author: Nicolas Cellier Date: 2019-09-13 (Fri, 13 Sep 2019) Changed paths: M src/plugins/BitBltPlugin/BitBltPlugin.c Log Message: ----------- Fix Issue #426 - a BitBlt buffer overrun Commit: f5de9a4dcad610df4798e62f1f917ffb09ff8132 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f5de9a4dcad610df4798e62f1f917ffb09ff8132 Author: Nicolas Cellier Date: 2019-09-14 (Sat, 14 Sep 2019) Changed paths: M platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c Log Message: ----------- Let clang compile linux VM `CC=clang ./mvm` barks: a void function cannot return a value Commit: 4a4a59309a1e07f9020c6d68f9506f1542b694d6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4a4a59309a1e07f9020c6d68f9506f1542b694d6 Author: Nicolas Cellier Date: 2019-09-15 (Sun, 15 Sep 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Fix a NULL pointer passed to memcpy Since we copy 0 bytes, this is benign, however the sanitizer barks I used CC=clang ./mvm with added CFLAGS -fsanitize=undefined > opensmalltalk/platforms/unix/vm-display-X11/sqUnixX11.c:1267:24: runtime error: > null pointer passed as argument 2, which is declared to never be null > /usr/include/string.h:43:28: note: nonnull attribute specified here Commit: 521c75a865409cb6cfd31734452e5af71722031f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/521c75a865409cb6cfd31734452e5af71722031f Author: Nicolas Cellier Date: 2019-09-21 (Sat, 21 Sep 2019) Changed paths: M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m Log Message: ----------- Minor fix in iOS sound plugin Two things: 1) according to https://developer.apple.com/documentation/audiotoolbox/kaudioqueueproperty_isrunning the property is a UInt32, not a sqInt (a sqInt can be 64 bits long, thus might be not entirely set) 2) nothing tells that the value is a valid boolean value, only that is running if != 0 if I compile with -fsanitize=undefined, i get this: >Process 5149 stopped >* thread #9, name = 'com.apple.coreaudio.AQClient', stop reason = Invalid bool load > frame #0: 0x000000010090b230 libclang_rt.ubsan_osx_dynamic.dylib`__ubsan_on_report > libclang_rt.ubsan_osx_dynamic.dylib`__ubsan_on_report: > -> 0x10090b230 <+0>: pushq %rbp > 0x10090b231 <+1>: movq %rsp, %rbp > 0x10090b234 <+4>: popq %rbp > 0x10090b235 <+5>: retq >Target 0: (Squeak) stopped. >(lldb) bt >* thread #9, name = 'com.apple.coreaudio.AQClient', stop reason = Invalid bool load > * frame #0: 0x000000010090b230 libclang_rt.ubsan_osx_dynamic.dylib`__ubsan_on_report > frame #1: 0x0000000100905f6c libclang_rt.ubsan_osx_dynamic.dylib`__ubsan::Diag::~Diag() + 140 > frame #2: 0x0000000100909ab9 libclang_rt.ubsan_osx_dynamic.dylib`handleLoadInvalidValue(__ubsan::InvalidValueData*, unsigned long, __ubsan::ReportOptions) + 505 > frame #3: 0x00000001009098b4 libclang_rt.ubsan_osx_dynamic.dylib`__ubsan_handle_load_invalid_value + 68 > frame #4: 0x00000001004f36ef Squeak`-[sqSqueakSoundCoreAudio setOutputIsRunning:](self=0x00000001021183a0, _cmd="setOutputIsRunning:", outputIsRunning=110) at sqSqueakSoundCoreAudio.h:0 > frame #5: 0x00000001004ecc6e Squeak`MyAudioQueuePropertyListener(inUserData=0x00000001021183a0, inAQ=0x000000000141d000, inID=1634824814) at sqSqueakSoundCoreAudio.m:90 > frame #6: 0x00007fff412ff0b2 AudioToolbox`ClientAudioQueue::PropertyChanged(unsigned int) + 518 > frame #7: 0x00007fff412fed65 AudioToolbox`AQClientCallbackMessageReader::DispatchCallbacks(void const*, unsigned long) + 195 > frame #8: 0x00007fff412e6ac5 AudioToolbox`ClientAudioQueue::FetchAndDeliverPendingCallbacks(unsigned int) + 291 > frame #9: 0x00007fff412e6921 AudioToolbox`AQCallbackReceiver_CallbackNotificationsAvailable + 121 > frame #10: 0x00007fff412e66a5 AudioToolbox`_XCallbackNotificationsAvailable + 33 > frame #11: 0x00007fff412e64b2 AudioToolbox`mshMIGPerform + 230 > frame #12: 0x00007fff42967f39 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41 > frame #13: 0x00007fff42967e85 CoreFoundation`__CFRunLoopDoSource1 + 533 > frame #14: 0x00007fff4295fa40 CoreFoundation`__CFRunLoopRun + 2848 > frame #15: 0x00007fff4295ec93 CoreFoundation`CFRunLoopRunSpecific + 483 > frame #16: 0x00007fff412c340a AudioToolbox`GenericRunLoopThread::Entry(void*) + 158 I think it's benign, but let's not depend on UB... Commit: 6b6e5da5cf127bb914c91af6301ca6f0aa4d2b08 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6b6e5da5cf127bb914c91af6301ca6f0aa4d2b08 Author: Nicolas Cellier Date: 2019-09-25 (Wed, 25 Sep 2019) Changed paths: M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m Log Message: ----------- Merge branch 'Cog' of github.com:OpenSmalltalk/opensmalltalk-vm into Cog Commit: 3023fbc2159243caf351b3aa9f02434c37fbaea5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3023fbc2159243caf351b3aa9f02434c37fbaea5 Author: Nicolas Cellier Date: 2019-09-25 (Wed, 25 Sep 2019) Changed paths: M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c Log Message: ----------- Minor patch for making unix SocketPlugin 64bits friendly IPV4 address are uint32_t, not u_long This is not the same on 64 bits. This has a consequence on alignment of pointer aliasing (u_long might require 8 bytes alignment). This remove a runtime UndefinedBehavior sanitizer message (UBsan) when compiled with CC=clang ./mvm and CFLAGS -fsanitize=undefined. So far, the consequence are void, but let's not insult the future... Note that I used autotools HAVE_STDINT_H for backward compatibility but we could either drop this compatibility like already done in SSL or Camera plugin... C99 is already 20years behind! Also avoid converting a pointer (PSP) to (unsigned long) just for printing... We have %p now for that purpose (like already used elsewhere in the same file). Commit: c114ece5b58154eaa3972d28f83c6f7b9f04ae6c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c114ece5b58154eaa3972d28f83c6f7b9f04ae6c Author: Eliot Miranda Date: 2019-09-29 (Sun, 29 Sep 2019) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2568 CoInterpreter: Fix a slip in printing contexts. Cogit: Eliminate a bogus assert in compileFullBlockMethodFrameBuild: (and explain why). Stop generating forwarder following code for constants and self in methods in followed because self can be a forwarder in blocks without inst var accesses (anyway self == something in block is not super common). Commit: 352de13869ef1aefeae1c6f863eeb41111db7ffe https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/352de13869ef1aefeae1c6f863eeb41111db7ffe Author: Eliot Miranda Date: 2019-10-05 (Sat, 05 Oct 2019) Changed paths: M platforms/unix/vm/aio.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c Log Message: ----------- Ensure that sigaltstack is used to establish an alternative signal stack on Unix platforms, and that the SIGIO handler (forceInterruptCheck) runs on that stack. Although we don't have absolute proof we have strong evidence to suggest that on recent macOS versions (e.g. 10.13) the first delivery of SIGIO to the VM causes corruption of the code zone if the VM is in or transitioning to machine code. This is similar to crashes seen in the Newspeak VM on linux using the ITIMER heartbeat. There-on the issue was that the dynamic linker would be called within the signal handler on first invocation, and that this would cause the dynamic linker to traverse the Smalltalk JIT code stack, misinteerpret Smalltalk stack frames as ABI-compliant stack frames and cause corruption as a result. Since the code is now system wide on Unix, not merely confined to the ITIMER VM, move the sigaltstack initialization to platforms/unix/vm/aio.c and delete the duplications in the ITIMER heartbeat variants. Commit: c24970eb2859a474065c6f69060c0324aef2b211 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c24970eb2859a474065c6f69060c0324aef2b211 Author: Eliot Miranda Date: 2019-10-05 (Sat, 05 Oct 2019) Changed paths: M platforms/unix/vm/aio.c Log Message: ----------- Fix ta slip in the previous commit. The define to test is COGVM, not COG, and it must be taken from interp.h. Commit: c7b8f4978169595ceb7d38e2cf025dd0cbdfde19 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c7b8f4978169595ceb7d38e2cf025dd0cbdfde19 Author: Eliot Miranda Date: 2019-10-08 (Tue, 08 Oct 2019) Changed paths: M image/LoadSistaSupport.st A image/SaveAsSista.st A image/buildsistareader64image.sh M image/envvars.sh M image/getlatesttrunk64image.sh M image/getlatesttrunkimage.sh A image/updatespur64SistaV1image.sh Log Message: ----------- Add scripts to build a 64-bit reader image using the SistaV1 bytecode set. Fix the download for the latest Squeak image (since 6.0 is still futureware). [ci skip] Commit: 30220afbafb33fd0af386c63c9a6b53b7e6bdac7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/30220afbafb33fd0af386c63c9a6b53b7e6bdac7 Author: Eliot Miranda Date: 2019-10-10 (Thu, 10 Oct 2019) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M platforms/Cross/vm/sq.h M platforms/Mac OS/vm/sqMacMain.c M platforms/Mac OS/vm/sqPlatformSpecific.h M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/iOS/vm/OSX/sqPlatformSpecific.h M platforms/iOS/vm/iPhone/sqPlatformSpecific.h M platforms/minheadless/generic/sqPlatformSpecific-Generic.c M platforms/minheadless/unix/sqPlatformSpecific-Unix.c M platforms/minheadless/unix/sqPlatformSpecific-Unix.h M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.h M platforms/unix/vm/sqPlatformSpecific.h M platforms/unix/vm/sqUnixMain.c M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32Main.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2570 Cog: Refactor to make CFramePointer and CStackPointer private variables of CoInterpreter. Hence change the signature of isCFramePointerInUse, which now takes pointers to the two variables instead of referencing them directly. The result is that CFramePointer and CStackPointer are accessed via VarBaseReg on relevant platforms. This nearly halves the size of the generated trampolines/enilopmarts on x86_64. Fix a reg arg order overwrite problem with the ceDirectedSuperSend?Args trampolines on ARM32. Slang: Fix a bug in inferring the type of addressOf:[put:]. Commit: ba7bb95579c24a5b17768cb3b9355a00d4dc0b20 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ba7bb95579c24a5b17768cb3b9355a00d4dc0b20 Author: Eliot Miranda Date: 2019-10-10 (Thu, 10 Oct 2019) Changed paths: M platforms/unix/vm/aio.c Log Message: ----------- Revert the sigaltstack changes in 352de13869ef1aefeae1c6f863eeb41111db7ffe given the fixes to the fundamental problem in VMMaker.oscog-eem.2570 et al. Keep the refactoring taht puts the sigaltstack code, if needed, in aio.c. Commit: c7171f4ac4436cc6e67497dbfef69e761ff2a071 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c7171f4ac4436cc6e67497dbfef69e761ff2a071 Author: David T. Lewis Date: 2019-10-13 (Sun, 13 Oct 2019) Changed paths: M platforms/unix/vm/sqUnixExternalPrims.c Log Message: ----------- Ensure readable error message for VM module dlopen failures. If a module such as vm-display-X11 fails to load due to dynamic linking errors such as symbol not found or missing runtime libary on the target machine, then provide a meaningful error message. Eliminate unnecessary check for if (strstr(why,"undefined symbol")) {...} because it eats errors, e.g. in the case of missing xRender runtime and VM compiled with xRender dev libaries. Improve the error message for readability. Add fflush() for stderr output to prevent messages being lost or mixed with stdout. Remove redundant and unreachable code. Note, duplicate error messages on for load failures may occur due to path setup issues in the /bin/squeak start script, are are not a VM issue per se. Example error message for VM compiled with xRender library for large cursor support, and run on a machine with missing runtime library: vm-display-X11 tryLoading /usr/local/lib/squeak/5.0-201910110209/vm-display-X11.so: dlopen: libXrender.so.1: cannot open shared object file: No such file or directory Commit: 19e232f09ff337ad64a4c86364e29f880cc28e0f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/19e232f09ff337ad64a4c86364e29f880cc28e0f Author: Max Leske Date: 2019-10-16 (Wed, 16 Oct 2019) Changed paths: M scripts/ci/travis_install.sh Log Message: ----------- Latest linux vm can't handle vm display null (#431) * Added libglu1-mesa-dev to build dependencies for linux64x64. The B3DAcceleratorPlugin requires OpenGL headers. I've also added autoconf, libtool, curl and cmake to the list of dependencies for linux64x64 so that builds work outside of the Travis environment. * Also added automake to list of dependencies for linux64x64 Commit: da97dd5dd3618719f50fe6131ae65277481e93fa https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/da97dd5dd3618719f50fe6131ae65277481e93fa Author: Tom Beckmann Date: 2019-10-16 (Wed, 16 Oct 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- x11: emulate only up/down scroll events via keyboard, not left/right (#432) This restores the behavior to what we previously had and fixes an annoying side effect, where vertical scrolling on a touchpad causing occassional horizontal scrolling events would move the cursor in a text editor, since we generate ctrl+left/right. Commit: f1bc1cce999b3bcca317baa84bd0b28f21a4d7b0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f1bc1cce999b3bcca317baa84bd0b28f21a4d7b0 Author: Nicolas Cellier Date: 2019-10-20 (Sun, 20 Oct 2019) Changed paths: M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Fix copy/paste typo when printing registers Commit: 0e8de8580aedea1052fc771d6f301ba8fd17ef4e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0e8de8580aedea1052fc771d6f301ba8fd17ef4e Author: Nicolas Cellier Date: 2019-10-20 (Sun, 20 Oct 2019) Changed paths: M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c Log Message: ----------- Remove a pointer aliasing (replace by memcpy). Reason: gcc compiler barks. platforms/unix/plugins/SocketPlugin/sqUnixSocket.c:1452:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(int *)buf= 1; It's probably benign in this case, but rather than trying to confirm this for all current and future versions of compilers, it's far easier to just avoid breaking strict aliasing. Commit: 86e976be8ca1a830d16c2e9f320258e6e69f291e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/86e976be8ca1a830d16c2e9f320258e6e69f291e Author: Nicolas Cellier Date: 2019-10-20 (Sun, 20 Oct 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Remove a (false positive) -Wmaybe-uninitialized warning Tell why we do it, why it's not necessary (as long as int have 32 bits). Analyzing warnings again and again is time consuming. So even false positive should better be eliminated. Commit: 09878ce6d3ae50385ecd63685fb486f4b925d7d8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/09878ce6d3ae50385ecd63685fb486f4b925d7d8 Author: Nicolas Cellier Date: 2019-10-20 (Sun, 20 Oct 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Remove two warnings about incompatible pointer type Implementation should conform to SqDisplay.h platforms/unix/vm-display-X11/sqUnixX11.c:7453:1: warning: incompatible pointer types initializing 'long (*)(char *, int)' with an expression of type 'long (char *, long)' [-Wincompatible-pointer-types] SqDisplayDefine(X11); ^~~~~~~~~~~~~~~~~~~~ platforms/unix/vm/SqDisplay.h:108:3: note: expanded from macro 'SqDisplayDefine' display_winImageFind, \ ^~~~~~~~~~~~~~~~~~~~ /platforms/unix/vm-display-X11/sqUnixX11.c:7453:1: warning: incompatible pointer types initializing 'long (*)(unsigned int *, long, long, long, long, long, long, long, long)' with an expression of type 'long (unsigned int *, long, long, long, int, int, int, int, int)' [-Wincompatible-pointer-types] SqDisplayDefine(X11); ^~~~~~~~~~~~~~~~~~~~ platforms/unix/vm/SqDisplay.h:157:3: note: expanded from macro 'SqDisplayDefine' display_hostWindowShowDisplay, \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Commit: 1c3a0ca9df711d31f6964a6511a2b7e98abab3e8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1c3a0ca9df711d31f6964a6511a2b7e98abab3e8 Author: Nicolas Cellier Date: 2019-10-21 (Mon, 21 Oct 2019) Changed paths: M platforms/unix/vm-display-null/sqUnixDisplayNull.c Log Message: ----------- Same uncompatible pointer fix for display-null Commit: ff593d12fa6618892805b37df41d2ee6ce603c81 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ff593d12fa6618892805b37df41d2ee6ce603c81 Author: Eliot Miranda Date: 2019-10-22 (Tue, 22 Oct 2019) Changed paths: M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/minheadless/unix/sqPlatformSpecific-Unix.c M platforms/unix/vm/sqUnixMain.c Log Message: ----------- A repeat/more complete version of Nicolas' f1bc1cce999b3bcca317baa84bd0b28f21a4d7b0 Fix copy/paste typo when printing registers Commit: 622f8772df441d3d24ca34667c20f7eb9e2390c9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/622f8772df441d3d24ca34667c20f7eb9e2390c9 Author: Nicolas Cellier Date: 2019-10-23 (Wed, 23 Oct 2019) Changed paths: M scripts/ci/travis_install.sh Log Message: ----------- Attempt a blind fix against CI failure Commit: a4b8a0fe12ce85d263cffeb326a3306c990945db https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a4b8a0fe12ce85d263cffeb326a3306c990945db Author: Nicolas Cellier Date: 2019-10-23 (Wed, 23 Oct 2019) Changed paths: M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm-display-null/sqUnixDisplayNull.c M scripts/ci/travis_install.sh Log Message: ----------- Merge branch 'small_fixes' into Cog Commit: 7875a84c55aaf2ab56ce4b242782b74d7c93d3c7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7875a84c55aaf2ab56ce4b242782b74d7c93d3c7 Author: Nicolas Cellier Date: 2019-10-23 (Wed, 23 Oct 2019) Changed paths: M .travis.yml Log Message: ----------- Temporarily allow Newspeak failures These allowances should be retracted once Newspeak builds are fixed. Commit: e8e9a534e1d9123b47c2fbab1c08d7864aab6e1c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e8e9a534e1d9123b47c2fbab1c08d7864aab6e1c Author: Nicolas Cellier Date: 2019-10-24 (Thu, 24 Oct 2019) Changed paths: M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.assert/mvm M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.debug/mvm M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build/mvm Log Message: ----------- compile linux64x64 newspeak.cog.spur with clang Reason: there's been some problem showing recently with gcc stack handling The newspeak boostrap failed with this error: +/home/travis/build/OpenSmalltalk/opensmalltalk-vm/products/nscogspur64linuxht/bin/nsvm -headless ns-2019-10-23.64.image NewspeakBootstrap.st Segmentation fault (core dumped) Also remove the -fwrapv compilation flag. It was once necessary, but we should not The -fwrapv tells the compiler to assume that integer overflow will wrap instead of being undefined behavior. Commit: b2dc466ac2aa4dc7cece63a6eea271492d51ceb1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b2dc466ac2aa4dc7cece63a6eea271492d51ceb1 Author: Nicolas Cellier Date: 2019-10-24 (Thu, 24 Oct 2019) Changed paths: M .travis.yml Log Message: ----------- Don't allow newspeak x64 failures, but allow squeak.cog.v3 macos32x86 Commit: acd2efd2f5cf7dedfa991f840b629486bc307b2d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/acd2efd2f5cf7dedfa991f840b629486bc307b2d Author: Nicolas Cellier Date: 2019-10-25 (Fri, 25 Oct 2019) Changed paths: M .travis.yml M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.assert/mvm M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.debug/mvm M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build/mvm Log Message: ----------- Merge pull request #438 from OpenSmalltalk/compile_newspeak_with_clang Compile newspeak with clang Commit: 678082c927ecec1319a0ef46f9d2d5e95039aea2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/678082c927ecec1319a0ef46f9d2d5e95039aea2 Author: Nicolas Cellier Date: 2019-10-25 (Fri, 25 Oct 2019) Changed paths: M platforms/unix/vm/sqUnixExternalPrims.c Log Message: ----------- Merge pull request #429 from OpenSmalltalk/dtl/vm-module-load-error-messages Ensure readable error message for VM module dlopen failures. Commit: b80dd63c2aa1517b186099b9669a89e4385772cb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b80dd63c2aa1517b186099b9669a89e4385772cb Author: nicolas.cellier.aka.nice at gmail.com Date: 2019-10-26 (Sat, 26 Oct 2019) Changed paths: M platforms/minheadless/unix/sqUnixHeartbeat.c M platforms/unix/misc/threadValidate/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c Log Message: ----------- Avoid an overflow in ioRelinquishProcessorForMicroseconds Commit: 588a4ca2b2e7eafe87ff5b0643c8bc0c09787e1e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/588a4ca2b2e7eafe87ff5b0643c8bc0c09787e1e Author: nicolas.cellier.aka.nice at gmail.com Date: 2019-10-26 (Sat, 26 Oct 2019) Changed paths: M platforms/Mac OS/vm/sqMacTime.c M platforms/iOS/vm/Common/Classes/sqMacV2Time.c M platforms/iOS/vm/Common/sqDummyaio.h M platforms/iOS/vm/iPhone/sqDummyaio.c M platforms/unix/misc/threadValidate/sqUnixHeartbeat.c M platforms/unix/vm-display-Quartz/zzz/sqUnixQuartz.m M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c Log Message: ----------- Align iOS and obsolete Mac OS - no need for aioSleep + aioSleepForUsecs that do the same thing keep only aioSleepForUsecs like other platforms - replace getNextWakeupTick (obsolete) with getNextWakeupUsecs - align the prototype of aioSleepForUsecs on other platforms (long) - align the prototype of ioRelinquishProcessorForMicroseconds (sqInt) Note: I do not know why microSeconds argument to ioRelinquishProcessorForMicroseconds is ignored in iPhone It is replaced by hardcoded 16ms Commit: 01b7df8d3afd347d7e5b9a3606362cc5c1fa1773 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/01b7df8d3afd347d7e5b9a3606362cc5c1fa1773 Author: nicolas.cellier.aka.nice at gmail.com Date: 2019-10-26 (Sat, 26 Oct 2019) Changed paths: M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Fix primitiveSignalAtMilliseconds for the cog.v3 flavours We could also fix it for the spur variants, but this can wait because those primitive are presumably unused (superseded by microsecond handling) Commit: 7e4180653201c9b907692249312abdf777789da0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7e4180653201c9b907692249312abdf777789da0 Author: Nicolas Cellier Date: 2019-10-26 (Sat, 26 Oct 2019) Changed paths: M platforms/Mac OS/vm/sqMacTime.c M platforms/iOS/vm/Common/Classes/sqMacV2Time.c M platforms/iOS/vm/Common/sqDummyaio.h M platforms/iOS/vm/iPhone/sqDummyaio.c M platforms/minheadless/unix/sqUnixHeartbeat.c M platforms/unix/misc/threadValidate/sqUnixHeartbeat.c M platforms/unix/vm-display-Quartz/zzz/sqUnixQuartz.m M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Merge pull request #439 from OpenSmalltalk/fix_issue_436 Fix issue 436 Commit: 0fd478104efd3749e1420c03c855dd25fdf3eda0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0fd478104efd3749e1420c03c855dd25fdf3eda0 Author: nicolas.cellier.aka.nice at gmail.com Date: 2019-10-26 (Sat, 26 Oct 2019) Changed paths: M .travis.yml Log Message: ----------- Revert "Don't allow newspeak x64 failures, but allow squeak.cog.v3 macos32x86" This reverts commit b2dc466ac2aa4dc7cece63a6eea271492d51ceb1. Commit: b3f2941772a038e04307bd8b7f87e29d0d93c134 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b3f2941772a038e04307bd8b7f87e29d0d93c134 Author: Nicolas Cellier Date: 2019-10-27 (Sun, 27 Oct 2019) Changed paths: M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/gcc3x-cointerp.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Fix issue 436 again We must let the Semaphore be signalled in case of expired delay! Commit: 751f7bcd973abb05d433ec5474974fe07a90997d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/751f7bcd973abb05d433ec5474974fe07a90997d Author: nicolas.cellier.aka.nice at gmail.com Date: 2019-10-27 (Sun, 27 Oct 2019) Changed paths: M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerpmt.c Log Message: ----------- Also fix the Multi-Thread variant Commit: a2f6e9ebafc33c5a7ce56a236b8d8d00613541e6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a2f6e9ebafc33c5a7ce56a236b8d8d00613541e6 Author: Nicolas Cellier Date: 2019-10-28 (Mon, 28 Oct 2019) Changed paths: M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M stacksrc/vm/interp.h Log Message: ----------- Fix issue 436 again Perform C integer arithmetic with the right int type (64 bits signed sqLong rather than 32bits unsigned usqInt). Commit: 219a1dc34c3b51265ec3df2809f99da425112bbd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/219a1dc34c3b51265ec3df2809f99da425112bbd Author: Nicolas Cellier Date: 2019-10-28 (Mon, 28 Oct 2019) Changed paths: M build.linux64x64/newspeak.stack.spur/build.assert/mvm M build.linux64x64/newspeak.stack.spur/build.debug/mvm M build.linux64x64/newspeak.stack.spur/build/mvm M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.assert/mvm M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.debug/mvm M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm M build.linux64x64/pharo.cog.spur.minheadless/build/mvm M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm M build.linux64x64/squeak.cog.spur.immutability/build/mvm M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.assert/mvm M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.debug/mvm M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build/mvm M build.linux64x64/squeak.stack.spur/build.assert/mvm M build.linux64x64/squeak.stack.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build/mvm Log Message: ----------- Compile all linux64x64 with clang reason: gcc currently has incompatible stack management with recent cog changes in SP/FP handling Commit: 28466a92999e5834fe8bf525226f66aac1ee7e55 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/28466a92999e5834fe8bf525226f66aac1ee7e55 Author: Nicolas Cellier Date: 2019-10-28 (Mon, 28 Oct 2019) Changed paths: M build.linux64x64/newspeak.stack.spur/build/mvm M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M build.linux64x64/squeak.cog.spur.immutability/build/mvm M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build/mvm Log Message: ----------- Remove obsolete gcc 3.4 specific options YAGNI Now that we removed most UB (all ?), this might not even be necessary, but we ain't gonna check such legacy stuff. Commit: f8a20f758afe5824c2aac0884ca3950b45dec006 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f8a20f758afe5824c2aac0884ca3950b45dec006 Author: Nicolas Cellier Date: 2019-10-28 (Mon, 28 Oct 2019) Changed paths: M build.linux64x64/newspeak.stack.spur/build.assert/mvm M build.linux64x64/newspeak.stack.spur/build.debug/mvm M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.assert/mvm M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.assert/mvm M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build.assert/mvm M build.linux64x64/squeak.stack.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build/mvm Log Message: ----------- Remove remaining -fwrapv compiler option in linux64x64 Reason: the -fwrapv flag let the compiler assume that integer overflow will wrap (modulo 2^nbits) rather than will never happen (because UB) This flag was once necessary when we did depend on UB, but should be un-necessary now If ever it's still the case, it's better to eliminate UB rather than try to hide/ignore it. We shall NOT depend on UB. Note if we suspect UB problems: With clang we can use -fsanitize=undefined This will instrumente code to detect UB situations, and create runtime warnings whenever UB is encountered Commit: 8fd8a5090e8653ed957bf2e5c217f3e269f4b7d2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8fd8a5090e8653ed957bf2e5c217f3e269f4b7d2 Author: Nicolas Cellier Date: 2019-10-28 (Mon, 28 Oct 2019) Changed paths: M build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm Log Message: ----------- Fix 3 minheadless flavours trying to compile for i386 target This ain't the right place, we are in linux64x64 here (x86_64 architecture). Are these scripts obsolete? Don't we build minheadless with cmake? Commit: 896a4487b43b3acccca7d94d5818b9673f6633eb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/896a4487b43b3acccca7d94d5818b9673f6633eb Author: Nicolas Cellier Date: 2019-10-29 (Tue, 29 Oct 2019) Changed paths: M .travis.yml Log Message: ----------- Acknowledge newspeak failures more generally Commit: 4b479830d5f4fc687bc4c74402cb272502fdc8b2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4b479830d5f4fc687bc4c74402cb272502fdc8b2 Author: Nicolas Cellier Date: 2019-10-29 (Tue, 29 Oct 2019) Changed paths: M .travis.yml Log Message: ----------- Revert to ignore newspeak failure 1 by 1, but with corrected syntax There was a missing - Commit: b3fbde319411c3679377774b0ffc6be43d067762 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b3fbde319411c3679377774b0ffc6be43d067762 Author: Nicolas Cellier Date: 2019-10-29 (Tue, 29 Oct 2019) Changed paths: M .travis.yml M build.linux64x64/newspeak.stack.spur/build.assert/mvm M build.linux64x64/newspeak.stack.spur/build.debug/mvm M build.linux64x64/newspeak.stack.spur/build/mvm M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.assert/mvm M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.debug/mvm M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build/mvm M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm M build.linux64x64/squeak.cog.spur.immutability/build/mvm M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.assert/mvm M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.debug/mvm M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build/mvm M build.linux64x64/squeak.stack.spur/build.assert/mvm M build.linux64x64/squeak.stack.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build/mvm Log Message: ----------- Merge pull request #440 from OpenSmalltalk/compile_linux64x64_with_clang Compile linux64x64 with clang This is a workaround for issue #433 Commit: f1903e5c871da728113ebbc2cf03347a92e1a975 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f1903e5c871da728113ebbc2cf03347a92e1a975 Author: Nicolas Cellier Date: 2019-10-30 (Wed, 30 Oct 2019) Changed paths: M src/plugins/BitBltPlugin/BitBltPlugin.c Log Message: ----------- Generate BitBltPlugin from VMMaker.oscog-nice.2575 This is to solve issue #441 Commit: cde6a60d0e055e689c3dc8f7347ed775ba8eaa92 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cde6a60d0e055e689c3dc8f7347ed775ba8eaa92 Author: Nicolas Cellier Date: 2019-11-01 (Fri, 01 Nov 2019) Changed paths: M build.linux32ARMv6/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv6/newspeak.cog.spur/build/mvm M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv6/newspeak.stack.spur/build/mvm M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm M build.linux32ARMv6/pharo.cog.spur/build/mvm M build.linux32ARMv6/squeak.cog.spur/build.assert/mvm M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm M build.linux32ARMv6/squeak.cog.spur/build/mvm M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm M build.linux32ARMv6/squeak.stack.spur/build/mvm M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm M build.linux32ARMv6/squeak.stack.v3/build/mvm M build.linux32ARMv7/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv7/newspeak.cog.spur/build/mvm M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv7/newspeak.stack.spur/build/mvm M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.assert/mvm M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.debug/mvm M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build/mvm M build.linux32x86/newspeak.stack.spur/build.assert/mvm M build.linux32x86/newspeak.stack.spur/build.debug/mvm M build.linux32x86/newspeak.stack.spur/build/mvm M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.assert/mvm M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.debug/mvm M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.assert/mvm M build.linux32x86/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.debug/mvm M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build/mvm M build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.assert/mvm M build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build.debug/mvm M build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.sista.spur/build/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build/mvm M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm M build.linux32x86/squeak.cog.spur.immutability/build/mvm M build.linux32x86/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.assert/mvm M build.linux32x86/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.debug/mvm M build.linux32x86/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build/mvm M build.linux32x86/squeak.cog.v3/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.assert/mvm M build.linux32x86/squeak.cog.v3/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.debug/mvm M build.linux32x86/squeak.cog.v3/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.assert/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.debug/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded/mvm M build.linux32x86/squeak.cog.v3/build/mvm M build.linux32x86/squeak.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.assert/mvm M build.linux32x86/squeak.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.debug/mvm M build.linux32x86/squeak.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build/mvm M build.linux32x86/squeak.stack.spur/build.assert/mvm M build.linux32x86/squeak.stack.spur/build.debug/mvm M build.linux32x86/squeak.stack.spur/build/mvm M build.linux32x86/squeak.stack.v3/build.assert/mvm M build.linux32x86/squeak.stack.v3/build.debug/mvm M build.linux32x86/squeak.stack.v3/build/mvm M build.linux64ARMv8/pharo.cog.spur/build/mvm M build.linux64ARMv8/pharo.stack.spur/build.debug/mvm M build.linux64ARMv8/pharo.stack.spur/build/mvm M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm Log Message: ----------- Remove the -fwrapv option from all linux builds Commit: f6bed1e26fb7c4f57f8682a0459d66ad443b5590 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6bed1e26fb7c4f57f8682a0459d66ad443b5590 Author: Nicolas Cellier Date: 2019-11-01 (Fri, 01 Nov 2019) Changed paths: M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.flags Log Message: ----------- Remove -fwrapv option from mac builds too Commit: 8484aec2b4ddf2bdf48d057661011a59f53be1ee https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8484aec2b4ddf2bdf48d057661011a59f53be1ee Author: Nicolas Cellier Date: 2019-11-01 (Fri, 01 Nov 2019) Changed paths: M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c Log Message: ----------- Fix wrong order for memcpy arguments in sqSocketSetReusable This is my mistake from recent commit https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0e8de8580aedea1052fc771d6f301ba8fd17ef4e Sorry Commit: 91b7b98b5a93869b9e395ffb5fb0209d3c0127c0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/91b7b98b5a93869b9e395ffb5fb0209d3c0127c0 Author: Eliot Miranda Date: 2019-11-13 (Wed, 13 Nov 2019) Changed paths: A build.linux64x64/gdbarm64/conf.COG A build.linux64x64/gdbarm64/makeem A build.macos64x64/gdbarm64/conf.COG A build.macos64x64/gdbarm64/makeem A processors/ARM/exploration64/Makefile A processors/ARM/exploration64/Makefile64 A processors/ARM/exploration64/printcpu.c A processors/ARM/exploration64/printcpuctrl.c A processors/ARM/exploration64/printcpuvfp.c A processors/ARM/gdb-8.3.1/bfd/.gitignore A processors/ARM/gdb-8.3.1/bfd/COPYING A processors/ARM/gdb-8.3.1/bfd/MAINTAINERS A processors/ARM/gdb-8.3.1/bfd/Makefile.am A processors/ARM/gdb-8.3.1/bfd/Makefile.in A processors/ARM/gdb-8.3.1/bfd/PORTING A processors/ARM/gdb-8.3.1/bfd/README A processors/ARM/gdb-8.3.1/bfd/TODO A processors/ARM/gdb-8.3.1/bfd/acinclude.m4 A processors/ARM/gdb-8.3.1/bfd/aclocal.m4 A processors/ARM/gdb-8.3.1/bfd/aix386-core.c A processors/ARM/gdb-8.3.1/bfd/aix5ppc-core.c A processors/ARM/gdb-8.3.1/bfd/aout-cris.c A processors/ARM/gdb-8.3.1/bfd/aout-ns32k.c A processors/ARM/gdb-8.3.1/bfd/aout-target.h A processors/ARM/gdb-8.3.1/bfd/aout-tic30.c A processors/ARM/gdb-8.3.1/bfd/aout32.c A processors/ARM/gdb-8.3.1/bfd/aout64.c A processors/ARM/gdb-8.3.1/bfd/aoutx.h A processors/ARM/gdb-8.3.1/bfd/arc-got.h A processors/ARM/gdb-8.3.1/bfd/arc-plt.def A processors/ARM/gdb-8.3.1/bfd/arc-plt.h A processors/ARM/gdb-8.3.1/bfd/archive.c A processors/ARM/gdb-8.3.1/bfd/archive64.c A processors/ARM/gdb-8.3.1/bfd/archures.c A processors/ARM/gdb-8.3.1/bfd/bfd-in.h A processors/ARM/gdb-8.3.1/bfd/bfd-in2.h A processors/ARM/gdb-8.3.1/bfd/bfd.c A processors/ARM/gdb-8.3.1/bfd/bfd.m4 A processors/ARM/gdb-8.3.1/bfd/bfdio.c A processors/ARM/gdb-8.3.1/bfd/bfdwin.c A processors/ARM/gdb-8.3.1/bfd/binary.c A processors/ARM/gdb-8.3.1/bfd/cache.c A processors/ARM/gdb-8.3.1/bfd/cf-i386lynx.c A processors/ARM/gdb-8.3.1/bfd/cisco-core.c A processors/ARM/gdb-8.3.1/bfd/coff-arm.c A processors/ARM/gdb-8.3.1/bfd/coff-bfd.c A processors/ARM/gdb-8.3.1/bfd/coff-bfd.h A processors/ARM/gdb-8.3.1/bfd/coffcode.h A processors/ARM/gdb-8.3.1/bfd/coffswap.h A processors/ARM/gdb-8.3.1/bfd/compress.c A processors/ARM/gdb-8.3.1/bfd/config.bfd A processors/ARM/gdb-8.3.1/bfd/config.in A processors/ARM/gdb-8.3.1/bfd/configure A processors/ARM/gdb-8.3.1/bfd/configure.ac A processors/ARM/gdb-8.3.1/bfd/configure.com A processors/ARM/gdb-8.3.1/bfd/configure.host A processors/ARM/gdb-8.3.1/bfd/corefile.c A processors/ARM/gdb-8.3.1/bfd/cpu-aarch64.c A processors/ARM/gdb-8.3.1/bfd/cpu-alpha.c A processors/ARM/gdb-8.3.1/bfd/cpu-arc.c A processors/ARM/gdb-8.3.1/bfd/cpu-arm.c A processors/ARM/gdb-8.3.1/bfd/cpu-avr.c A processors/ARM/gdb-8.3.1/bfd/cpu-bfin.c A processors/ARM/gdb-8.3.1/bfd/cpu-cr16.c A processors/ARM/gdb-8.3.1/bfd/cpu-cr16c.c A processors/ARM/gdb-8.3.1/bfd/cpu-cris.c A processors/ARM/gdb-8.3.1/bfd/cpu-crx.c A processors/ARM/gdb-8.3.1/bfd/cpu-csky.c A processors/ARM/gdb-8.3.1/bfd/cpu-d10v.c A processors/ARM/gdb-8.3.1/bfd/cpu-d30v.c A processors/ARM/gdb-8.3.1/bfd/cpu-dlx.c A processors/ARM/gdb-8.3.1/bfd/cpu-epiphany.c A processors/ARM/gdb-8.3.1/bfd/cpu-fr30.c A processors/ARM/gdb-8.3.1/bfd/cpu-frv.c A processors/ARM/gdb-8.3.1/bfd/cpu-ft32.c A processors/ARM/gdb-8.3.1/bfd/cpu-h8300.c A processors/ARM/gdb-8.3.1/bfd/cpu-hppa.c A processors/ARM/gdb-8.3.1/bfd/cpu-i386.c A processors/ARM/gdb-8.3.1/bfd/cpu-ia64-opc.c A processors/ARM/gdb-8.3.1/bfd/cpu-ia64.c A processors/ARM/gdb-8.3.1/bfd/cpu-iamcu.c A processors/ARM/gdb-8.3.1/bfd/cpu-ip2k.c A processors/ARM/gdb-8.3.1/bfd/cpu-iq2000.c A processors/ARM/gdb-8.3.1/bfd/cpu-k1om.c A processors/ARM/gdb-8.3.1/bfd/cpu-l1om.c A processors/ARM/gdb-8.3.1/bfd/cpu-lm32.c A processors/ARM/gdb-8.3.1/bfd/cpu-m10200.c A processors/ARM/gdb-8.3.1/bfd/cpu-m10300.c A processors/ARM/gdb-8.3.1/bfd/cpu-m32c.c A processors/ARM/gdb-8.3.1/bfd/cpu-m32r.c A processors/ARM/gdb-8.3.1/bfd/cpu-m68hc11.c A processors/ARM/gdb-8.3.1/bfd/cpu-m68hc12.c A processors/ARM/gdb-8.3.1/bfd/cpu-m68k.c A processors/ARM/gdb-8.3.1/bfd/cpu-m9s12x.c A processors/ARM/gdb-8.3.1/bfd/cpu-m9s12xg.c A processors/ARM/gdb-8.3.1/bfd/cpu-mcore.c A processors/ARM/gdb-8.3.1/bfd/cpu-mep.c A processors/ARM/gdb-8.3.1/bfd/cpu-metag.c A processors/ARM/gdb-8.3.1/bfd/cpu-microblaze.c A processors/ARM/gdb-8.3.1/bfd/cpu-mips.c A processors/ARM/gdb-8.3.1/bfd/cpu-mmix.c A processors/ARM/gdb-8.3.1/bfd/cpu-moxie.c A processors/ARM/gdb-8.3.1/bfd/cpu-msp430.c A processors/ARM/gdb-8.3.1/bfd/cpu-mt.c A processors/ARM/gdb-8.3.1/bfd/cpu-nds32.c A processors/ARM/gdb-8.3.1/bfd/cpu-nfp.c A processors/ARM/gdb-8.3.1/bfd/cpu-nios2.c A processors/ARM/gdb-8.3.1/bfd/cpu-ns32k.c A processors/ARM/gdb-8.3.1/bfd/cpu-or1k.c A processors/ARM/gdb-8.3.1/bfd/cpu-pdp11.c A processors/ARM/gdb-8.3.1/bfd/cpu-pj.c A processors/ARM/gdb-8.3.1/bfd/cpu-plugin.c A processors/ARM/gdb-8.3.1/bfd/cpu-powerpc.c A processors/ARM/gdb-8.3.1/bfd/cpu-pru.c A processors/ARM/gdb-8.3.1/bfd/cpu-riscv.c A processors/ARM/gdb-8.3.1/bfd/cpu-rl78.c A processors/ARM/gdb-8.3.1/bfd/cpu-rs6000.c A processors/ARM/gdb-8.3.1/bfd/cpu-rx.c A processors/ARM/gdb-8.3.1/bfd/cpu-s12z.c A processors/ARM/gdb-8.3.1/bfd/cpu-s390.c A processors/ARM/gdb-8.3.1/bfd/cpu-score.c A processors/ARM/gdb-8.3.1/bfd/cpu-sh.c A processors/ARM/gdb-8.3.1/bfd/cpu-sparc.c A processors/ARM/gdb-8.3.1/bfd/cpu-spu.c A processors/ARM/gdb-8.3.1/bfd/cpu-tic30.c A processors/ARM/gdb-8.3.1/bfd/cpu-tic4x.c A processors/ARM/gdb-8.3.1/bfd/cpu-tic54x.c A processors/ARM/gdb-8.3.1/bfd/cpu-tic6x.c A processors/ARM/gdb-8.3.1/bfd/cpu-tic80.c A processors/ARM/gdb-8.3.1/bfd/cpu-tilegx.c A processors/ARM/gdb-8.3.1/bfd/cpu-tilepro.c A processors/ARM/gdb-8.3.1/bfd/cpu-v850.c A processors/ARM/gdb-8.3.1/bfd/cpu-v850_rh850.c A processors/ARM/gdb-8.3.1/bfd/cpu-vax.c A processors/ARM/gdb-8.3.1/bfd/cpu-visium.c A processors/ARM/gdb-8.3.1/bfd/cpu-wasm32.c A processors/ARM/gdb-8.3.1/bfd/cpu-xc16x.c A processors/ARM/gdb-8.3.1/bfd/cpu-xgate.c A processors/ARM/gdb-8.3.1/bfd/cpu-xstormy16.c A processors/ARM/gdb-8.3.1/bfd/cpu-xtensa.c A processors/ARM/gdb-8.3.1/bfd/cpu-z80.c A processors/ARM/gdb-8.3.1/bfd/cpu-z8k.c A processors/ARM/gdb-8.3.1/bfd/dep-in.sed A processors/ARM/gdb-8.3.1/bfd/development.sh A processors/ARM/gdb-8.3.1/bfd/doc/ChangeLog-0415 A processors/ARM/gdb-8.3.1/bfd/doc/ChangeLog-9103 A processors/ARM/gdb-8.3.1/bfd/doc/Makefile.am A processors/ARM/gdb-8.3.1/bfd/doc/Makefile.in A processors/ARM/gdb-8.3.1/bfd/doc/bfd.info A processors/ARM/gdb-8.3.1/bfd/doc/bfd.texi A processors/ARM/gdb-8.3.1/bfd/doc/bfdint.texi A processors/ARM/gdb-8.3.1/bfd/doc/bfdsumm.texi A processors/ARM/gdb-8.3.1/bfd/doc/chew.c A processors/ARM/gdb-8.3.1/bfd/doc/doc.str A processors/ARM/gdb-8.3.1/bfd/doc/fdl.texi A processors/ARM/gdb-8.3.1/bfd/doc/header.sed A processors/ARM/gdb-8.3.1/bfd/doc/makefile.vms A processors/ARM/gdb-8.3.1/bfd/doc/proto.str A processors/ARM/gdb-8.3.1/bfd/doc/webassembly.texi A processors/ARM/gdb-8.3.1/bfd/dwarf1.c A processors/ARM/gdb-8.3.1/bfd/dwarf2.c A processors/ARM/gdb-8.3.1/bfd/ecoff.c A processors/ARM/gdb-8.3.1/bfd/ecofflink.c A processors/ARM/gdb-8.3.1/bfd/ecoffswap.h A processors/ARM/gdb-8.3.1/bfd/elf-attrs.c A processors/ARM/gdb-8.3.1/bfd/elf-bfd.h A processors/ARM/gdb-8.3.1/bfd/elf-eh-frame.c A processors/ARM/gdb-8.3.1/bfd/elf-hppa.h A processors/ARM/gdb-8.3.1/bfd/elf-ifunc.c A processors/ARM/gdb-8.3.1/bfd/elf-linux-core.h A processors/ARM/gdb-8.3.1/bfd/elf-nacl.c A processors/ARM/gdb-8.3.1/bfd/elf-nacl.h A processors/ARM/gdb-8.3.1/bfd/elf-properties.c A processors/ARM/gdb-8.3.1/bfd/elf-s390.h A processors/ARM/gdb-8.3.1/bfd/elf-strtab.c A processors/ARM/gdb-8.3.1/bfd/elf-vxworks.c A processors/ARM/gdb-8.3.1/bfd/elf-vxworks.h A processors/ARM/gdb-8.3.1/bfd/elf.c A processors/ARM/gdb-8.3.1/bfd/elf32-arm.c A processors/ARM/gdb-8.3.1/bfd/elf32-avr.h A processors/ARM/gdb-8.3.1/bfd/elf32-dlx.h A processors/ARM/gdb-8.3.1/bfd/elf32-gen.c A processors/ARM/gdb-8.3.1/bfd/elf32-hppa.h A processors/ARM/gdb-8.3.1/bfd/elf32-m68hc1x.h A processors/ARM/gdb-8.3.1/bfd/elf32-metag.h A processors/ARM/gdb-8.3.1/bfd/elf32-nds32.h A processors/ARM/gdb-8.3.1/bfd/elf32-nios2.h A processors/ARM/gdb-8.3.1/bfd/elf32-ppc.h A processors/ARM/gdb-8.3.1/bfd/elf32-rx.h A processors/ARM/gdb-8.3.1/bfd/elf32-score.h A processors/ARM/gdb-8.3.1/bfd/elf32-sh-relocs.h A processors/ARM/gdb-8.3.1/bfd/elf32-spu.h A processors/ARM/gdb-8.3.1/bfd/elf32-tic6x.h A processors/ARM/gdb-8.3.1/bfd/elf32-tilegx.h A processors/ARM/gdb-8.3.1/bfd/elf32-tilepro.h A processors/ARM/gdb-8.3.1/bfd/elf32.c A processors/ARM/gdb-8.3.1/bfd/elf64-gen.c A processors/ARM/gdb-8.3.1/bfd/elf64-hppa.h A processors/ARM/gdb-8.3.1/bfd/elf64-ppc.h A processors/ARM/gdb-8.3.1/bfd/elf64-tilegx.h A processors/ARM/gdb-8.3.1/bfd/elf64.c A processors/ARM/gdb-8.3.1/bfd/elfcode.h A processors/ARM/gdb-8.3.1/bfd/elfcore.h A processors/ARM/gdb-8.3.1/bfd/elflink.c A processors/ARM/gdb-8.3.1/bfd/elfnn-aarch64.c A processors/ARM/gdb-8.3.1/bfd/elfxx-aarch64.c A processors/ARM/gdb-8.3.1/bfd/elfxx-aarch64.h A processors/ARM/gdb-8.3.1/bfd/elfxx-ia64.h A processors/ARM/gdb-8.3.1/bfd/elfxx-mips.h A processors/ARM/gdb-8.3.1/bfd/elfxx-riscv.h A processors/ARM/gdb-8.3.1/bfd/elfxx-sparc.h A processors/ARM/gdb-8.3.1/bfd/elfxx-target.h A processors/ARM/gdb-8.3.1/bfd/elfxx-tilegx.h A processors/ARM/gdb-8.3.1/bfd/elfxx-x86.h A processors/ARM/gdb-8.3.1/bfd/format.c A processors/ARM/gdb-8.3.1/bfd/gen-aout.c A processors/ARM/gdb-8.3.1/bfd/genlink.h A processors/ARM/gdb-8.3.1/bfd/go32stub.h A processors/ARM/gdb-8.3.1/bfd/hash.c A processors/ARM/gdb-8.3.1/bfd/host-aout.c A processors/ARM/gdb-8.3.1/bfd/hosts/alphalinux.h A processors/ARM/gdb-8.3.1/bfd/hosts/alphavms.h A processors/ARM/gdb-8.3.1/bfd/hosts/decstation.h A processors/ARM/gdb-8.3.1/bfd/hosts/dpx2.h A processors/ARM/gdb-8.3.1/bfd/hosts/i386bsd.h A processors/ARM/gdb-8.3.1/bfd/hosts/i386linux.h A processors/ARM/gdb-8.3.1/bfd/hosts/i386mach3.h A processors/ARM/gdb-8.3.1/bfd/hosts/i386sco.h A processors/ARM/gdb-8.3.1/bfd/hosts/m68klinux.h A processors/ARM/gdb-8.3.1/bfd/hosts/mipsbsd.h A processors/ARM/gdb-8.3.1/bfd/hosts/mipsmach3.h A processors/ARM/gdb-8.3.1/bfd/hosts/news-mips.h A processors/ARM/gdb-8.3.1/bfd/hosts/pc532mach.h A processors/ARM/gdb-8.3.1/bfd/hosts/riscos.h A processors/ARM/gdb-8.3.1/bfd/hosts/symmetry.h A processors/ARM/gdb-8.3.1/bfd/hosts/vaxbsd.h A processors/ARM/gdb-8.3.1/bfd/hosts/vaxlinux.h A processors/ARM/gdb-8.3.1/bfd/hosts/vaxult.h A processors/ARM/gdb-8.3.1/bfd/hosts/vaxult2.h A processors/ARM/gdb-8.3.1/bfd/hosts/x86-64linux.h A processors/ARM/gdb-8.3.1/bfd/hppabsd-core.c A processors/ARM/gdb-8.3.1/bfd/hpux-core.c A processors/ARM/gdb-8.3.1/bfd/i386aout.c A processors/ARM/gdb-8.3.1/bfd/i386bsd.c A processors/ARM/gdb-8.3.1/bfd/i386lynx.c A processors/ARM/gdb-8.3.1/bfd/i386msdos.c A processors/ARM/gdb-8.3.1/bfd/ihex.c A processors/ARM/gdb-8.3.1/bfd/init.c A processors/ARM/gdb-8.3.1/bfd/irix-core.c A processors/ARM/gdb-8.3.1/bfd/libaout.h A processors/ARM/gdb-8.3.1/bfd/libbfd-in.h A processors/ARM/gdb-8.3.1/bfd/libbfd.c A processors/ARM/gdb-8.3.1/bfd/libbfd.h A processors/ARM/gdb-8.3.1/bfd/libcoff-in.h A processors/ARM/gdb-8.3.1/bfd/libcoff.h A processors/ARM/gdb-8.3.1/bfd/libecoff.h A processors/ARM/gdb-8.3.1/bfd/libhppa.h A processors/ARM/gdb-8.3.1/bfd/libpei.h A processors/ARM/gdb-8.3.1/bfd/libxcoff.h A processors/ARM/gdb-8.3.1/bfd/linker.c A processors/ARM/gdb-8.3.1/bfd/lynx-core.c A processors/ARM/gdb-8.3.1/bfd/mach-o-aarch64.c A processors/ARM/gdb-8.3.1/bfd/mach-o-arm.c A processors/ARM/gdb-8.3.1/bfd/mach-o-target.c A processors/ARM/gdb-8.3.1/bfd/mach-o.c A processors/ARM/gdb-8.3.1/bfd/mach-o.h A processors/ARM/gdb-8.3.1/bfd/makefile.vms A processors/ARM/gdb-8.3.1/bfd/mep-relocs.pl A processors/ARM/gdb-8.3.1/bfd/merge.c A processors/ARM/gdb-8.3.1/bfd/mmo.c A processors/ARM/gdb-8.3.1/bfd/netbsd-core.c A processors/ARM/gdb-8.3.1/bfd/netbsd.h A processors/ARM/gdb-8.3.1/bfd/ns32k.h A processors/ARM/gdb-8.3.1/bfd/ns32knetbsd.c A processors/ARM/gdb-8.3.1/bfd/opncls.c A processors/ARM/gdb-8.3.1/bfd/osf-core.c A processors/ARM/gdb-8.3.1/bfd/pc532-mach.c A processors/ARM/gdb-8.3.1/bfd/pdp11.c A processors/ARM/gdb-8.3.1/bfd/pe-arm.c A processors/ARM/gdb-8.3.1/bfd/pef-traceback.h A processors/ARM/gdb-8.3.1/bfd/pef.h A processors/ARM/gdb-8.3.1/bfd/pei-arm.c A processors/ARM/gdb-8.3.1/bfd/peicode.h A processors/ARM/gdb-8.3.1/bfd/plugin.c A processors/ARM/gdb-8.3.1/bfd/plugin.h A processors/ARM/gdb-8.3.1/bfd/po/BLD-POTFILES.in A processors/ARM/gdb-8.3.1/bfd/po/Make-in A processors/ARM/gdb-8.3.1/bfd/po/SRC-POTFILES.in A processors/ARM/gdb-8.3.1/bfd/po/bfd.pot A processors/ARM/gdb-8.3.1/bfd/po/da.gmo A processors/ARM/gdb-8.3.1/bfd/po/da.po A processors/ARM/gdb-8.3.1/bfd/po/es.gmo A processors/ARM/gdb-8.3.1/bfd/po/es.po A processors/ARM/gdb-8.3.1/bfd/po/fi.gmo A processors/ARM/gdb-8.3.1/bfd/po/fi.po A processors/ARM/gdb-8.3.1/bfd/po/fr.gmo A processors/ARM/gdb-8.3.1/bfd/po/fr.po A processors/ARM/gdb-8.3.1/bfd/po/hr.gmo A processors/ARM/gdb-8.3.1/bfd/po/hr.po A processors/ARM/gdb-8.3.1/bfd/po/id.gmo A processors/ARM/gdb-8.3.1/bfd/po/id.po A processors/ARM/gdb-8.3.1/bfd/po/ja.gmo A processors/ARM/gdb-8.3.1/bfd/po/ja.po A processors/ARM/gdb-8.3.1/bfd/po/pt.gmo A processors/ARM/gdb-8.3.1/bfd/po/pt.po A processors/ARM/gdb-8.3.1/bfd/po/ro.gmo A processors/ARM/gdb-8.3.1/bfd/po/ro.po A processors/ARM/gdb-8.3.1/bfd/po/ru.gmo A processors/ARM/gdb-8.3.1/bfd/po/ru.po A processors/ARM/gdb-8.3.1/bfd/po/rw.gmo A processors/ARM/gdb-8.3.1/bfd/po/rw.po A processors/ARM/gdb-8.3.1/bfd/po/sr.gmo A processors/ARM/gdb-8.3.1/bfd/po/sr.po A processors/ARM/gdb-8.3.1/bfd/po/sv.gmo A processors/ARM/gdb-8.3.1/bfd/po/sv.po A processors/ARM/gdb-8.3.1/bfd/po/tr.gmo A processors/ARM/gdb-8.3.1/bfd/po/tr.po A processors/ARM/gdb-8.3.1/bfd/po/uk.gmo A processors/ARM/gdb-8.3.1/bfd/po/uk.po A processors/ARM/gdb-8.3.1/bfd/po/vi.gmo A processors/ARM/gdb-8.3.1/bfd/po/vi.po A processors/ARM/gdb-8.3.1/bfd/po/zh_CN.gmo A processors/ARM/gdb-8.3.1/bfd/po/zh_CN.po A processors/ARM/gdb-8.3.1/bfd/ppcboot.c A processors/ARM/gdb-8.3.1/bfd/ptrace-core.c A processors/ARM/gdb-8.3.1/bfd/reloc.c A processors/ARM/gdb-8.3.1/bfd/reloc16.c A processors/ARM/gdb-8.3.1/bfd/rs6000-core.c A processors/ARM/gdb-8.3.1/bfd/sco5-core.c A processors/ARM/gdb-8.3.1/bfd/section.c A processors/ARM/gdb-8.3.1/bfd/simple.c A processors/ARM/gdb-8.3.1/bfd/som.c A processors/ARM/gdb-8.3.1/bfd/som.h A processors/ARM/gdb-8.3.1/bfd/srec.c A processors/ARM/gdb-8.3.1/bfd/stab-syms.c A processors/ARM/gdb-8.3.1/bfd/stabs.c A processors/ARM/gdb-8.3.1/bfd/stamp-h.in A processors/ARM/gdb-8.3.1/bfd/syms.c A processors/ARM/gdb-8.3.1/bfd/sysdep.h A processors/ARM/gdb-8.3.1/bfd/targets.c A processors/ARM/gdb-8.3.1/bfd/targmatch.sed A processors/ARM/gdb-8.3.1/bfd/tekhex.c A processors/ARM/gdb-8.3.1/bfd/trad-core.c A processors/ARM/gdb-8.3.1/bfd/vax1knetbsd.c A processors/ARM/gdb-8.3.1/bfd/vaxnetbsd.c A processors/ARM/gdb-8.3.1/bfd/verilog.c A processors/ARM/gdb-8.3.1/bfd/version.h A processors/ARM/gdb-8.3.1/bfd/version.m4 A processors/ARM/gdb-8.3.1/bfd/vms-alpha.c A processors/ARM/gdb-8.3.1/bfd/vms-lib.c A processors/ARM/gdb-8.3.1/bfd/vms-misc.c A processors/ARM/gdb-8.3.1/bfd/vms.h A processors/ARM/gdb-8.3.1/bfd/warning.m4 A processors/ARM/gdb-8.3.1/bfd/wasm-module.c A processors/ARM/gdb-8.3.1/bfd/wasm-module.h A processors/ARM/gdb-8.3.1/bfd/xcofflink.c A processors/ARM/gdb-8.3.1/bfd/xsym.c A processors/ARM/gdb-8.3.1/bfd/xsym.h A processors/ARM/gdb-8.3.1/bfd/xtensa-isa.c A processors/ARM/gdb-8.3.1/bfd/xtensa-modules.c A processors/ARM/gdb-8.3.1/config-ml.in A processors/ARM/gdb-8.3.1/config.guess A processors/ARM/gdb-8.3.1/config.rpath A processors/ARM/gdb-8.3.1/config.sub A processors/ARM/gdb-8.3.1/config/ChangeLog A processors/ARM/gdb-8.3.1/config/acinclude.m4 A processors/ARM/gdb-8.3.1/config/acx.m4 A processors/ARM/gdb-8.3.1/config/asmcfi.m4 A processors/ARM/gdb-8.3.1/config/ax_check_define.m4 A processors/ARM/gdb-8.3.1/config/ax_pthread.m4 A processors/ARM/gdb-8.3.1/config/bitfields.m4 A processors/ARM/gdb-8.3.1/config/bootstrap-O1.mk A processors/ARM/gdb-8.3.1/config/bootstrap-O3.mk A processors/ARM/gdb-8.3.1/config/bootstrap-asan.mk A processors/ARM/gdb-8.3.1/config/bootstrap-cet.mk A processors/ARM/gdb-8.3.1/config/bootstrap-debug-big.mk A processors/ARM/gdb-8.3.1/config/bootstrap-debug-ckovw.mk A processors/ARM/gdb-8.3.1/config/bootstrap-debug-lean.mk A processors/ARM/gdb-8.3.1/config/bootstrap-debug-lib.mk A processors/ARM/gdb-8.3.1/config/bootstrap-debug.mk A processors/ARM/gdb-8.3.1/config/bootstrap-lto-noplugin.mk A processors/ARM/gdb-8.3.1/config/bootstrap-lto.mk A processors/ARM/gdb-8.3.1/config/bootstrap-time.mk A processors/ARM/gdb-8.3.1/config/bootstrap-ubsan.mk A processors/ARM/gdb-8.3.1/config/cet.m4 A processors/ARM/gdb-8.3.1/config/codeset.m4 A processors/ARM/gdb-8.3.1/config/depstand.m4 A processors/ARM/gdb-8.3.1/config/dfp.m4 A processors/ARM/gdb-8.3.1/config/elf.m4 A processors/ARM/gdb-8.3.1/config/enable.m4 A processors/ARM/gdb-8.3.1/config/extensions.m4 A processors/ARM/gdb-8.3.1/config/futex.m4 A processors/ARM/gdb-8.3.1/config/gc++filt.m4 A processors/ARM/gdb-8.3.1/config/gcc-plugin.m4 A processors/ARM/gdb-8.3.1/config/gettext-sister.m4 A processors/ARM/gdb-8.3.1/config/gettext.m4 A processors/ARM/gdb-8.3.1/config/glibc21.m4 A processors/ARM/gdb-8.3.1/config/gthr.m4 A processors/ARM/gdb-8.3.1/config/gxx-include-dir.m4 A processors/ARM/gdb-8.3.1/config/hwcaps.m4 A processors/ARM/gdb-8.3.1/config/iconv.m4 A processors/ARM/gdb-8.3.1/config/intdiv0.m4 A processors/ARM/gdb-8.3.1/config/inttypes-pri.m4 A processors/ARM/gdb-8.3.1/config/inttypes.m4 A processors/ARM/gdb-8.3.1/config/inttypes_h.m4 A processors/ARM/gdb-8.3.1/config/isl.m4 A processors/ARM/gdb-8.3.1/config/largefile.m4 A processors/ARM/gdb-8.3.1/config/lcmessage.m4 A processors/ARM/gdb-8.3.1/config/ld-symbolic.m4 A processors/ARM/gdb-8.3.1/config/lead-dot.m4 A processors/ARM/gdb-8.3.1/config/lib-ld.m4 A processors/ARM/gdb-8.3.1/config/lib-link.m4 A processors/ARM/gdb-8.3.1/config/lib-prefix.m4 A processors/ARM/gdb-8.3.1/config/libstdc++-raw-cxx.m4 A processors/ARM/gdb-8.3.1/config/lthostflags.m4 A processors/ARM/gdb-8.3.1/config/math.m4 A processors/ARM/gdb-8.3.1/config/mh-alpha-linux A processors/ARM/gdb-8.3.1/config/mh-cygwin A processors/ARM/gdb-8.3.1/config/mh-darwin A processors/ARM/gdb-8.3.1/config/mh-djgpp A processors/ARM/gdb-8.3.1/config/mh-mingw A processors/ARM/gdb-8.3.1/config/mh-pa A processors/ARM/gdb-8.3.1/config/mh-pa-hpux10 A processors/ARM/gdb-8.3.1/config/mh-ppc-aix A processors/ARM/gdb-8.3.1/config/mmap.m4 A processors/ARM/gdb-8.3.1/config/mt-alphaieee A processors/ARM/gdb-8.3.1/config/mt-android A processors/ARM/gdb-8.3.1/config/mt-d30v A processors/ARM/gdb-8.3.1/config/mt-gnu A processors/ARM/gdb-8.3.1/config/mt-mips-elfoabi A processors/ARM/gdb-8.3.1/config/mt-mips-gnu A processors/ARM/gdb-8.3.1/config/mt-mips16-compat A processors/ARM/gdb-8.3.1/config/mt-nios2-elf A processors/ARM/gdb-8.3.1/config/mt-ospace A processors/ARM/gdb-8.3.1/config/mt-sde A processors/ARM/gdb-8.3.1/config/mt-spu A processors/ARM/gdb-8.3.1/config/multi.m4 A processors/ARM/gdb-8.3.1/config/nls.m4 A processors/ARM/gdb-8.3.1/config/no-executables.m4 A processors/ARM/gdb-8.3.1/config/override.m4 A processors/ARM/gdb-8.3.1/config/picflag.m4 A processors/ARM/gdb-8.3.1/config/plugins.m4 A processors/ARM/gdb-8.3.1/config/po.m4 A processors/ARM/gdb-8.3.1/config/proginstall.m4 A processors/ARM/gdb-8.3.1/config/progtest.m4 A processors/ARM/gdb-8.3.1/config/sjlj.m4 A processors/ARM/gdb-8.3.1/config/stdint.m4 A processors/ARM/gdb-8.3.1/config/stdint_h.m4 A processors/ARM/gdb-8.3.1/config/target-posix A processors/ARM/gdb-8.3.1/config/tcl.m4 A processors/ARM/gdb-8.3.1/config/tls.m4 A processors/ARM/gdb-8.3.1/config/uintmax_t.m4 A processors/ARM/gdb-8.3.1/config/ulonglong.m4 A processors/ARM/gdb-8.3.1/config/unwind_ipinfo.m4 A processors/ARM/gdb-8.3.1/config/warnings.m4 A processors/ARM/gdb-8.3.1/config/weakref.m4 A processors/ARM/gdb-8.3.1/config/zlib.m4 A processors/ARM/gdb-8.3.1/configure A processors/ARM/gdb-8.3.1/configure.ac A processors/ARM/gdb-8.3.1/cpu/ChangeLog A processors/ARM/gdb-8.3.1/cpu/cris.cpu A processors/ARM/gdb-8.3.1/cpu/epiphany.cpu A processors/ARM/gdb-8.3.1/cpu/epiphany.opc A processors/ARM/gdb-8.3.1/cpu/fr30.cpu A processors/ARM/gdb-8.3.1/cpu/fr30.opc A processors/ARM/gdb-8.3.1/cpu/frv.cpu A processors/ARM/gdb-8.3.1/cpu/frv.opc A processors/ARM/gdb-8.3.1/cpu/ip2k.cpu A processors/ARM/gdb-8.3.1/cpu/ip2k.opc A processors/ARM/gdb-8.3.1/cpu/iq10.cpu A processors/ARM/gdb-8.3.1/cpu/iq2000.cpu A processors/ARM/gdb-8.3.1/cpu/iq2000.opc A processors/ARM/gdb-8.3.1/cpu/iq2000m.cpu A processors/ARM/gdb-8.3.1/cpu/lm32.cpu A processors/ARM/gdb-8.3.1/cpu/lm32.opc A processors/ARM/gdb-8.3.1/cpu/m32c.cpu A processors/ARM/gdb-8.3.1/cpu/m32c.opc A processors/ARM/gdb-8.3.1/cpu/m32r.cpu A processors/ARM/gdb-8.3.1/cpu/m32r.opc A processors/ARM/gdb-8.3.1/cpu/mep-avc.cpu A processors/ARM/gdb-8.3.1/cpu/mep-avc2.cpu A processors/ARM/gdb-8.3.1/cpu/mep-c5.cpu A processors/ARM/gdb-8.3.1/cpu/mep-core.cpu A processors/ARM/gdb-8.3.1/cpu/mep-default.cpu A processors/ARM/gdb-8.3.1/cpu/mep-ext-cop.cpu A processors/ARM/gdb-8.3.1/cpu/mep-fmax.cpu A processors/ARM/gdb-8.3.1/cpu/mep-h1.cpu A processors/ARM/gdb-8.3.1/cpu/mep-ivc2.cpu A processors/ARM/gdb-8.3.1/cpu/mep-rhcop.cpu A processors/ARM/gdb-8.3.1/cpu/mep-sample-ucidsp.cpu A processors/ARM/gdb-8.3.1/cpu/mep.cpu A processors/ARM/gdb-8.3.1/cpu/mep.opc A processors/ARM/gdb-8.3.1/cpu/mt.cpu A processors/ARM/gdb-8.3.1/cpu/mt.opc A processors/ARM/gdb-8.3.1/cpu/or1k.cpu A processors/ARM/gdb-8.3.1/cpu/or1k.opc A processors/ARM/gdb-8.3.1/cpu/or1kcommon.cpu A processors/ARM/gdb-8.3.1/cpu/or1korbis.cpu A processors/ARM/gdb-8.3.1/cpu/or1korfpx.cpu A processors/ARM/gdb-8.3.1/cpu/sh.cpu A processors/ARM/gdb-8.3.1/cpu/sh.opc A processors/ARM/gdb-8.3.1/cpu/sh64-compact.cpu A processors/ARM/gdb-8.3.1/cpu/sh64-media.cpu A processors/ARM/gdb-8.3.1/cpu/simplify.inc A processors/ARM/gdb-8.3.1/cpu/xc16x.cpu A processors/ARM/gdb-8.3.1/cpu/xc16x.opc A processors/ARM/gdb-8.3.1/cpu/xstormy16.cpu A processors/ARM/gdb-8.3.1/cpu/xstormy16.opc A processors/ARM/gdb-8.3.1/depcomp A processors/ARM/gdb-8.3.1/gdb/.dir-locals.el A processors/ARM/gdb-8.3.1/gdb/.gitignore A processors/ARM/gdb-8.3.1/gdb/CONTRIBUTE A processors/ARM/gdb-8.3.1/gdb/COPYING A processors/ARM/gdb-8.3.1/gdb/ChangeLog A processors/ARM/gdb-8.3.1/gdb/ChangeLog-1990 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-1991 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-1992 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-1993 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-1994 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-1995 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-1996 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-1997 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-1998 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-1999 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2000 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2001 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2002 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2003 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2004 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2005 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2006 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2007 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2008 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2009 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2010 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2011 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2012 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2013 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2014 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2015 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2016 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2017 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-2018 A processors/ARM/gdb-8.3.1/gdb/ChangeLog-3.x A processors/ARM/gdb-8.3.1/gdb/MAINTAINERS A processors/ARM/gdb-8.3.1/gdb/Makefile.in A processors/ARM/gdb-8.3.1/gdb/NEWS A processors/ARM/gdb-8.3.1/gdb/PROBLEMS A processors/ARM/gdb-8.3.1/gdb/README A processors/ARM/gdb-8.3.1/gdb/aarch32-linux-nat.h A processors/ARM/gdb-8.3.1/gdb/aarch64-fbsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/aarch64-linux-tdep.h A processors/ARM/gdb-8.3.1/gdb/aarch64-ravenscar-thread.h A processors/ARM/gdb-8.3.1/gdb/aarch64-tdep.h A processors/ARM/gdb-8.3.1/gdb/acinclude.m4 A processors/ARM/gdb-8.3.1/gdb/aclocal.m4 A processors/ARM/gdb-8.3.1/gdb/acx_configure_dir.m4 A processors/ARM/gdb-8.3.1/gdb/ada-exp.y A processors/ARM/gdb-8.3.1/gdb/ada-lang.h A processors/ARM/gdb-8.3.1/gdb/ada-lex.l A processors/ARM/gdb-8.3.1/gdb/ada-operator.def A processors/ARM/gdb-8.3.1/gdb/addrmap.h A processors/ARM/gdb-8.3.1/gdb/alpha-bsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/alpha-tdep.h A processors/ARM/gdb-8.3.1/gdb/amd64-bsd-nat.h A processors/ARM/gdb-8.3.1/gdb/amd64-darwin-tdep.h A processors/ARM/gdb-8.3.1/gdb/amd64-linux-tdep.h A processors/ARM/gdb-8.3.1/gdb/amd64-nat.h A processors/ARM/gdb-8.3.1/gdb/amd64-tdep.h A processors/ARM/gdb-8.3.1/gdb/annotate.h A processors/ARM/gdb-8.3.1/gdb/arc-tdep.h A processors/ARM/gdb-8.3.1/gdb/arch-utils.h A processors/ARM/gdb-8.3.1/gdb/arch/aarch64-insn.c A processors/ARM/gdb-8.3.1/gdb/arch/aarch64-insn.h A processors/ARM/gdb-8.3.1/gdb/arch/aarch64.c A processors/ARM/gdb-8.3.1/gdb/arch/aarch64.h A processors/ARM/gdb-8.3.1/gdb/arch/amd64.c A processors/ARM/gdb-8.3.1/gdb/arch/amd64.h A processors/ARM/gdb-8.3.1/gdb/arch/arm-get-next-pcs.c A processors/ARM/gdb-8.3.1/gdb/arch/arm-get-next-pcs.h A processors/ARM/gdb-8.3.1/gdb/arch/arm-linux.c A processors/ARM/gdb-8.3.1/gdb/arch/arm-linux.h A processors/ARM/gdb-8.3.1/gdb/arch/arm.c A processors/ARM/gdb-8.3.1/gdb/arch/arm.h A processors/ARM/gdb-8.3.1/gdb/arch/i386.c A processors/ARM/gdb-8.3.1/gdb/arch/i386.h A processors/ARM/gdb-8.3.1/gdb/arch/ppc-linux-common.c A processors/ARM/gdb-8.3.1/gdb/arch/ppc-linux-common.h A processors/ARM/gdb-8.3.1/gdb/arch/ppc-linux-tdesc.h A processors/ARM/gdb-8.3.1/gdb/arch/riscv.c A processors/ARM/gdb-8.3.1/gdb/arch/riscv.h A processors/ARM/gdb-8.3.1/gdb/arch/tic6x.c A processors/ARM/gdb-8.3.1/gdb/arch/tic6x.h A processors/ARM/gdb-8.3.1/gdb/arch/xtensa.h A processors/ARM/gdb-8.3.1/gdb/arm-fbsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/arm-linux-tdep.h A processors/ARM/gdb-8.3.1/gdb/arm-tdep.h A processors/ARM/gdb-8.3.1/gdb/auto-load.h A processors/ARM/gdb-8.3.1/gdb/auxv.h A processors/ARM/gdb-8.3.1/gdb/ax-gdb.h A processors/ARM/gdb-8.3.1/gdb/ax.h A processors/ARM/gdb-8.3.1/gdb/ax_cxx_compile_stdcxx.m4 A processors/ARM/gdb-8.3.1/gdb/bcache.h A processors/ARM/gdb-8.3.1/gdb/bfd-target.h A processors/ARM/gdb-8.3.1/gdb/bfin-tdep.h A processors/ARM/gdb-8.3.1/gdb/block.h A processors/ARM/gdb-8.3.1/gdb/breakpoint.h A processors/ARM/gdb-8.3.1/gdb/bsd-kvm.h A processors/ARM/gdb-8.3.1/gdb/bsd-uthread.h A processors/ARM/gdb-8.3.1/gdb/btrace.h A processors/ARM/gdb-8.3.1/gdb/build-id.h A processors/ARM/gdb-8.3.1/gdb/buildsym-legacy.h A processors/ARM/gdb-8.3.1/gdb/buildsym.h A processors/ARM/gdb-8.3.1/gdb/c-exp.y A processors/ARM/gdb-8.3.1/gdb/c-lang.h A processors/ARM/gdb-8.3.1/gdb/c-support.h A processors/ARM/gdb-8.3.1/gdb/charset-list.h A processors/ARM/gdb-8.3.1/gdb/charset.h A processors/ARM/gdb-8.3.1/gdb/cli-out.h A processors/ARM/gdb-8.3.1/gdb/cli/cli-cmds.c A processors/ARM/gdb-8.3.1/gdb/cli/cli-cmds.h A processors/ARM/gdb-8.3.1/gdb/cli/cli-decode.c A processors/ARM/gdb-8.3.1/gdb/cli/cli-decode.h A processors/ARM/gdb-8.3.1/gdb/cli/cli-dump.c A processors/ARM/gdb-8.3.1/gdb/cli/cli-interp.c A processors/ARM/gdb-8.3.1/gdb/cli/cli-interp.h A processors/ARM/gdb-8.3.1/gdb/cli/cli-logging.c A processors/ARM/gdb-8.3.1/gdb/cli/cli-script.c A processors/ARM/gdb-8.3.1/gdb/cli/cli-script.h A processors/ARM/gdb-8.3.1/gdb/cli/cli-setshow.c A processors/ARM/gdb-8.3.1/gdb/cli/cli-setshow.h A processors/ARM/gdb-8.3.1/gdb/cli/cli-style.c A processors/ARM/gdb-8.3.1/gdb/cli/cli-style.h A processors/ARM/gdb-8.3.1/gdb/cli/cli-utils.c A processors/ARM/gdb-8.3.1/gdb/cli/cli-utils.h A processors/ARM/gdb-8.3.1/gdb/coff-pe-read.h A processors/ARM/gdb-8.3.1/gdb/command.h A processors/ARM/gdb-8.3.1/gdb/common/agent.c A processors/ARM/gdb-8.3.1/gdb/common/agent.h A processors/ARM/gdb-8.3.1/gdb/common/array-view.h A processors/ARM/gdb-8.3.1/gdb/common/ax.def A processors/ARM/gdb-8.3.1/gdb/common/break-common.h A processors/ARM/gdb-8.3.1/gdb/common/btrace-common.c A processors/ARM/gdb-8.3.1/gdb/common/btrace-common.h A processors/ARM/gdb-8.3.1/gdb/common/buffer.c A processors/ARM/gdb-8.3.1/gdb/common/buffer.h A processors/ARM/gdb-8.3.1/gdb/common/byte-vector.h A processors/ARM/gdb-8.3.1/gdb/common/cleanups.c A processors/ARM/gdb-8.3.1/gdb/common/cleanups.h A processors/ARM/gdb-8.3.1/gdb/common/common-debug.c A processors/ARM/gdb-8.3.1/gdb/common/common-debug.h A processors/ARM/gdb-8.3.1/gdb/common/common-defs.h A processors/ARM/gdb-8.3.1/gdb/common/common-exceptions.c A processors/ARM/gdb-8.3.1/gdb/common/common-exceptions.h A processors/ARM/gdb-8.3.1/gdb/common/common-gdbthread.h A processors/ARM/gdb-8.3.1/gdb/common/common-inferior.h A processors/ARM/gdb-8.3.1/gdb/common/common-regcache.c A processors/ARM/gdb-8.3.1/gdb/common/common-regcache.h A processors/ARM/gdb-8.3.1/gdb/common/common-types.h A processors/ARM/gdb-8.3.1/gdb/common/common-utils.c A processors/ARM/gdb-8.3.1/gdb/common/common-utils.h A processors/ARM/gdb-8.3.1/gdb/common/common.host A processors/ARM/gdb-8.3.1/gdb/common/common.m4 A processors/ARM/gdb-8.3.1/gdb/common/create-version.sh A processors/ARM/gdb-8.3.1/gdb/common/def-vector.h A processors/ARM/gdb-8.3.1/gdb/common/default-init-alloc.h A processors/ARM/gdb-8.3.1/gdb/common/enum-flags.h A processors/ARM/gdb-8.3.1/gdb/common/environ.c A processors/ARM/gdb-8.3.1/gdb/common/environ.h A processors/ARM/gdb-8.3.1/gdb/common/errors.c A processors/ARM/gdb-8.3.1/gdb/common/errors.h A processors/ARM/gdb-8.3.1/gdb/common/fileio.c A processors/ARM/gdb-8.3.1/gdb/common/fileio.h A processors/ARM/gdb-8.3.1/gdb/common/filestuff.c A processors/ARM/gdb-8.3.1/gdb/common/filestuff.h A processors/ARM/gdb-8.3.1/gdb/common/filtered-iterator.h A processors/ARM/gdb-8.3.1/gdb/common/format.c A processors/ARM/gdb-8.3.1/gdb/common/format.h A processors/ARM/gdb-8.3.1/gdb/common/forward-scope-exit.h A processors/ARM/gdb-8.3.1/gdb/common/function-view.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_assert.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_locale.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_optional.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_proc_service.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_ref_ptr.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_setjmp.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_signals.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_splay_tree.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_string_view.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_string_view.tcc A processors/ARM/gdb-8.3.1/gdb/common/gdb_sys_time.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_tilde_expand.c A processors/ARM/gdb-8.3.1/gdb/common/gdb_tilde_expand.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_unique_ptr.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_unlinker.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_vecs.c A processors/ARM/gdb-8.3.1/gdb/common/gdb_vecs.h A processors/ARM/gdb-8.3.1/gdb/common/gdb_wait.h A processors/ARM/gdb-8.3.1/gdb/common/hash_enum.h A processors/ARM/gdb-8.3.1/gdb/common/host-defs.h A processors/ARM/gdb-8.3.1/gdb/common/job-control.c A processors/ARM/gdb-8.3.1/gdb/common/job-control.h A processors/ARM/gdb-8.3.1/gdb/common/mingw-strerror.c A processors/ARM/gdb-8.3.1/gdb/common/netstuff.c A processors/ARM/gdb-8.3.1/gdb/common/netstuff.h A processors/ARM/gdb-8.3.1/gdb/common/new-op.c A processors/ARM/gdb-8.3.1/gdb/common/next-iterator.h A processors/ARM/gdb-8.3.1/gdb/common/observable.h A processors/ARM/gdb-8.3.1/gdb/common/offset-type.h A processors/ARM/gdb-8.3.1/gdb/common/pathstuff.c A processors/ARM/gdb-8.3.1/gdb/common/pathstuff.h A processors/ARM/gdb-8.3.1/gdb/common/poison.h A processors/ARM/gdb-8.3.1/gdb/common/posix-strerror.c A processors/ARM/gdb-8.3.1/gdb/common/preprocessor.h A processors/ARM/gdb-8.3.1/gdb/common/print-utils.c A processors/ARM/gdb-8.3.1/gdb/common/print-utils.h A processors/ARM/gdb-8.3.1/gdb/common/ptid.c A processors/ARM/gdb-8.3.1/gdb/common/ptid.h A processors/ARM/gdb-8.3.1/gdb/common/queue.h A processors/ARM/gdb-8.3.1/gdb/common/refcounted-object.h A processors/ARM/gdb-8.3.1/gdb/common/rsp-low.c A processors/ARM/gdb-8.3.1/gdb/common/rsp-low.h A processors/ARM/gdb-8.3.1/gdb/common/run-time-clock.c A processors/ARM/gdb-8.3.1/gdb/common/run-time-clock.h A processors/ARM/gdb-8.3.1/gdb/common/safe-iterator.h A processors/ARM/gdb-8.3.1/gdb/common/scope-exit.h A processors/ARM/gdb-8.3.1/gdb/common/scoped_fd.h A processors/ARM/gdb-8.3.1/gdb/common/scoped_mmap.c A processors/ARM/gdb-8.3.1/gdb/common/scoped_mmap.h A processors/ARM/gdb-8.3.1/gdb/common/scoped_restore.h A processors/ARM/gdb-8.3.1/gdb/common/selftest.c A processors/ARM/gdb-8.3.1/gdb/common/selftest.h A processors/ARM/gdb-8.3.1/gdb/common/signals-state-save-restore.c A processors/ARM/gdb-8.3.1/gdb/common/signals-state-save-restore.h A processors/ARM/gdb-8.3.1/gdb/common/signals.c A processors/ARM/gdb-8.3.1/gdb/common/symbol.h A processors/ARM/gdb-8.3.1/gdb/common/tdesc.c A processors/ARM/gdb-8.3.1/gdb/common/tdesc.h A processors/ARM/gdb-8.3.1/gdb/common/traits.h A processors/ARM/gdb-8.3.1/gdb/common/underlying.h A processors/ARM/gdb-8.3.1/gdb/common/valid-expr.h A processors/ARM/gdb-8.3.1/gdb/common/vec.c A processors/ARM/gdb-8.3.1/gdb/common/vec.h A processors/ARM/gdb-8.3.1/gdb/common/version.h A processors/ARM/gdb-8.3.1/gdb/common/x86-xstate.h A processors/ARM/gdb-8.3.1/gdb/common/xml-utils.c A processors/ARM/gdb-8.3.1/gdb/common/xml-utils.h A processors/ARM/gdb-8.3.1/gdb/compile/compile-c-support.c A processors/ARM/gdb-8.3.1/gdb/compile/compile-c-symbols.c A processors/ARM/gdb-8.3.1/gdb/compile/compile-c-types.c A processors/ARM/gdb-8.3.1/gdb/compile/compile-c.h A processors/ARM/gdb-8.3.1/gdb/compile/compile-cplus-symbols.c A processors/ARM/gdb-8.3.1/gdb/compile/compile-cplus-types.c A processors/ARM/gdb-8.3.1/gdb/compile/compile-cplus.h A processors/ARM/gdb-8.3.1/gdb/compile/compile-internal.h A processors/ARM/gdb-8.3.1/gdb/compile/compile-loc2c.c A processors/ARM/gdb-8.3.1/gdb/compile/compile-object-load.c A processors/ARM/gdb-8.3.1/gdb/compile/compile-object-load.h A processors/ARM/gdb-8.3.1/gdb/compile/compile-object-run.c A processors/ARM/gdb-8.3.1/gdb/compile/compile-object-run.h A processors/ARM/gdb-8.3.1/gdb/compile/compile.c A processors/ARM/gdb-8.3.1/gdb/compile/compile.h A processors/ARM/gdb-8.3.1/gdb/compile/gcc-c-plugin.h A processors/ARM/gdb-8.3.1/gdb/compile/gcc-cp-plugin.h A processors/ARM/gdb-8.3.1/gdb/complaints.h A processors/ARM/gdb-8.3.1/gdb/completer.h A processors/ARM/gdb-8.3.1/gdb/config.in A processors/ARM/gdb-8.3.1/gdb/config/djgpp/README A processors/ARM/gdb-8.3.1/gdb/config/djgpp/config.sed A processors/ARM/gdb-8.3.1/gdb/config/djgpp/djcheck.sh A processors/ARM/gdb-8.3.1/gdb/config/djgpp/djconfig.sh A processors/ARM/gdb-8.3.1/gdb/config/djgpp/fnchange.lst A processors/ARM/gdb-8.3.1/gdb/config/djgpp/langinfo.h A processors/ARM/gdb-8.3.1/gdb/config/djgpp/nl_types.h A processors/ARM/gdb-8.3.1/gdb/config/i386/i386gnu.mn A processors/ARM/gdb-8.3.1/gdb/config/i386/nm-i386gnu.h A processors/ARM/gdb-8.3.1/gdb/config/nm-linux.h A processors/ARM/gdb-8.3.1/gdb/config/nm-nto.h A processors/ARM/gdb-8.3.1/gdb/config/sparc/nm-sol2.h A processors/ARM/gdb-8.3.1/gdb/configure A processors/ARM/gdb-8.3.1/gdb/configure.ac A processors/ARM/gdb-8.3.1/gdb/configure.host A processors/ARM/gdb-8.3.1/gdb/configure.nat A processors/ARM/gdb-8.3.1/gdb/configure.tgt A processors/ARM/gdb-8.3.1/gdb/continuations.h A processors/ARM/gdb-8.3.1/gdb/contrib/ari/create-web-ari-in-src.sh A processors/ARM/gdb-8.3.1/gdb/contrib/ari/gdb_ari.sh A processors/ARM/gdb-8.3.1/gdb/contrib/ari/gdb_find.sh A processors/ARM/gdb-8.3.1/gdb/contrib/ari/update-web-ari.sh A processors/ARM/gdb-8.3.1/gdb/contrib/cc-with-tweaks.sh A processors/ARM/gdb-8.3.1/gdb/contrib/expect-read1.c A processors/ARM/gdb-8.3.1/gdb/contrib/expect-read1.sh A processors/ARM/gdb-8.3.1/gdb/contrib/gdb-add-index.sh A processors/ARM/gdb-8.3.1/gdb/contrib/test_pubnames_and_indexes.py A processors/ARM/gdb-8.3.1/gdb/copying.awk A processors/ARM/gdb-8.3.1/gdb/copyright.py A processors/ARM/gdb-8.3.1/gdb/cp-abi.h A processors/ARM/gdb-8.3.1/gdb/cp-name-parser.y A processors/ARM/gdb-8.3.1/gdb/cp-support.h A processors/ARM/gdb-8.3.1/gdb/cris-tdep.h A processors/ARM/gdb-8.3.1/gdb/csky-tdep.h A processors/ARM/gdb-8.3.1/gdb/ctf.h A processors/ARM/gdb-8.3.1/gdb/d-exp.y A processors/ARM/gdb-8.3.1/gdb/d-lang.h A processors/ARM/gdb-8.3.1/gdb/darwin-nat.h A processors/ARM/gdb-8.3.1/gdb/data-directory/.gitignore A processors/ARM/gdb-8.3.1/gdb/data-directory/Makefile.in A processors/ARM/gdb-8.3.1/gdb/dcache.h A processors/ARM/gdb-8.3.1/gdb/defs.h A processors/ARM/gdb-8.3.1/gdb/dicos-tdep.h A processors/ARM/gdb-8.3.1/gdb/dictionary.h A processors/ARM/gdb-8.3.1/gdb/disable-implicit-rules.mk A processors/ARM/gdb-8.3.1/gdb/disasm.h A processors/ARM/gdb-8.3.1/gdb/dummy-frame.h A processors/ARM/gdb-8.3.1/gdb/dwarf-index-cache.h A processors/ARM/gdb-8.3.1/gdb/dwarf-index-common.h A processors/ARM/gdb-8.3.1/gdb/dwarf-index-write.h A processors/ARM/gdb-8.3.1/gdb/dwarf2-frame-tailcall.h A processors/ARM/gdb-8.3.1/gdb/dwarf2-frame.h A processors/ARM/gdb-8.3.1/gdb/dwarf2expr.h A processors/ARM/gdb-8.3.1/gdb/dwarf2loc.h A processors/ARM/gdb-8.3.1/gdb/dwarf2read.h A processors/ARM/gdb-8.3.1/gdb/event-loop.h A processors/ARM/gdb-8.3.1/gdb/event-top.h A processors/ARM/gdb-8.3.1/gdb/exc_request.defs A processors/ARM/gdb-8.3.1/gdb/exceptions.h A processors/ARM/gdb-8.3.1/gdb/exec.h A processors/ARM/gdb-8.3.1/gdb/expression.h A processors/ARM/gdb-8.3.1/gdb/extension-priv.h A processors/ARM/gdb-8.3.1/gdb/extension.h A processors/ARM/gdb-8.3.1/gdb/f-exp.y A processors/ARM/gdb-8.3.1/gdb/f-lang.h A processors/ARM/gdb-8.3.1/gdb/fbsd-nat.h A processors/ARM/gdb-8.3.1/gdb/fbsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/filename-seen-cache.h A processors/ARM/gdb-8.3.1/gdb/filesystem.h A processors/ARM/gdb-8.3.1/gdb/frame-base.h A processors/ARM/gdb-8.3.1/gdb/frame-unwind.h A processors/ARM/gdb-8.3.1/gdb/frame.h A processors/ARM/gdb-8.3.1/gdb/frv-tdep.h A processors/ARM/gdb-8.3.1/gdb/ft32-tdep.h A processors/ARM/gdb-8.3.1/gdb/gcore.h A processors/ARM/gdb-8.3.1/gdb/gcore.in A processors/ARM/gdb-8.3.1/gdb/gdb-code-style.el A processors/ARM/gdb-8.3.1/gdb/gdb-demangle.h A processors/ARM/gdb-8.3.1/gdb/gdb-dlfcn.h A processors/ARM/gdb-8.3.1/gdb/gdb-gdb.gdb.in A processors/ARM/gdb-8.3.1/gdb/gdb-gdb.py.in A processors/ARM/gdb-8.3.1/gdb/gdb-stabs.h A processors/ARM/gdb-8.3.1/gdb/gdb.gdb A processors/ARM/gdb-8.3.1/gdb/gdb_bfd.h A processors/ARM/gdb-8.3.1/gdb/gdb_buildall.sh A processors/ARM/gdb-8.3.1/gdb/gdb_curses.h A processors/ARM/gdb-8.3.1/gdb/gdb_expat.h A processors/ARM/gdb-8.3.1/gdb/gdb_indent.sh A processors/ARM/gdb-8.3.1/gdb/gdb_mbuild.sh A processors/ARM/gdb-8.3.1/gdb/gdb_obstack.h A processors/ARM/gdb-8.3.1/gdb/gdb_proc_service.h A processors/ARM/gdb-8.3.1/gdb/gdb_regex.h A processors/ARM/gdb-8.3.1/gdb/gdb_select.h A processors/ARM/gdb-8.3.1/gdb/gdb_usleep.h A processors/ARM/gdb-8.3.1/gdb/gdb_vfork.h A processors/ARM/gdb-8.3.1/gdb/gdb_wchar.h A processors/ARM/gdb-8.3.1/gdb/gdbarch.h A processors/ARM/gdb-8.3.1/gdb/gdbarch.sh A processors/ARM/gdb-8.3.1/gdb/gdbcmd.h A processors/ARM/gdb-8.3.1/gdb/gdbcore.h A processors/ARM/gdb-8.3.1/gdb/gdbthread.h A processors/ARM/gdb-8.3.1/gdb/gdbtypes.h A processors/ARM/gdb-8.3.1/gdb/glibc-tdep.h A processors/ARM/gdb-8.3.1/gdb/gnu-nat.h A processors/ARM/gdb-8.3.1/gdb/go-exp.y A processors/ARM/gdb-8.3.1/gdb/go-lang.h A processors/ARM/gdb-8.3.1/gdb/gregset.h A processors/ARM/gdb-8.3.1/gdb/guile/README A processors/ARM/gdb-8.3.1/gdb/guile/guile-internal.h A processors/ARM/gdb-8.3.1/gdb/guile/guile.c A processors/ARM/gdb-8.3.1/gdb/guile/guile.h A processors/ARM/gdb-8.3.1/gdb/guile/lib/gdb.scm A processors/ARM/gdb-8.3.1/gdb/guile/lib/gdb/boot.scm A processors/ARM/gdb-8.3.1/gdb/guile/lib/gdb/experimental.scm A processors/ARM/gdb-8.3.1/gdb/guile/lib/gdb/init.scm A processors/ARM/gdb-8.3.1/gdb/guile/lib/gdb/iterator.scm A processors/ARM/gdb-8.3.1/gdb/guile/lib/gdb/printing.scm A processors/ARM/gdb-8.3.1/gdb/guile/lib/gdb/support.scm A processors/ARM/gdb-8.3.1/gdb/guile/lib/gdb/types.scm A processors/ARM/gdb-8.3.1/gdb/guile/scm-arch.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-auto-load.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-block.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-breakpoint.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-cmd.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-disasm.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-exception.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-frame.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-gsmob.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-iterator.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-lazy-string.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-math.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-objfile.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-param.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-ports.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-pretty-print.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-progspace.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-safe-call.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-string.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-symbol.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-symtab.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-type.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-utils.c A processors/ARM/gdb-8.3.1/gdb/guile/scm-value.c A processors/ARM/gdb-8.3.1/gdb/hppa-bsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/hppa-linux-offsets.h A processors/ARM/gdb-8.3.1/gdb/hppa-tdep.h A processors/ARM/gdb-8.3.1/gdb/i386-bsd-nat.h A processors/ARM/gdb-8.3.1/gdb/i386-darwin-tdep.h A processors/ARM/gdb-8.3.1/gdb/i386-fbsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/i386-linux-nat.h A processors/ARM/gdb-8.3.1/gdb/i386-linux-tdep.h A processors/ARM/gdb-8.3.1/gdb/i386-tdep.h A processors/ARM/gdb-8.3.1/gdb/i387-tdep.h A processors/ARM/gdb-8.3.1/gdb/ia64-libunwind-tdep.h A processors/ARM/gdb-8.3.1/gdb/ia64-tdep.h A processors/ARM/gdb-8.3.1/gdb/inf-child.h A processors/ARM/gdb-8.3.1/gdb/inf-loop.h A processors/ARM/gdb-8.3.1/gdb/inf-ptrace.h A processors/ARM/gdb-8.3.1/gdb/infcall.h A processors/ARM/gdb-8.3.1/gdb/inferior-iter.h A processors/ARM/gdb-8.3.1/gdb/inferior.h A processors/ARM/gdb-8.3.1/gdb/inflow.h A processors/ARM/gdb-8.3.1/gdb/infrun.h A processors/ARM/gdb-8.3.1/gdb/inline-frame.h A processors/ARM/gdb-8.3.1/gdb/interps.h A processors/ARM/gdb-8.3.1/gdb/jit-reader.in A processors/ARM/gdb-8.3.1/gdb/jit.h A processors/ARM/gdb-8.3.1/gdb/language.h A processors/ARM/gdb-8.3.1/gdb/libiberty.m4 A processors/ARM/gdb-8.3.1/gdb/libmcheck.m4 A processors/ARM/gdb-8.3.1/gdb/linespec.h A processors/ARM/gdb-8.3.1/gdb/linux-fork.h A processors/ARM/gdb-8.3.1/gdb/linux-nat-trad.h A processors/ARM/gdb-8.3.1/gdb/linux-nat.h A processors/ARM/gdb-8.3.1/gdb/linux-record.h A processors/ARM/gdb-8.3.1/gdb/linux-tdep.h A processors/ARM/gdb-8.3.1/gdb/location.h A processors/ARM/gdb-8.3.1/gdb/m2-exp.y A processors/ARM/gdb-8.3.1/gdb/m2-lang.h A processors/ARM/gdb-8.3.1/gdb/m32r-tdep.h A processors/ARM/gdb-8.3.1/gdb/m68k-tdep.h A processors/ARM/gdb-8.3.1/gdb/macroexp.h A processors/ARM/gdb-8.3.1/gdb/macroscope.h A processors/ARM/gdb-8.3.1/gdb/macrotab.h A processors/ARM/gdb-8.3.1/gdb/main.h A processors/ARM/gdb-8.3.1/gdb/maint.h A processors/ARM/gdb-8.3.1/gdb/make-target-delegates A processors/ARM/gdb-8.3.1/gdb/mdebugread.h A processors/ARM/gdb-8.3.1/gdb/memattr.h A processors/ARM/gdb-8.3.1/gdb/memory-map.h A processors/ARM/gdb-8.3.1/gdb/memrange.h A processors/ARM/gdb-8.3.1/gdb/mi/ChangeLog-1999-2003 A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmd-break.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmd-break.h A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmd-catch.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmd-disas.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmd-env.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmd-file.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmd-info.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmd-stack.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmd-target.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmd-var.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmds.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-cmds.h A processors/ARM/gdb-8.3.1/gdb/mi/mi-common.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-common.h A processors/ARM/gdb-8.3.1/gdb/mi/mi-console.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-console.h A processors/ARM/gdb-8.3.1/gdb/mi/mi-getopt.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-getopt.h A processors/ARM/gdb-8.3.1/gdb/mi/mi-interp.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-interp.h A processors/ARM/gdb-8.3.1/gdb/mi/mi-main.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-main.h A processors/ARM/gdb-8.3.1/gdb/mi/mi-out.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-out.h A processors/ARM/gdb-8.3.1/gdb/mi/mi-parse.c A processors/ARM/gdb-8.3.1/gdb/mi/mi-parse.h A processors/ARM/gdb-8.3.1/gdb/mi/mi-symbol-cmds.c A processors/ARM/gdb-8.3.1/gdb/microblaze-tdep.h A processors/ARM/gdb-8.3.1/gdb/minsyms.h A processors/ARM/gdb-8.3.1/gdb/mips-fbsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/mips-linux-tdep.h A processors/ARM/gdb-8.3.1/gdb/mips-nbsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/mips-tdep.h A processors/ARM/gdb-8.3.1/gdb/mn10300-tdep.h A processors/ARM/gdb-8.3.1/gdb/moxie-tdep.h A processors/ARM/gdb-8.3.1/gdb/msg.defs A processors/ARM/gdb-8.3.1/gdb/msg_reply.defs A processors/ARM/gdb-8.3.1/gdb/namespace.h A processors/ARM/gdb-8.3.1/gdb/nat/aarch64-linux-hw-point.c A processors/ARM/gdb-8.3.1/gdb/nat/aarch64-linux-hw-point.h A processors/ARM/gdb-8.3.1/gdb/nat/aarch64-linux.c A processors/ARM/gdb-8.3.1/gdb/nat/aarch64-linux.h A processors/ARM/gdb-8.3.1/gdb/nat/aarch64-sve-linux-ptrace.c A processors/ARM/gdb-8.3.1/gdb/nat/aarch64-sve-linux-ptrace.h A processors/ARM/gdb-8.3.1/gdb/nat/aarch64-sve-linux-sigcontext.h A processors/ARM/gdb-8.3.1/gdb/nat/amd64-linux-siginfo.c A processors/ARM/gdb-8.3.1/gdb/nat/amd64-linux-siginfo.h A processors/ARM/gdb-8.3.1/gdb/nat/fork-inferior.c A processors/ARM/gdb-8.3.1/gdb/nat/fork-inferior.h A processors/ARM/gdb-8.3.1/gdb/nat/gdb_ptrace.h A processors/ARM/gdb-8.3.1/gdb/nat/gdb_thread_db.h A processors/ARM/gdb-8.3.1/gdb/nat/glibc_thread_db.h A processors/ARM/gdb-8.3.1/gdb/nat/linux-btrace.c A processors/ARM/gdb-8.3.1/gdb/nat/linux-btrace.h A processors/ARM/gdb-8.3.1/gdb/nat/linux-namespaces.c A processors/ARM/gdb-8.3.1/gdb/nat/linux-namespaces.h A processors/ARM/gdb-8.3.1/gdb/nat/linux-nat.h A processors/ARM/gdb-8.3.1/gdb/nat/linux-osdata.c A processors/ARM/gdb-8.3.1/gdb/nat/linux-osdata.h A processors/ARM/gdb-8.3.1/gdb/nat/linux-personality.c A processors/ARM/gdb-8.3.1/gdb/nat/linux-personality.h A processors/ARM/gdb-8.3.1/gdb/nat/linux-procfs.c A processors/ARM/gdb-8.3.1/gdb/nat/linux-procfs.h A processors/ARM/gdb-8.3.1/gdb/nat/linux-ptrace.c A processors/ARM/gdb-8.3.1/gdb/nat/linux-ptrace.h A processors/ARM/gdb-8.3.1/gdb/nat/linux-waitpid.c A processors/ARM/gdb-8.3.1/gdb/nat/linux-waitpid.h A processors/ARM/gdb-8.3.1/gdb/nat/mips-linux-watch.c A processors/ARM/gdb-8.3.1/gdb/nat/mips-linux-watch.h A processors/ARM/gdb-8.3.1/gdb/nat/ppc-linux.c A processors/ARM/gdb-8.3.1/gdb/nat/ppc-linux.h A processors/ARM/gdb-8.3.1/gdb/nat/x86-cpuid.h A processors/ARM/gdb-8.3.1/gdb/nat/x86-dregs.c A processors/ARM/gdb-8.3.1/gdb/nat/x86-dregs.h A processors/ARM/gdb-8.3.1/gdb/nat/x86-gcc-cpuid.h A processors/ARM/gdb-8.3.1/gdb/nat/x86-linux-dregs.c A processors/ARM/gdb-8.3.1/gdb/nat/x86-linux-dregs.h A processors/ARM/gdb-8.3.1/gdb/nat/x86-linux.c A processors/ARM/gdb-8.3.1/gdb/nat/x86-linux.h A processors/ARM/gdb-8.3.1/gdb/nbsd-nat.h A processors/ARM/gdb-8.3.1/gdb/nbsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/nds32-tdep.h A processors/ARM/gdb-8.3.1/gdb/nios2-tdep.h A processors/ARM/gdb-8.3.1/gdb/notify.defs A processors/ARM/gdb-8.3.1/gdb/nto-tdep.h A processors/ARM/gdb-8.3.1/gdb/objc-lang.h A processors/ARM/gdb-8.3.1/gdb/objfile-flags.h A processors/ARM/gdb-8.3.1/gdb/objfiles.h A processors/ARM/gdb-8.3.1/gdb/obsd-nat.h A processors/ARM/gdb-8.3.1/gdb/obsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/observable.h A processors/ARM/gdb-8.3.1/gdb/or1k-tdep.h A processors/ARM/gdb-8.3.1/gdb/osabi.h A processors/ARM/gdb-8.3.1/gdb/osdata.h A processors/ARM/gdb-8.3.1/gdb/p-exp.y A processors/ARM/gdb-8.3.1/gdb/p-lang.h A processors/ARM/gdb-8.3.1/gdb/parser-defs.h A processors/ARM/gdb-8.3.1/gdb/po/gdb.pot A processors/ARM/gdb-8.3.1/gdb/po/gdbtext A processors/ARM/gdb-8.3.1/gdb/ppc-fbsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/ppc-linux-tdep.h A processors/ARM/gdb-8.3.1/gdb/ppc-nbsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/ppc-obsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/ppc-ravenscar-thread.h A processors/ARM/gdb-8.3.1/gdb/ppc-tdep.h A processors/ARM/gdb-8.3.1/gdb/ppc64-tdep.h A processors/ARM/gdb-8.3.1/gdb/probe.h A processors/ARM/gdb-8.3.1/gdb/proc-service.list A processors/ARM/gdb-8.3.1/gdb/proc-utils.h A processors/ARM/gdb-8.3.1/gdb/process-stratum-target.h A processors/ARM/gdb-8.3.1/gdb/process_reply.defs A processors/ARM/gdb-8.3.1/gdb/procfs.h A processors/ARM/gdb-8.3.1/gdb/producer.h A processors/ARM/gdb-8.3.1/gdb/progspace-and-thread.h A processors/ARM/gdb-8.3.1/gdb/progspace.h A processors/ARM/gdb-8.3.1/gdb/prologue-value.h A processors/ARM/gdb-8.3.1/gdb/psympriv.h A processors/ARM/gdb-8.3.1/gdb/psymtab.h A processors/ARM/gdb-8.3.1/gdb/ptrace.m4 A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/FrameDecorator.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/FrameIterator.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/__init__.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/command/__init__.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/command/explore.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/command/frame_filters.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/command/pretty_printers.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/command/prompt.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/command/type_printers.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/command/unwinders.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/command/xmethods.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/frames.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/function/__init__.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/function/as_string.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/function/caller_is.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/function/strfns.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/printer/__init__.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/printer/bound_registers.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/printing.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/prompt.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/types.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/unwinder.py A processors/ARM/gdb-8.3.1/gdb/python/lib/gdb/xmethod.py A processors/ARM/gdb-8.3.1/gdb/python/py-all-events.def A processors/ARM/gdb-8.3.1/gdb/python/py-arch.c A processors/ARM/gdb-8.3.1/gdb/python/py-auto-load.c A processors/ARM/gdb-8.3.1/gdb/python/py-block.c A processors/ARM/gdb-8.3.1/gdb/python/py-bpevent.c A processors/ARM/gdb-8.3.1/gdb/python/py-breakpoint.c A processors/ARM/gdb-8.3.1/gdb/python/py-cmd.c A processors/ARM/gdb-8.3.1/gdb/python/py-continueevent.c A processors/ARM/gdb-8.3.1/gdb/python/py-event-types.def A processors/ARM/gdb-8.3.1/gdb/python/py-event.c A processors/ARM/gdb-8.3.1/gdb/python/py-event.h A processors/ARM/gdb-8.3.1/gdb/python/py-events.h A processors/ARM/gdb-8.3.1/gdb/python/py-evtregistry.c A processors/ARM/gdb-8.3.1/gdb/python/py-evts.c A processors/ARM/gdb-8.3.1/gdb/python/py-exitedevent.c A processors/ARM/gdb-8.3.1/gdb/python/py-finishbreakpoint.c A processors/ARM/gdb-8.3.1/gdb/python/py-frame.c A processors/ARM/gdb-8.3.1/gdb/python/py-framefilter.c A processors/ARM/gdb-8.3.1/gdb/python/py-function.c A processors/ARM/gdb-8.3.1/gdb/python/py-gdb-readline.c A processors/ARM/gdb-8.3.1/gdb/python/py-inferior.c A processors/ARM/gdb-8.3.1/gdb/python/py-infevents.c A processors/ARM/gdb-8.3.1/gdb/python/py-infthread.c A processors/ARM/gdb-8.3.1/gdb/python/py-instruction.c A processors/ARM/gdb-8.3.1/gdb/python/py-instruction.h A processors/ARM/gdb-8.3.1/gdb/python/py-lazy-string.c A processors/ARM/gdb-8.3.1/gdb/python/py-linetable.c A processors/ARM/gdb-8.3.1/gdb/python/py-newobjfileevent.c A processors/ARM/gdb-8.3.1/gdb/python/py-objfile.c A processors/ARM/gdb-8.3.1/gdb/python/py-param.c A processors/ARM/gdb-8.3.1/gdb/python/py-prettyprint.c A processors/ARM/gdb-8.3.1/gdb/python/py-progspace.c A processors/ARM/gdb-8.3.1/gdb/python/py-record-btrace.c A processors/ARM/gdb-8.3.1/gdb/python/py-record-btrace.h A processors/ARM/gdb-8.3.1/gdb/python/py-record-full.c A processors/ARM/gdb-8.3.1/gdb/python/py-record-full.h A processors/ARM/gdb-8.3.1/gdb/python/py-record.c A processors/ARM/gdb-8.3.1/gdb/python/py-record.h A processors/ARM/gdb-8.3.1/gdb/python/py-ref.h A processors/ARM/gdb-8.3.1/gdb/python/py-signalevent.c A processors/ARM/gdb-8.3.1/gdb/python/py-stopevent.c A processors/ARM/gdb-8.3.1/gdb/python/py-stopevent.h A processors/ARM/gdb-8.3.1/gdb/python/py-symbol.c A processors/ARM/gdb-8.3.1/gdb/python/py-symtab.c A processors/ARM/gdb-8.3.1/gdb/python/py-threadevent.c A processors/ARM/gdb-8.3.1/gdb/python/py-type.c A processors/ARM/gdb-8.3.1/gdb/python/py-unwind.c A processors/ARM/gdb-8.3.1/gdb/python/py-utils.c A processors/ARM/gdb-8.3.1/gdb/python/py-value.c A processors/ARM/gdb-8.3.1/gdb/python/py-varobj.c A processors/ARM/gdb-8.3.1/gdb/python/py-xmethods.c A processors/ARM/gdb-8.3.1/gdb/python/python-config.py A processors/ARM/gdb-8.3.1/gdb/python/python-internal.h A processors/ARM/gdb-8.3.1/gdb/python/python.c A processors/ARM/gdb-8.3.1/gdb/python/python.h A processors/ARM/gdb-8.3.1/gdb/ravenscar-thread.h A processors/ARM/gdb-8.3.1/gdb/record-btrace.h A processors/ARM/gdb-8.3.1/gdb/record-full.h A processors/ARM/gdb-8.3.1/gdb/record.h A processors/ARM/gdb-8.3.1/gdb/regcache.h A processors/ARM/gdb-8.3.1/gdb/regformats/aarch64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/arm/arm-with-iwmmxt.dat A processors/ARM/gdb-8.3.1/gdb/regformats/arm/arm-with-neon.dat A processors/ARM/gdb-8.3.1/gdb/regformats/arm/arm-with-vfpv2.dat A processors/ARM/gdb-8.3.1/gdb/regformats/arm/arm-with-vfpv3.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/amd64-avx-avx512-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/amd64-avx-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/amd64-avx-mpx-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/amd64-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/amd64-mpx-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/amd64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/i386-avx-avx512-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/i386-avx-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/i386-avx-mpx-avx512-pku-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/i386-avx-mpx-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/i386-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/i386-mmx-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/i386-mpx-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/i386.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/x32-avx-avx512-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/x32-avx-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/i386/x32-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/microblaze-with-stack-protect.dat A processors/ARM/gdb-8.3.1/gdb/regformats/mips-dsp-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/mips-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/mips64-dsp-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/mips64-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/nios2-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-arm.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-bfin.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-cf.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-cris.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-crisv32.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-ia64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-m32r.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-m68k.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-sh.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-sparc64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-spu.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-tilegx.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-tilegx32.dat A processors/ARM/gdb-8.3.1/gdb/regformats/reg-xtensa.dat A processors/ARM/gdb-8.3.1/gdb/regformats/regdat.sh A processors/ARM/gdb-8.3.1/gdb/regformats/regdef.h A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-32.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-32l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-64l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-altivec32l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-altivec64l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-cell32l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-cell64l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-e500l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa205-32l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa205-64l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa207-htm-vsx32l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa207-htm-vsx64l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa207-vsx32l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-vsx32l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/rs6000/powerpc-vsx64l.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390-gs-linux64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390-linux32.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390-linux32v1.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390-linux32v2.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390-linux64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390-linux64v1.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390-linux64v2.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390-te-linux64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390-tevx-linux64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390-vx-linux64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390x-gs-linux64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390x-linux64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390x-linux64v1.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390x-linux64v2.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390x-te-linux64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390x-tevx-linux64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/s390x-vx-linux64.dat A processors/ARM/gdb-8.3.1/gdb/regformats/tic6x-c62x-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/tic6x-c64x-linux.dat A processors/ARM/gdb-8.3.1/gdb/regformats/tic6x-c64xp-linux.dat A processors/ARM/gdb-8.3.1/gdb/reggroups.h A processors/ARM/gdb-8.3.1/gdb/registry.h A processors/ARM/gdb-8.3.1/gdb/regset.h A processors/ARM/gdb-8.3.1/gdb/remote-fileio.h A processors/ARM/gdb-8.3.1/gdb/remote-notif.h A processors/ARM/gdb-8.3.1/gdb/remote.h A processors/ARM/gdb-8.3.1/gdb/reply_mig_hack.awk A processors/ARM/gdb-8.3.1/gdb/riscv-fbsd-tdep.h A processors/ARM/gdb-8.3.1/gdb/riscv-tdep.h A processors/ARM/gdb-8.3.1/gdb/rs6000-aix-tdep.h A processors/ARM/gdb-8.3.1/gdb/rs6000-tdep.h A processors/ARM/gdb-8.3.1/gdb/rust-exp.y A processors/ARM/gdb-8.3.1/gdb/rust-lang.h A processors/ARM/gdb-8.3.1/gdb/s390-linux-tdep.h A processors/ARM/gdb-8.3.1/gdb/s390-tdep.h A processors/ARM/gdb-8.3.1/gdb/sanitize.m4 A processors/ARM/gdb-8.3.1/gdb/score-tdep.h A processors/ARM/gdb-8.3.1/gdb/selftest-arch.h A processors/ARM/gdb-8.3.1/gdb/selftest.m4 A processors/ARM/gdb-8.3.1/gdb/sentinel-frame.h A processors/ARM/gdb-8.3.1/gdb/ser-base.h A processors/ARM/gdb-8.3.1/gdb/ser-event.h A processors/ARM/gdb-8.3.1/gdb/ser-tcp.h A processors/ARM/gdb-8.3.1/gdb/ser-unix.h A processors/ARM/gdb-8.3.1/gdb/serial.h A processors/ARM/gdb-8.3.1/gdb/sh-tdep.h A processors/ARM/gdb-8.3.1/gdb/silent-rules.mk A processors/ARM/gdb-8.3.1/gdb/sim-regno.h A processors/ARM/gdb-8.3.1/gdb/skip.h A processors/ARM/gdb-8.3.1/gdb/sol2-tdep.h A processors/ARM/gdb-8.3.1/gdb/solib-aix.h A processors/ARM/gdb-8.3.1/gdb/solib-darwin.h A processors/ARM/gdb-8.3.1/gdb/solib-spu.h A processors/ARM/gdb-8.3.1/gdb/solib-svr4.h A processors/ARM/gdb-8.3.1/gdb/solib-target.h A processors/ARM/gdb-8.3.1/gdb/solib.h A processors/ARM/gdb-8.3.1/gdb/solist.h A processors/ARM/gdb-8.3.1/gdb/source-cache.h A processors/ARM/gdb-8.3.1/gdb/source.h A processors/ARM/gdb-8.3.1/gdb/sparc-nat.h A processors/ARM/gdb-8.3.1/gdb/sparc-ravenscar-thread.h A processors/ARM/gdb-8.3.1/gdb/sparc-tdep.h A processors/ARM/gdb-8.3.1/gdb/sparc64-tdep.h A processors/ARM/gdb-8.3.1/gdb/spu-tdep.h A processors/ARM/gdb-8.3.1/gdb/stabsread.h A processors/ARM/gdb-8.3.1/gdb/stack.h A processors/ARM/gdb-8.3.1/gdb/stap-probe.h A processors/ARM/gdb-8.3.1/gdb/std-operator.def A processors/ARM/gdb-8.3.1/gdb/stubs/ChangeLog A processors/ARM/gdb-8.3.1/gdb/stubs/buildvms.com A processors/ARM/gdb-8.3.1/gdb/stubs/i386-stub.c A processors/ARM/gdb-8.3.1/gdb/stubs/ia64vms-stub.c A processors/ARM/gdb-8.3.1/gdb/stubs/m32r-stub.c A processors/ARM/gdb-8.3.1/gdb/stubs/m68k-stub.c A processors/ARM/gdb-8.3.1/gdb/stubs/sh-stub.c A processors/ARM/gdb-8.3.1/gdb/stubs/sparc-stub.c A processors/ARM/gdb-8.3.1/gdb/symfile-add-flags.h A processors/ARM/gdb-8.3.1/gdb/symfile.h A processors/ARM/gdb-8.3.1/gdb/symtab.h A processors/ARM/gdb-8.3.1/gdb/syscalls/aarch64-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/aarch64-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/amd64-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/amd64-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/apply-defaults.xsl A processors/ARM/gdb-8.3.1/gdb/syscalls/arm-linux.py A processors/ARM/gdb-8.3.1/gdb/syscalls/arm-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/arm-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/bfin-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/freebsd.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/gdb-syscalls.dtd A processors/ARM/gdb-8.3.1/gdb/syscalls/i386-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/i386-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/linux-defaults.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/mips-n32-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/mips-n32-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/mips-n64-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/mips-n64-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/mips-o32-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/mips-o32-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/ppc-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/ppc-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/ppc64-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/ppc64-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/s390-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/s390-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/s390x-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/s390x-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/sparc-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/sparc-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/sparc64-linux.xml A processors/ARM/gdb-8.3.1/gdb/syscalls/sparc64-linux.xml.in A processors/ARM/gdb-8.3.1/gdb/syscalls/update-freebsd.sh A processors/ARM/gdb-8.3.1/gdb/system-gdbinit/elinos.py A processors/ARM/gdb-8.3.1/gdb/system-gdbinit/wrs-linux.py A processors/ARM/gdb-8.3.1/gdb/target-dcache.h A processors/ARM/gdb-8.3.1/gdb/target-debug.h A processors/ARM/gdb-8.3.1/gdb/target-descriptions.h A processors/ARM/gdb-8.3.1/gdb/target-float.h A processors/ARM/gdb-8.3.1/gdb/target.h A processors/ARM/gdb-8.3.1/gdb/target/resume.h A processors/ARM/gdb-8.3.1/gdb/target/target.h A processors/ARM/gdb-8.3.1/gdb/target/wait.h A processors/ARM/gdb-8.3.1/gdb/target/waitstatus.c A processors/ARM/gdb-8.3.1/gdb/target/waitstatus.h A processors/ARM/gdb-8.3.1/gdb/terminal.h A processors/ARM/gdb-8.3.1/gdb/test-target.h A processors/ARM/gdb-8.3.1/gdb/thread-fsm.h A processors/ARM/gdb-8.3.1/gdb/thread-iter.h A processors/ARM/gdb-8.3.1/gdb/tic6x-tdep.h A processors/ARM/gdb-8.3.1/gdb/tid-parse.h A processors/ARM/gdb-8.3.1/gdb/tilegx-tdep.h A processors/ARM/gdb-8.3.1/gdb/top.h A processors/ARM/gdb-8.3.1/gdb/tracefile.h A processors/ARM/gdb-8.3.1/gdb/tracepoint.h A processors/ARM/gdb-8.3.1/gdb/trad-frame.h A processors/ARM/gdb-8.3.1/gdb/tramp-frame.h A processors/ARM/gdb-8.3.1/gdb/transform.m4 A processors/ARM/gdb-8.3.1/gdb/tui/ChangeLog-1998-2003 A processors/ARM/gdb-8.3.1/gdb/tui/tui-command.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-command.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-data.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-data.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-disasm.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-disasm.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-file.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-file.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-hooks.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-hooks.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-interp.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-io.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-io.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-layout.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-layout.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-out.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-out.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-regs.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-regs.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-source.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-source.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-stack.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-stack.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-win.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-win.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-windata.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-windata.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-wingeneral.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-wingeneral.h A processors/ARM/gdb-8.3.1/gdb/tui/tui-winsource.c A processors/ARM/gdb-8.3.1/gdb/tui/tui-winsource.h A processors/ARM/gdb-8.3.1/gdb/tui/tui.c A processors/ARM/gdb-8.3.1/gdb/tui/tui.h A processors/ARM/gdb-8.3.1/gdb/typeprint.h A processors/ARM/gdb-8.3.1/gdb/ui-file.h A processors/ARM/gdb-8.3.1/gdb/ui-out.h A processors/ARM/gdb-8.3.1/gdb/ui-style.h A processors/ARM/gdb-8.3.1/gdb/unwind_stop_reasons.def A processors/ARM/gdb-8.3.1/gdb/user-regs.h A processors/ARM/gdb-8.3.1/gdb/utils.h A processors/ARM/gdb-8.3.1/gdb/valprint.h A processors/ARM/gdb-8.3.1/gdb/value.h A processors/ARM/gdb-8.3.1/gdb/varobj-iter.h A processors/ARM/gdb-8.3.1/gdb/varobj.h A processors/ARM/gdb-8.3.1/gdb/vax-tdep.h A processors/ARM/gdb-8.3.1/gdb/version.in A processors/ARM/gdb-8.3.1/gdb/warning.m4 A processors/ARM/gdb-8.3.1/gdb/windows-nat.h A processors/ARM/gdb-8.3.1/gdb/windows-tdep.h A processors/ARM/gdb-8.3.1/gdb/x86-bsd-nat.h A processors/ARM/gdb-8.3.1/gdb/x86-linux-nat.h A processors/ARM/gdb-8.3.1/gdb/x86-nat.h A processors/ARM/gdb-8.3.1/gdb/x86-tdep.h A processors/ARM/gdb-8.3.1/gdb/xcoffread.h A processors/ARM/gdb-8.3.1/gdb/xml-support.h A processors/ARM/gdb-8.3.1/gdb/xml-syscall.h A processors/ARM/gdb-8.3.1/gdb/xml-tdesc.h A processors/ARM/gdb-8.3.1/gdb/xtensa-tdep.h A processors/ARM/gdb-8.3.1/gdb/yy-remap.h A processors/ARM/gdb-8.3.1/include/COPYING A processors/ARM/gdb-8.3.1/include/COPYING3 A processors/ARM/gdb-8.3.1/include/MAINTAINERS A processors/ARM/gdb-8.3.1/include/alloca-conf.h A processors/ARM/gdb-8.3.1/include/ansidecl.h A processors/ARM/gdb-8.3.1/include/aout/ChangeLog-9115 A processors/ARM/gdb-8.3.1/include/aout/aout64.h A processors/ARM/gdb-8.3.1/include/aout/ar.h A processors/ARM/gdb-8.3.1/include/aout/encap.h A processors/ARM/gdb-8.3.1/include/aout/host.h A processors/ARM/gdb-8.3.1/include/aout/hp.h A processors/ARM/gdb-8.3.1/include/aout/hppa.h A processors/ARM/gdb-8.3.1/include/aout/ranlib.h A processors/ARM/gdb-8.3.1/include/aout/stab.def A processors/ARM/gdb-8.3.1/include/aout/stab_gnu.h A processors/ARM/gdb-8.3.1/include/aout/sun4.h A processors/ARM/gdb-8.3.1/include/bfdlink.h A processors/ARM/gdb-8.3.1/include/binary-io.h A processors/ARM/gdb-8.3.1/include/bout.h A processors/ARM/gdb-8.3.1/include/cgen/ChangeLog-0915 A processors/ARM/gdb-8.3.1/include/cgen/basic-modes.h A processors/ARM/gdb-8.3.1/include/cgen/basic-ops.h A processors/ARM/gdb-8.3.1/include/cgen/bitset.h A processors/ARM/gdb-8.3.1/include/coff/ChangeLog-0415 A processors/ARM/gdb-8.3.1/include/coff/ChangeLog-9103 A processors/ARM/gdb-8.3.1/include/coff/alpha.h A processors/ARM/gdb-8.3.1/include/coff/arm.h A processors/ARM/gdb-8.3.1/include/coff/ecoff.h A processors/ARM/gdb-8.3.1/include/coff/external.h A processors/ARM/gdb-8.3.1/include/coff/go32exe.h A processors/ARM/gdb-8.3.1/include/coff/i386.h A processors/ARM/gdb-8.3.1/include/coff/ia64.h A processors/ARM/gdb-8.3.1/include/coff/internal.h A processors/ARM/gdb-8.3.1/include/coff/mcore.h A processors/ARM/gdb-8.3.1/include/coff/mips.h A processors/ARM/gdb-8.3.1/include/coff/msdos.h A processors/ARM/gdb-8.3.1/include/coff/pe.h A processors/ARM/gdb-8.3.1/include/coff/powerpc.h A processors/ARM/gdb-8.3.1/include/coff/rs6000.h A processors/ARM/gdb-8.3.1/include/coff/rs6k64.h A processors/ARM/gdb-8.3.1/include/coff/sh.h A processors/ARM/gdb-8.3.1/include/coff/sym.h A processors/ARM/gdb-8.3.1/include/coff/symconst.h A processors/ARM/gdb-8.3.1/include/coff/ti.h A processors/ARM/gdb-8.3.1/include/coff/tic30.h A processors/ARM/gdb-8.3.1/include/coff/tic4x.h A processors/ARM/gdb-8.3.1/include/coff/tic54x.h A processors/ARM/gdb-8.3.1/include/coff/tic80.h A processors/ARM/gdb-8.3.1/include/coff/x86_64.h A processors/ARM/gdb-8.3.1/include/coff/xcoff.h A processors/ARM/gdb-8.3.1/include/coff/z80.h A processors/ARM/gdb-8.3.1/include/coff/z8k.h A processors/ARM/gdb-8.3.1/include/demangle.h A processors/ARM/gdb-8.3.1/include/diagnostics.h A processors/ARM/gdb-8.3.1/include/dis-asm.h A processors/ARM/gdb-8.3.1/include/dwarf2.def A processors/ARM/gdb-8.3.1/include/dwarf2.h A processors/ARM/gdb-8.3.1/include/dyn-string.h A processors/ARM/gdb-8.3.1/include/elf/ChangeLog-0415 A processors/ARM/gdb-8.3.1/include/elf/ChangeLog-9103 A processors/ARM/gdb-8.3.1/include/elf/aarch64.h A processors/ARM/gdb-8.3.1/include/elf/alpha.h A processors/ARM/gdb-8.3.1/include/elf/arc-cpu.def A processors/ARM/gdb-8.3.1/include/elf/arc-reloc.def A processors/ARM/gdb-8.3.1/include/elf/arc.h A processors/ARM/gdb-8.3.1/include/elf/arm.h A processors/ARM/gdb-8.3.1/include/elf/avr.h A processors/ARM/gdb-8.3.1/include/elf/bfin.h A processors/ARM/gdb-8.3.1/include/elf/common.h A processors/ARM/gdb-8.3.1/include/elf/cr16.h A processors/ARM/gdb-8.3.1/include/elf/cr16c.h A processors/ARM/gdb-8.3.1/include/elf/cris.h A processors/ARM/gdb-8.3.1/include/elf/crx.h A processors/ARM/gdb-8.3.1/include/elf/csky.h A processors/ARM/gdb-8.3.1/include/elf/d10v.h A processors/ARM/gdb-8.3.1/include/elf/d30v.h A processors/ARM/gdb-8.3.1/include/elf/dlx.h A processors/ARM/gdb-8.3.1/include/elf/dwarf.h A processors/ARM/gdb-8.3.1/include/elf/epiphany.h A processors/ARM/gdb-8.3.1/include/elf/external.h A processors/ARM/gdb-8.3.1/include/elf/fr30.h A processors/ARM/gdb-8.3.1/include/elf/frv.h A processors/ARM/gdb-8.3.1/include/elf/ft32.h A processors/ARM/gdb-8.3.1/include/elf/h8.h A processors/ARM/gdb-8.3.1/include/elf/hppa.h A processors/ARM/gdb-8.3.1/include/elf/i370.h A processors/ARM/gdb-8.3.1/include/elf/i386.h A processors/ARM/gdb-8.3.1/include/elf/i860.h A processors/ARM/gdb-8.3.1/include/elf/i960.h A processors/ARM/gdb-8.3.1/include/elf/ia64.h A processors/ARM/gdb-8.3.1/include/elf/internal.h A processors/ARM/gdb-8.3.1/include/elf/ip2k.h A processors/ARM/gdb-8.3.1/include/elf/iq2000.h A processors/ARM/gdb-8.3.1/include/elf/lm32.h A processors/ARM/gdb-8.3.1/include/elf/m32c.h A processors/ARM/gdb-8.3.1/include/elf/m32r.h A processors/ARM/gdb-8.3.1/include/elf/m68hc11.h A processors/ARM/gdb-8.3.1/include/elf/m68k.h A processors/ARM/gdb-8.3.1/include/elf/mcore.h A processors/ARM/gdb-8.3.1/include/elf/mep.h A processors/ARM/gdb-8.3.1/include/elf/metag.h A processors/ARM/gdb-8.3.1/include/elf/microblaze.h A processors/ARM/gdb-8.3.1/include/elf/mips.h A processors/ARM/gdb-8.3.1/include/elf/mmix.h A processors/ARM/gdb-8.3.1/include/elf/mn10200.h A processors/ARM/gdb-8.3.1/include/elf/mn10300.h A processors/ARM/gdb-8.3.1/include/elf/moxie.h A processors/ARM/gdb-8.3.1/include/elf/msp430.h A processors/ARM/gdb-8.3.1/include/elf/mt.h A processors/ARM/gdb-8.3.1/include/elf/nds32.h A processors/ARM/gdb-8.3.1/include/elf/nfp.h A processors/ARM/gdb-8.3.1/include/elf/nios2.h A processors/ARM/gdb-8.3.1/include/elf/or1k.h A processors/ARM/gdb-8.3.1/include/elf/pj.h A processors/ARM/gdb-8.3.1/include/elf/ppc.h A processors/ARM/gdb-8.3.1/include/elf/ppc64.h A processors/ARM/gdb-8.3.1/include/elf/pru.h A processors/ARM/gdb-8.3.1/include/elf/reloc-macros.h A processors/ARM/gdb-8.3.1/include/elf/riscv.h A processors/ARM/gdb-8.3.1/include/elf/rl78.h A processors/ARM/gdb-8.3.1/include/elf/rx.h A processors/ARM/gdb-8.3.1/include/elf/s12z.h A processors/ARM/gdb-8.3.1/include/elf/s390.h A processors/ARM/gdb-8.3.1/include/elf/score.h A processors/ARM/gdb-8.3.1/include/elf/sh.h A processors/ARM/gdb-8.3.1/include/elf/sparc.h A processors/ARM/gdb-8.3.1/include/elf/spu.h A processors/ARM/gdb-8.3.1/include/elf/tic6x-attrs.h A processors/ARM/gdb-8.3.1/include/elf/tic6x.h A processors/ARM/gdb-8.3.1/include/elf/tilegx.h A processors/ARM/gdb-8.3.1/include/elf/tilepro.h A processors/ARM/gdb-8.3.1/include/elf/v850.h A processors/ARM/gdb-8.3.1/include/elf/vax.h A processors/ARM/gdb-8.3.1/include/elf/visium.h A processors/ARM/gdb-8.3.1/include/elf/vxworks.h A processors/ARM/gdb-8.3.1/include/elf/wasm32.h A processors/ARM/gdb-8.3.1/include/elf/x86-64.h A processors/ARM/gdb-8.3.1/include/elf/xc16x.h A processors/ARM/gdb-8.3.1/include/elf/xgate.h A processors/ARM/gdb-8.3.1/include/elf/xstormy16.h A processors/ARM/gdb-8.3.1/include/elf/xtensa.h A processors/ARM/gdb-8.3.1/include/environ.h A processors/ARM/gdb-8.3.1/include/fibheap.h A processors/ARM/gdb-8.3.1/include/filenames.h A processors/ARM/gdb-8.3.1/include/floatformat.h A processors/ARM/gdb-8.3.1/include/fnmatch.h A processors/ARM/gdb-8.3.1/include/fopen-bin.h A processors/ARM/gdb-8.3.1/include/fopen-same.h A processors/ARM/gdb-8.3.1/include/fopen-vms.h A processors/ARM/gdb-8.3.1/include/gcc-c-fe.def A processors/ARM/gdb-8.3.1/include/gcc-c-interface.h A processors/ARM/gdb-8.3.1/include/gcc-cp-fe.def A processors/ARM/gdb-8.3.1/include/gcc-cp-interface.h A processors/ARM/gdb-8.3.1/include/gcc-interface.h A processors/ARM/gdb-8.3.1/include/gdb/ChangeLog A processors/ARM/gdb-8.3.1/include/gdb/callback.h A processors/ARM/gdb-8.3.1/include/gdb/fileio.h A processors/ARM/gdb-8.3.1/include/gdb/gdb-index.h A processors/ARM/gdb-8.3.1/include/gdb/remote-sim.h A processors/ARM/gdb-8.3.1/include/gdb/section-scripts.h A processors/ARM/gdb-8.3.1/include/gdb/signals.def A processors/ARM/gdb-8.3.1/include/gdb/signals.h A processors/ARM/gdb-8.3.1/include/gdb/sim-aarch64.h A processors/ARM/gdb-8.3.1/include/gdb/sim-arm.h A processors/ARM/gdb-8.3.1/include/gdb/sim-bfin.h A processors/ARM/gdb-8.3.1/include/gdb/sim-cr16.h A processors/ARM/gdb-8.3.1/include/gdb/sim-d10v.h A processors/ARM/gdb-8.3.1/include/gdb/sim-frv.h A processors/ARM/gdb-8.3.1/include/gdb/sim-ft32.h A processors/ARM/gdb-8.3.1/include/gdb/sim-h8300.h A processors/ARM/gdb-8.3.1/include/gdb/sim-lm32.h A processors/ARM/gdb-8.3.1/include/gdb/sim-m32c.h A processors/ARM/gdb-8.3.1/include/gdb/sim-ppc.h A processors/ARM/gdb-8.3.1/include/gdb/sim-rl78.h A processors/ARM/gdb-8.3.1/include/gdb/sim-rx.h A processors/ARM/gdb-8.3.1/include/gdb/sim-sh.h A processors/ARM/gdb-8.3.1/include/getopt.h A processors/ARM/gdb-8.3.1/include/hashtab.h A processors/ARM/gdb-8.3.1/include/hp-symtab.h A processors/ARM/gdb-8.3.1/include/leb128.h A processors/ARM/gdb-8.3.1/include/libiberty.h A processors/ARM/gdb-8.3.1/include/longlong.h A processors/ARM/gdb-8.3.1/include/lto-symtab.h A processors/ARM/gdb-8.3.1/include/mach-o/ChangeLog-1115 A processors/ARM/gdb-8.3.1/include/mach-o/arm.h A processors/ARM/gdb-8.3.1/include/mach-o/arm64.h A processors/ARM/gdb-8.3.1/include/mach-o/codesign.h A processors/ARM/gdb-8.3.1/include/mach-o/external.h A processors/ARM/gdb-8.3.1/include/mach-o/loader.h A processors/ARM/gdb-8.3.1/include/mach-o/reloc.h A processors/ARM/gdb-8.3.1/include/mach-o/unwind.h A processors/ARM/gdb-8.3.1/include/mach-o/x86-64.h A processors/ARM/gdb-8.3.1/include/md5.h A processors/ARM/gdb-8.3.1/include/oasys.h A processors/ARM/gdb-8.3.1/include/objalloc.h A processors/ARM/gdb-8.3.1/include/obstack.h A processors/ARM/gdb-8.3.1/include/opcode/ChangeLog-0415 A processors/ARM/gdb-8.3.1/include/opcode/ChangeLog-9103 A processors/ARM/gdb-8.3.1/include/opcode/aarch64.h A processors/ARM/gdb-8.3.1/include/opcode/alpha.h A processors/ARM/gdb-8.3.1/include/opcode/arc-attrs.h A processors/ARM/gdb-8.3.1/include/opcode/arc-func.h A processors/ARM/gdb-8.3.1/include/opcode/arc.h A processors/ARM/gdb-8.3.1/include/opcode/arm.h A processors/ARM/gdb-8.3.1/include/opcode/avr.h A processors/ARM/gdb-8.3.1/include/opcode/bfin.h A processors/ARM/gdb-8.3.1/include/opcode/cgen.h A processors/ARM/gdb-8.3.1/include/opcode/convex.h A processors/ARM/gdb-8.3.1/include/opcode/cr16.h A processors/ARM/gdb-8.3.1/include/opcode/cris.h A processors/ARM/gdb-8.3.1/include/opcode/crx.h A processors/ARM/gdb-8.3.1/include/opcode/csky.h A processors/ARM/gdb-8.3.1/include/opcode/d10v.h A processors/ARM/gdb-8.3.1/include/opcode/d30v.h A processors/ARM/gdb-8.3.1/include/opcode/dlx.h A processors/ARM/gdb-8.3.1/include/opcode/ft32.h A processors/ARM/gdb-8.3.1/include/opcode/h8300.h A processors/ARM/gdb-8.3.1/include/opcode/hppa.h A processors/ARM/gdb-8.3.1/include/opcode/i386.h A processors/ARM/gdb-8.3.1/include/opcode/ia64.h A processors/ARM/gdb-8.3.1/include/opcode/m68hc11.h A processors/ARM/gdb-8.3.1/include/opcode/m68k.h A processors/ARM/gdb-8.3.1/include/opcode/metag.h A processors/ARM/gdb-8.3.1/include/opcode/mips.h A processors/ARM/gdb-8.3.1/include/opcode/mmix.h A processors/ARM/gdb-8.3.1/include/opcode/mn10200.h A processors/ARM/gdb-8.3.1/include/opcode/mn10300.h A processors/ARM/gdb-8.3.1/include/opcode/moxie.h A processors/ARM/gdb-8.3.1/include/opcode/msp430-decode.h A processors/ARM/gdb-8.3.1/include/opcode/msp430.h A processors/ARM/gdb-8.3.1/include/opcode/nds32.h A processors/ARM/gdb-8.3.1/include/opcode/nfp.h A processors/ARM/gdb-8.3.1/include/opcode/nios2.h A processors/ARM/gdb-8.3.1/include/opcode/nios2r1.h A processors/ARM/gdb-8.3.1/include/opcode/nios2r2.h A processors/ARM/gdb-8.3.1/include/opcode/np1.h A processors/ARM/gdb-8.3.1/include/opcode/ns32k.h A processors/ARM/gdb-8.3.1/include/opcode/pdp11.h A processors/ARM/gdb-8.3.1/include/opcode/pj.h A processors/ARM/gdb-8.3.1/include/opcode/pn.h A processors/ARM/gdb-8.3.1/include/opcode/ppc.h A processors/ARM/gdb-8.3.1/include/opcode/pru.h A processors/ARM/gdb-8.3.1/include/opcode/pyr.h A processors/ARM/gdb-8.3.1/include/opcode/riscv-opc.h A processors/ARM/gdb-8.3.1/include/opcode/riscv.h A processors/ARM/gdb-8.3.1/include/opcode/rl78.h A processors/ARM/gdb-8.3.1/include/opcode/rx.h A processors/ARM/gdb-8.3.1/include/opcode/s12z.h A processors/ARM/gdb-8.3.1/include/opcode/s390.h A processors/ARM/gdb-8.3.1/include/opcode/score-datadep.h A processors/ARM/gdb-8.3.1/include/opcode/score-inst.h A processors/ARM/gdb-8.3.1/include/opcode/sparc.h A processors/ARM/gdb-8.3.1/include/opcode/spu-insns.h A processors/ARM/gdb-8.3.1/include/opcode/spu.h A processors/ARM/gdb-8.3.1/include/opcode/tic30.h A processors/ARM/gdb-8.3.1/include/opcode/tic4x.h A processors/ARM/gdb-8.3.1/include/opcode/tic54x.h A processors/ARM/gdb-8.3.1/include/opcode/tic6x-control-registers.h A processors/ARM/gdb-8.3.1/include/opcode/tic6x-insn-formats.h A processors/ARM/gdb-8.3.1/include/opcode/tic6x-opcode-table.h A processors/ARM/gdb-8.3.1/include/opcode/tic6x.h A processors/ARM/gdb-8.3.1/include/opcode/tic80.h A processors/ARM/gdb-8.3.1/include/opcode/tilegx.h A processors/ARM/gdb-8.3.1/include/opcode/tilepro.h A processors/ARM/gdb-8.3.1/include/opcode/v850.h A processors/ARM/gdb-8.3.1/include/opcode/vax.h A processors/ARM/gdb-8.3.1/include/opcode/visium.h A processors/ARM/gdb-8.3.1/include/opcode/wasm.h A processors/ARM/gdb-8.3.1/include/opcode/xgate.h A processors/ARM/gdb-8.3.1/include/os9k.h A processors/ARM/gdb-8.3.1/include/partition.h A processors/ARM/gdb-8.3.1/include/plugin-api.h A processors/ARM/gdb-8.3.1/include/progress.h A processors/ARM/gdb-8.3.1/include/safe-ctype.h A processors/ARM/gdb-8.3.1/include/sha1.h A processors/ARM/gdb-8.3.1/include/simple-object.h A processors/ARM/gdb-8.3.1/include/som/ChangeLog-1015 A processors/ARM/gdb-8.3.1/include/som/aout.h A processors/ARM/gdb-8.3.1/include/som/clock.h A processors/ARM/gdb-8.3.1/include/som/internal.h A processors/ARM/gdb-8.3.1/include/som/lst.h A processors/ARM/gdb-8.3.1/include/som/reloc.h A processors/ARM/gdb-8.3.1/include/sort.h A processors/ARM/gdb-8.3.1/include/splay-tree.h A processors/ARM/gdb-8.3.1/include/symcat.h A processors/ARM/gdb-8.3.1/include/timeval-utils.h A processors/ARM/gdb-8.3.1/include/vms/ChangeLog-1015 A processors/ARM/gdb-8.3.1/include/vms/dcx.h A processors/ARM/gdb-8.3.1/include/vms/dmt.h A processors/ARM/gdb-8.3.1/include/vms/dsc.h A processors/ARM/gdb-8.3.1/include/vms/dst.h A processors/ARM/gdb-8.3.1/include/vms/eeom.h A processors/ARM/gdb-8.3.1/include/vms/egps.h A processors/ARM/gdb-8.3.1/include/vms/egsd.h A processors/ARM/gdb-8.3.1/include/vms/egst.h A processors/ARM/gdb-8.3.1/include/vms/egsy.h A processors/ARM/gdb-8.3.1/include/vms/eiaf.h A processors/ARM/gdb-8.3.1/include/vms/eicp.h A processors/ARM/gdb-8.3.1/include/vms/eidc.h A processors/ARM/gdb-8.3.1/include/vms/eiha.h A processors/ARM/gdb-8.3.1/include/vms/eihd.h A processors/ARM/gdb-8.3.1/include/vms/eihi.h A processors/ARM/gdb-8.3.1/include/vms/eihs.h A processors/ARM/gdb-8.3.1/include/vms/eihvn.h A processors/ARM/gdb-8.3.1/include/vms/eisd.h A processors/ARM/gdb-8.3.1/include/vms/emh.h A processors/ARM/gdb-8.3.1/include/vms/eobjrec.h A processors/ARM/gdb-8.3.1/include/vms/esdf.h A processors/ARM/gdb-8.3.1/include/vms/esdfm.h A processors/ARM/gdb-8.3.1/include/vms/esdfv.h A processors/ARM/gdb-8.3.1/include/vms/esgps.h A processors/ARM/gdb-8.3.1/include/vms/esrf.h A processors/ARM/gdb-8.3.1/include/vms/etir.h A processors/ARM/gdb-8.3.1/include/vms/internal.h A processors/ARM/gdb-8.3.1/include/vms/lbr.h A processors/ARM/gdb-8.3.1/include/vms/prt.h A processors/ARM/gdb-8.3.1/include/vms/shl.h A processors/ARM/gdb-8.3.1/include/vtv-change-permission.h A processors/ARM/gdb-8.3.1/include/xregex.h A processors/ARM/gdb-8.3.1/include/xregex2.h A processors/ARM/gdb-8.3.1/include/xtensa-config.h A processors/ARM/gdb-8.3.1/include/xtensa-isa-internal.h A processors/ARM/gdb-8.3.1/include/xtensa-isa.h A processors/ARM/gdb-8.3.1/install-sh A processors/ARM/gdb-8.3.1/libiberty/.gitignore A processors/ARM/gdb-8.3.1/libiberty/COPYING.LIB A processors/ARM/gdb-8.3.1/libiberty/ChangeLog A processors/ARM/gdb-8.3.1/libiberty/ChangeLog.jit A processors/ARM/gdb-8.3.1/libiberty/Makefile.in A processors/ARM/gdb-8.3.1/libiberty/README A processors/ARM/gdb-8.3.1/libiberty/_doprnt.c A processors/ARM/gdb-8.3.1/libiberty/aclocal.m4 A processors/ARM/gdb-8.3.1/libiberty/alloca.c A processors/ARM/gdb-8.3.1/libiberty/argv.c A processors/ARM/gdb-8.3.1/libiberty/asprintf.c A processors/ARM/gdb-8.3.1/libiberty/at-file.texi A processors/ARM/gdb-8.3.1/libiberty/atexit.c A processors/ARM/gdb-8.3.1/libiberty/basename.c A processors/ARM/gdb-8.3.1/libiberty/bcmp.c A processors/ARM/gdb-8.3.1/libiberty/bcopy.c A processors/ARM/gdb-8.3.1/libiberty/bsearch.c A processors/ARM/gdb-8.3.1/libiberty/bzero.c A processors/ARM/gdb-8.3.1/libiberty/calloc.c A processors/ARM/gdb-8.3.1/libiberty/choose-temp.c A processors/ARM/gdb-8.3.1/libiberty/clock.c A processors/ARM/gdb-8.3.1/libiberty/concat.c A processors/ARM/gdb-8.3.1/libiberty/config.h-vms A processors/ARM/gdb-8.3.1/libiberty/config.in A processors/ARM/gdb-8.3.1/libiberty/config/mh-aix A processors/ARM/gdb-8.3.1/libiberty/config/mh-cxux7 A processors/ARM/gdb-8.3.1/libiberty/config/mh-fbsd21 A processors/ARM/gdb-8.3.1/libiberty/config/mh-openedition A processors/ARM/gdb-8.3.1/libiberty/config/mh-windows A processors/ARM/gdb-8.3.1/libiberty/configure A processors/ARM/gdb-8.3.1/libiberty/configure.ac A processors/ARM/gdb-8.3.1/libiberty/configure.com A processors/ARM/gdb-8.3.1/libiberty/copying-lib.texi A processors/ARM/gdb-8.3.1/libiberty/copysign.c A processors/ARM/gdb-8.3.1/libiberty/cp-demangle.c A processors/ARM/gdb-8.3.1/libiberty/cp-demangle.h A processors/ARM/gdb-8.3.1/libiberty/cp-demint.c A processors/ARM/gdb-8.3.1/libiberty/cplus-dem.c A processors/ARM/gdb-8.3.1/libiberty/crc32.c A processors/ARM/gdb-8.3.1/libiberty/d-demangle.c A processors/ARM/gdb-8.3.1/libiberty/dwarfnames.c A processors/ARM/gdb-8.3.1/libiberty/dyn-string.c A processors/ARM/gdb-8.3.1/libiberty/fdmatch.c A processors/ARM/gdb-8.3.1/libiberty/ffs.c A processors/ARM/gdb-8.3.1/libiberty/fibheap.c A processors/ARM/gdb-8.3.1/libiberty/filename_cmp.c A processors/ARM/gdb-8.3.1/libiberty/floatformat.c A processors/ARM/gdb-8.3.1/libiberty/fnmatch.c A processors/ARM/gdb-8.3.1/libiberty/fnmatch.txh A processors/ARM/gdb-8.3.1/libiberty/fopen_unlocked.c A processors/ARM/gdb-8.3.1/libiberty/functions.texi A processors/ARM/gdb-8.3.1/libiberty/gather-docs A processors/ARM/gdb-8.3.1/libiberty/getcwd.c A processors/ARM/gdb-8.3.1/libiberty/getopt.c A processors/ARM/gdb-8.3.1/libiberty/getopt1.c A processors/ARM/gdb-8.3.1/libiberty/getpagesize.c A processors/ARM/gdb-8.3.1/libiberty/getpwd.c A processors/ARM/gdb-8.3.1/libiberty/getruntime.c A processors/ARM/gdb-8.3.1/libiberty/gettimeofday.c A processors/ARM/gdb-8.3.1/libiberty/hashtab.c A processors/ARM/gdb-8.3.1/libiberty/hex.c A processors/ARM/gdb-8.3.1/libiberty/index.c A processors/ARM/gdb-8.3.1/libiberty/insque.c A processors/ARM/gdb-8.3.1/libiberty/lbasename.c A processors/ARM/gdb-8.3.1/libiberty/libiberty.texi A processors/ARM/gdb-8.3.1/libiberty/lrealpath.c A processors/ARM/gdb-8.3.1/libiberty/maint-tool A processors/ARM/gdb-8.3.1/libiberty/make-relative-prefix.c A processors/ARM/gdb-8.3.1/libiberty/make-temp-file.c A processors/ARM/gdb-8.3.1/libiberty/makefile.vms A processors/ARM/gdb-8.3.1/libiberty/md5.c A processors/ARM/gdb-8.3.1/libiberty/memchr.c A processors/ARM/gdb-8.3.1/libiberty/memcmp.c A processors/ARM/gdb-8.3.1/libiberty/memcpy.c A processors/ARM/gdb-8.3.1/libiberty/memmem.c A processors/ARM/gdb-8.3.1/libiberty/memmove.c A processors/ARM/gdb-8.3.1/libiberty/mempcpy.c A processors/ARM/gdb-8.3.1/libiberty/memset.c A processors/ARM/gdb-8.3.1/libiberty/mkstemps.c A processors/ARM/gdb-8.3.1/libiberty/msdos.c A processors/ARM/gdb-8.3.1/libiberty/objalloc.c A processors/ARM/gdb-8.3.1/libiberty/obstack.c A processors/ARM/gdb-8.3.1/libiberty/obstacks.texi A processors/ARM/gdb-8.3.1/libiberty/partition.c A processors/ARM/gdb-8.3.1/libiberty/pex-common.c A processors/ARM/gdb-8.3.1/libiberty/pex-common.h A processors/ARM/gdb-8.3.1/libiberty/pex-djgpp.c A processors/ARM/gdb-8.3.1/libiberty/pex-msdos.c A processors/ARM/gdb-8.3.1/libiberty/pex-one.c A processors/ARM/gdb-8.3.1/libiberty/pex-unix.c A processors/ARM/gdb-8.3.1/libiberty/pex-win32.c A processors/ARM/gdb-8.3.1/libiberty/pexecute.c A processors/ARM/gdb-8.3.1/libiberty/pexecute.txh A processors/ARM/gdb-8.3.1/libiberty/physmem.c A processors/ARM/gdb-8.3.1/libiberty/putenv.c A processors/ARM/gdb-8.3.1/libiberty/random.c A processors/ARM/gdb-8.3.1/libiberty/regex.c A processors/ARM/gdb-8.3.1/libiberty/rename.c A processors/ARM/gdb-8.3.1/libiberty/rindex.c A processors/ARM/gdb-8.3.1/libiberty/rust-demangle.c A processors/ARM/gdb-8.3.1/libiberty/safe-ctype.c A processors/ARM/gdb-8.3.1/libiberty/setenv.c A processors/ARM/gdb-8.3.1/libiberty/setproctitle.c A processors/ARM/gdb-8.3.1/libiberty/sha1.c A processors/ARM/gdb-8.3.1/libiberty/sigsetmask.c A processors/ARM/gdb-8.3.1/libiberty/simple-object-coff.c A processors/ARM/gdb-8.3.1/libiberty/simple-object-common.h A processors/ARM/gdb-8.3.1/libiberty/simple-object-elf.c A processors/ARM/gdb-8.3.1/libiberty/simple-object-mach-o.c A processors/ARM/gdb-8.3.1/libiberty/simple-object-xcoff.c A processors/ARM/gdb-8.3.1/libiberty/simple-object.c A processors/ARM/gdb-8.3.1/libiberty/simple-object.txh A processors/ARM/gdb-8.3.1/libiberty/snprintf.c A processors/ARM/gdb-8.3.1/libiberty/sort.c A processors/ARM/gdb-8.3.1/libiberty/spaces.c A processors/ARM/gdb-8.3.1/libiberty/splay-tree.c A processors/ARM/gdb-8.3.1/libiberty/stack-limit.c A processors/ARM/gdb-8.3.1/libiberty/stpcpy.c A processors/ARM/gdb-8.3.1/libiberty/stpncpy.c A processors/ARM/gdb-8.3.1/libiberty/strcasecmp.c A processors/ARM/gdb-8.3.1/libiberty/strchr.c A processors/ARM/gdb-8.3.1/libiberty/strdup.c A processors/ARM/gdb-8.3.1/libiberty/strerror.c A processors/ARM/gdb-8.3.1/libiberty/strncasecmp.c A processors/ARM/gdb-8.3.1/libiberty/strncmp.c A processors/ARM/gdb-8.3.1/libiberty/strndup.c A processors/ARM/gdb-8.3.1/libiberty/strnlen.c A processors/ARM/gdb-8.3.1/libiberty/strrchr.c A processors/ARM/gdb-8.3.1/libiberty/strsignal.c A processors/ARM/gdb-8.3.1/libiberty/strstr.c A processors/ARM/gdb-8.3.1/libiberty/strtod.c A processors/ARM/gdb-8.3.1/libiberty/strtol.c A processors/ARM/gdb-8.3.1/libiberty/strtoll.c A processors/ARM/gdb-8.3.1/libiberty/strtoul.c A processors/ARM/gdb-8.3.1/libiberty/strtoull.c A processors/ARM/gdb-8.3.1/libiberty/strverscmp.c A processors/ARM/gdb-8.3.1/libiberty/timeval-utils.c A processors/ARM/gdb-8.3.1/libiberty/tmpnam.c A processors/ARM/gdb-8.3.1/libiberty/unlink-if-ordinary.c A processors/ARM/gdb-8.3.1/libiberty/vasprintf.c A processors/ARM/gdb-8.3.1/libiberty/vfork.c A processors/ARM/gdb-8.3.1/libiberty/vfprintf.c A processors/ARM/gdb-8.3.1/libiberty/vprintf-support.c A processors/ARM/gdb-8.3.1/libiberty/vprintf-support.h A processors/ARM/gdb-8.3.1/libiberty/vprintf.c A processors/ARM/gdb-8.3.1/libiberty/vsnprintf.c A processors/ARM/gdb-8.3.1/libiberty/vsprintf.c A processors/ARM/gdb-8.3.1/libiberty/waitpid.c A processors/ARM/gdb-8.3.1/libiberty/xasprintf.c A processors/ARM/gdb-8.3.1/libiberty/xatexit.c A processors/ARM/gdb-8.3.1/libiberty/xexit.c A processors/ARM/gdb-8.3.1/libiberty/xmalloc.c A processors/ARM/gdb-8.3.1/libiberty/xmemdup.c A processors/ARM/gdb-8.3.1/libiberty/xstrdup.c A processors/ARM/gdb-8.3.1/libiberty/xstrerror.c A processors/ARM/gdb-8.3.1/libiberty/xstrndup.c A processors/ARM/gdb-8.3.1/libiberty/xvasprintf.c A processors/ARM/gdb-8.3.1/ltmain.sh A processors/ARM/gdb-8.3.1/ltversion.m4 A processors/ARM/gdb-8.3.1/mkinstalldirs A processors/ARM/gdb-8.3.1/move-if-change A processors/ARM/gdb-8.3.1/opcodes/.gitignore A processors/ARM/gdb-8.3.1/opcodes/MAINTAINERS A processors/ARM/gdb-8.3.1/opcodes/Makefile.am A processors/ARM/gdb-8.3.1/opcodes/Makefile.in A processors/ARM/gdb-8.3.1/opcodes/aarch64-asm-2.c A processors/ARM/gdb-8.3.1/opcodes/aarch64-asm.c A processors/ARM/gdb-8.3.1/opcodes/aarch64-asm.h A processors/ARM/gdb-8.3.1/opcodes/aarch64-dis-2.c A processors/ARM/gdb-8.3.1/opcodes/aarch64-dis.c A processors/ARM/gdb-8.3.1/opcodes/aarch64-dis.h A processors/ARM/gdb-8.3.1/opcodes/aarch64-gen.c A processors/ARM/gdb-8.3.1/opcodes/aarch64-opc-2.c A processors/ARM/gdb-8.3.1/opcodes/aarch64-opc.c A processors/ARM/gdb-8.3.1/opcodes/aarch64-opc.h A processors/ARM/gdb-8.3.1/opcodes/aarch64-tbl.h A processors/ARM/gdb-8.3.1/opcodes/aclocal.m4 A processors/ARM/gdb-8.3.1/opcodes/alpha-dis.c A processors/ARM/gdb-8.3.1/opcodes/alpha-opc.c A processors/ARM/gdb-8.3.1/opcodes/arc-dis.c A processors/ARM/gdb-8.3.1/opcodes/arc-dis.h A processors/ARM/gdb-8.3.1/opcodes/arc-ext-tbl.h A processors/ARM/gdb-8.3.1/opcodes/arc-ext.c A processors/ARM/gdb-8.3.1/opcodes/arc-ext.h A processors/ARM/gdb-8.3.1/opcodes/arc-fxi.h A processors/ARM/gdb-8.3.1/opcodes/arc-nps400-tbl.h A processors/ARM/gdb-8.3.1/opcodes/arc-opc.c A processors/ARM/gdb-8.3.1/opcodes/arc-regs.h A processors/ARM/gdb-8.3.1/opcodes/arc-tbl.h A processors/ARM/gdb-8.3.1/opcodes/arm-dis.c A processors/ARM/gdb-8.3.1/opcodes/avr-dis.c A processors/ARM/gdb-8.3.1/opcodes/bfin-dis.c A processors/ARM/gdb-8.3.1/opcodes/cgen-asm.c A processors/ARM/gdb-8.3.1/opcodes/cgen-asm.in A processors/ARM/gdb-8.3.1/opcodes/cgen-bitset.c A processors/ARM/gdb-8.3.1/opcodes/cgen-dis.c A processors/ARM/gdb-8.3.1/opcodes/cgen-dis.in A processors/ARM/gdb-8.3.1/opcodes/cgen-ibld.in A processors/ARM/gdb-8.3.1/opcodes/cgen-opc.c A processors/ARM/gdb-8.3.1/opcodes/cgen.sh A processors/ARM/gdb-8.3.1/opcodes/config.in A processors/ARM/gdb-8.3.1/opcodes/configure A processors/ARM/gdb-8.3.1/opcodes/configure.ac A processors/ARM/gdb-8.3.1/opcodes/configure.com A processors/ARM/gdb-8.3.1/opcodes/cr16-dis.c A processors/ARM/gdb-8.3.1/opcodes/cr16-opc.c A processors/ARM/gdb-8.3.1/opcodes/cris-dis.c A processors/ARM/gdb-8.3.1/opcodes/cris-opc.c A processors/ARM/gdb-8.3.1/opcodes/crx-dis.c A processors/ARM/gdb-8.3.1/opcodes/crx-opc.c A processors/ARM/gdb-8.3.1/opcodes/csky-dis.c A processors/ARM/gdb-8.3.1/opcodes/csky-opc.h A processors/ARM/gdb-8.3.1/opcodes/d10v-dis.c A processors/ARM/gdb-8.3.1/opcodes/d10v-opc.c A processors/ARM/gdb-8.3.1/opcodes/d30v-dis.c A processors/ARM/gdb-8.3.1/opcodes/d30v-opc.c A processors/ARM/gdb-8.3.1/opcodes/dep-in.sed A processors/ARM/gdb-8.3.1/opcodes/dis-buf.c A processors/ARM/gdb-8.3.1/opcodes/dis-init.c A processors/ARM/gdb-8.3.1/opcodes/disassemble.c A processors/ARM/gdb-8.3.1/opcodes/disassemble.h A processors/ARM/gdb-8.3.1/opcodes/dlx-dis.c A processors/ARM/gdb-8.3.1/opcodes/epiphany-asm.c A processors/ARM/gdb-8.3.1/opcodes/epiphany-desc.c A processors/ARM/gdb-8.3.1/opcodes/epiphany-desc.h A processors/ARM/gdb-8.3.1/opcodes/epiphany-dis.c A processors/ARM/gdb-8.3.1/opcodes/epiphany-ibld.c A processors/ARM/gdb-8.3.1/opcodes/epiphany-opc.c A processors/ARM/gdb-8.3.1/opcodes/epiphany-opc.h A processors/ARM/gdb-8.3.1/opcodes/fr30-asm.c A processors/ARM/gdb-8.3.1/opcodes/fr30-desc.c A processors/ARM/gdb-8.3.1/opcodes/fr30-desc.h A processors/ARM/gdb-8.3.1/opcodes/fr30-dis.c A processors/ARM/gdb-8.3.1/opcodes/fr30-ibld.c A processors/ARM/gdb-8.3.1/opcodes/fr30-opc.c A processors/ARM/gdb-8.3.1/opcodes/fr30-opc.h A processors/ARM/gdb-8.3.1/opcodes/frv-asm.c A processors/ARM/gdb-8.3.1/opcodes/frv-desc.c A processors/ARM/gdb-8.3.1/opcodes/frv-desc.h A processors/ARM/gdb-8.3.1/opcodes/frv-dis.c A processors/ARM/gdb-8.3.1/opcodes/frv-ibld.c A processors/ARM/gdb-8.3.1/opcodes/frv-opc.c A processors/ARM/gdb-8.3.1/opcodes/frv-opc.h A processors/ARM/gdb-8.3.1/opcodes/ft32-dis.c A processors/ARM/gdb-8.3.1/opcodes/ft32-opc.c A processors/ARM/gdb-8.3.1/opcodes/h8300-dis.c A processors/ARM/gdb-8.3.1/opcodes/hppa-dis.c A processors/ARM/gdb-8.3.1/opcodes/i386-dis-evex.h A processors/ARM/gdb-8.3.1/opcodes/i386-dis.c A processors/ARM/gdb-8.3.1/opcodes/i386-gen.c A processors/ARM/gdb-8.3.1/opcodes/i386-init.h A processors/ARM/gdb-8.3.1/opcodes/i386-opc.c A processors/ARM/gdb-8.3.1/opcodes/i386-opc.h A processors/ARM/gdb-8.3.1/opcodes/i386-opc.tbl A processors/ARM/gdb-8.3.1/opcodes/i386-reg.tbl A processors/ARM/gdb-8.3.1/opcodes/i386-tbl.h A processors/ARM/gdb-8.3.1/opcodes/ia64-asmtab.c A processors/ARM/gdb-8.3.1/opcodes/ia64-asmtab.h A processors/ARM/gdb-8.3.1/opcodes/ia64-dis.c A processors/ARM/gdb-8.3.1/opcodes/ia64-gen.c A processors/ARM/gdb-8.3.1/opcodes/ia64-ic.tbl A processors/ARM/gdb-8.3.1/opcodes/ia64-opc-a.c A processors/ARM/gdb-8.3.1/opcodes/ia64-opc-b.c A processors/ARM/gdb-8.3.1/opcodes/ia64-opc-d.c A processors/ARM/gdb-8.3.1/opcodes/ia64-opc-f.c A processors/ARM/gdb-8.3.1/opcodes/ia64-opc-i.c A processors/ARM/gdb-8.3.1/opcodes/ia64-opc-m.c A processors/ARM/gdb-8.3.1/opcodes/ia64-opc-x.c A processors/ARM/gdb-8.3.1/opcodes/ia64-opc.c A processors/ARM/gdb-8.3.1/opcodes/ia64-opc.h A processors/ARM/gdb-8.3.1/opcodes/ia64-raw.tbl A processors/ARM/gdb-8.3.1/opcodes/ia64-war.tbl A processors/ARM/gdb-8.3.1/opcodes/ia64-waw.tbl A processors/ARM/gdb-8.3.1/opcodes/ip2k-asm.c A processors/ARM/gdb-8.3.1/opcodes/ip2k-desc.c A processors/ARM/gdb-8.3.1/opcodes/ip2k-desc.h A processors/ARM/gdb-8.3.1/opcodes/ip2k-dis.c A processors/ARM/gdb-8.3.1/opcodes/ip2k-ibld.c A processors/ARM/gdb-8.3.1/opcodes/ip2k-opc.c A processors/ARM/gdb-8.3.1/opcodes/ip2k-opc.h A processors/ARM/gdb-8.3.1/opcodes/iq2000-asm.c A processors/ARM/gdb-8.3.1/opcodes/iq2000-desc.c A processors/ARM/gdb-8.3.1/opcodes/iq2000-desc.h A processors/ARM/gdb-8.3.1/opcodes/iq2000-dis.c A processors/ARM/gdb-8.3.1/opcodes/iq2000-ibld.c A processors/ARM/gdb-8.3.1/opcodes/iq2000-opc.c A processors/ARM/gdb-8.3.1/opcodes/iq2000-opc.h A processors/ARM/gdb-8.3.1/opcodes/lm32-asm.c A processors/ARM/gdb-8.3.1/opcodes/lm32-desc.c A processors/ARM/gdb-8.3.1/opcodes/lm32-desc.h A processors/ARM/gdb-8.3.1/opcodes/lm32-dis.c A processors/ARM/gdb-8.3.1/opcodes/lm32-ibld.c A processors/ARM/gdb-8.3.1/opcodes/lm32-opc.c A processors/ARM/gdb-8.3.1/opcodes/lm32-opc.h A processors/ARM/gdb-8.3.1/opcodes/lm32-opinst.c A processors/ARM/gdb-8.3.1/opcodes/m10200-dis.c A processors/ARM/gdb-8.3.1/opcodes/m10200-opc.c A processors/ARM/gdb-8.3.1/opcodes/m10300-dis.c A processors/ARM/gdb-8.3.1/opcodes/m10300-opc.c A processors/ARM/gdb-8.3.1/opcodes/m32c-asm.c A processors/ARM/gdb-8.3.1/opcodes/m32c-desc.c A processors/ARM/gdb-8.3.1/opcodes/m32c-desc.h A processors/ARM/gdb-8.3.1/opcodes/m32c-dis.c A processors/ARM/gdb-8.3.1/opcodes/m32c-ibld.c A processors/ARM/gdb-8.3.1/opcodes/m32c-opc.c A processors/ARM/gdb-8.3.1/opcodes/m32c-opc.h A processors/ARM/gdb-8.3.1/opcodes/m32r-asm.c A processors/ARM/gdb-8.3.1/opcodes/m32r-desc.c A processors/ARM/gdb-8.3.1/opcodes/m32r-desc.h A processors/ARM/gdb-8.3.1/opcodes/m32r-dis.c A processors/ARM/gdb-8.3.1/opcodes/m32r-ibld.c A processors/ARM/gdb-8.3.1/opcodes/m32r-opc.c A processors/ARM/gdb-8.3.1/opcodes/m32r-opc.h A processors/ARM/gdb-8.3.1/opcodes/m32r-opinst.c A processors/ARM/gdb-8.3.1/opcodes/m68hc11-dis.c A processors/ARM/gdb-8.3.1/opcodes/m68hc11-opc.c A processors/ARM/gdb-8.3.1/opcodes/m68k-dis.c A processors/ARM/gdb-8.3.1/opcodes/m68k-opc.c A processors/ARM/gdb-8.3.1/opcodes/makefile.vms A processors/ARM/gdb-8.3.1/opcodes/mcore-dis.c A processors/ARM/gdb-8.3.1/opcodes/mcore-opc.h A processors/ARM/gdb-8.3.1/opcodes/mep-asm.c A processors/ARM/gdb-8.3.1/opcodes/mep-desc.c A processors/ARM/gdb-8.3.1/opcodes/mep-desc.h A processors/ARM/gdb-8.3.1/opcodes/mep-dis.c A processors/ARM/gdb-8.3.1/opcodes/mep-ibld.c A processors/ARM/gdb-8.3.1/opcodes/mep-opc.c A processors/ARM/gdb-8.3.1/opcodes/mep-opc.h A processors/ARM/gdb-8.3.1/opcodes/metag-dis.c A processors/ARM/gdb-8.3.1/opcodes/microblaze-dis.c A processors/ARM/gdb-8.3.1/opcodes/microblaze-dis.h A processors/ARM/gdb-8.3.1/opcodes/microblaze-opc.h A processors/ARM/gdb-8.3.1/opcodes/microblaze-opcm.h A processors/ARM/gdb-8.3.1/opcodes/micromips-opc.c A processors/ARM/gdb-8.3.1/opcodes/mips-dis.c A processors/ARM/gdb-8.3.1/opcodes/mips-formats.h A processors/ARM/gdb-8.3.1/opcodes/mips-opc.c A processors/ARM/gdb-8.3.1/opcodes/mips16-opc.c A processors/ARM/gdb-8.3.1/opcodes/mmix-dis.c A processors/ARM/gdb-8.3.1/opcodes/mmix-opc.c A processors/ARM/gdb-8.3.1/opcodes/moxie-dis.c A processors/ARM/gdb-8.3.1/opcodes/moxie-opc.c A processors/ARM/gdb-8.3.1/opcodes/msp430-decode.c A processors/ARM/gdb-8.3.1/opcodes/msp430-decode.opc A processors/ARM/gdb-8.3.1/opcodes/msp430-dis.c A processors/ARM/gdb-8.3.1/opcodes/mt-asm.c A processors/ARM/gdb-8.3.1/opcodes/mt-desc.c A processors/ARM/gdb-8.3.1/opcodes/mt-desc.h A processors/ARM/gdb-8.3.1/opcodes/mt-dis.c A processors/ARM/gdb-8.3.1/opcodes/mt-ibld.c A processors/ARM/gdb-8.3.1/opcodes/mt-opc.c A processors/ARM/gdb-8.3.1/opcodes/mt-opc.h A processors/ARM/gdb-8.3.1/opcodes/nds32-asm.c A processors/ARM/gdb-8.3.1/opcodes/nds32-asm.h A processors/ARM/gdb-8.3.1/opcodes/nds32-dis.c A processors/ARM/gdb-8.3.1/opcodes/nds32-opc.h A processors/ARM/gdb-8.3.1/opcodes/nfp-dis.c A processors/ARM/gdb-8.3.1/opcodes/nios2-dis.c A processors/ARM/gdb-8.3.1/opcodes/nios2-opc.c A processors/ARM/gdb-8.3.1/opcodes/ns32k-dis.c A processors/ARM/gdb-8.3.1/opcodes/opc2c.c A processors/ARM/gdb-8.3.1/opcodes/opintl.h A processors/ARM/gdb-8.3.1/opcodes/or1k-asm.c A processors/ARM/gdb-8.3.1/opcodes/or1k-desc.c A processors/ARM/gdb-8.3.1/opcodes/or1k-desc.h A processors/ARM/gdb-8.3.1/opcodes/or1k-dis.c A processors/ARM/gdb-8.3.1/opcodes/or1k-ibld.c A processors/ARM/gdb-8.3.1/opcodes/or1k-opc.c A processors/ARM/gdb-8.3.1/opcodes/or1k-opc.h A processors/ARM/gdb-8.3.1/opcodes/or1k-opinst.c A processors/ARM/gdb-8.3.1/opcodes/pdp11-dis.c A processors/ARM/gdb-8.3.1/opcodes/pdp11-opc.c A processors/ARM/gdb-8.3.1/opcodes/pj-dis.c A processors/ARM/gdb-8.3.1/opcodes/pj-opc.c A processors/ARM/gdb-8.3.1/opcodes/po/Make-in A processors/ARM/gdb-8.3.1/opcodes/po/POTFILES.in A processors/ARM/gdb-8.3.1/opcodes/po/da.gmo A processors/ARM/gdb-8.3.1/opcodes/po/da.po A processors/ARM/gdb-8.3.1/opcodes/po/de.gmo A processors/ARM/gdb-8.3.1/opcodes/po/de.po A processors/ARM/gdb-8.3.1/opcodes/po/es.gmo A processors/ARM/gdb-8.3.1/opcodes/po/es.po A processors/ARM/gdb-8.3.1/opcodes/po/fi.gmo A processors/ARM/gdb-8.3.1/opcodes/po/fi.po A processors/ARM/gdb-8.3.1/opcodes/po/fr.gmo A processors/ARM/gdb-8.3.1/opcodes/po/fr.po A processors/ARM/gdb-8.3.1/opcodes/po/ga.gmo A processors/ARM/gdb-8.3.1/opcodes/po/ga.po A processors/ARM/gdb-8.3.1/opcodes/po/id.gmo A processors/ARM/gdb-8.3.1/opcodes/po/id.po A processors/ARM/gdb-8.3.1/opcodes/po/it.gmo A processors/ARM/gdb-8.3.1/opcodes/po/it.po A processors/ARM/gdb-8.3.1/opcodes/po/nl.gmo A processors/ARM/gdb-8.3.1/opcodes/po/nl.po A processors/ARM/gdb-8.3.1/opcodes/po/opcodes.pot A processors/ARM/gdb-8.3.1/opcodes/po/pt_BR.gmo A processors/ARM/gdb-8.3.1/opcodes/po/pt_BR.po A processors/ARM/gdb-8.3.1/opcodes/po/ro.gmo A processors/ARM/gdb-8.3.1/opcodes/po/ro.po A processors/ARM/gdb-8.3.1/opcodes/po/sr.gmo A processors/ARM/gdb-8.3.1/opcodes/po/sr.po A processors/ARM/gdb-8.3.1/opcodes/po/sv.gmo A processors/ARM/gdb-8.3.1/opcodes/po/sv.po A processors/ARM/gdb-8.3.1/opcodes/po/tr.gmo A processors/ARM/gdb-8.3.1/opcodes/po/tr.po A processors/ARM/gdb-8.3.1/opcodes/po/uk.gmo A processors/ARM/gdb-8.3.1/opcodes/po/uk.po A processors/ARM/gdb-8.3.1/opcodes/po/vi.gmo A processors/ARM/gdb-8.3.1/opcodes/po/vi.po A processors/ARM/gdb-8.3.1/opcodes/po/zh_CN.gmo A processors/ARM/gdb-8.3.1/opcodes/po/zh_CN.po A processors/ARM/gdb-8.3.1/opcodes/ppc-dis.c A processors/ARM/gdb-8.3.1/opcodes/ppc-opc.c A processors/ARM/gdb-8.3.1/opcodes/pru-dis.c A processors/ARM/gdb-8.3.1/opcodes/pru-opc.c A processors/ARM/gdb-8.3.1/opcodes/riscv-dis.c A processors/ARM/gdb-8.3.1/opcodes/riscv-opc.c A processors/ARM/gdb-8.3.1/opcodes/rl78-decode.c A processors/ARM/gdb-8.3.1/opcodes/rl78-decode.opc A processors/ARM/gdb-8.3.1/opcodes/rl78-dis.c A processors/ARM/gdb-8.3.1/opcodes/rx-decode.c A processors/ARM/gdb-8.3.1/opcodes/rx-decode.opc A processors/ARM/gdb-8.3.1/opcodes/rx-dis.c A processors/ARM/gdb-8.3.1/opcodes/s12z-dis.c A processors/ARM/gdb-8.3.1/opcodes/s12z-opc.c A processors/ARM/gdb-8.3.1/opcodes/s12z-opc.h A processors/ARM/gdb-8.3.1/opcodes/s390-dis.c A processors/ARM/gdb-8.3.1/opcodes/s390-mkopc.c A processors/ARM/gdb-8.3.1/opcodes/s390-opc.c A processors/ARM/gdb-8.3.1/opcodes/s390-opc.txt A processors/ARM/gdb-8.3.1/opcodes/score-dis.c A processors/ARM/gdb-8.3.1/opcodes/score-opc.h A processors/ARM/gdb-8.3.1/opcodes/score7-dis.c A processors/ARM/gdb-8.3.1/opcodes/sh-dis.c A processors/ARM/gdb-8.3.1/opcodes/sh-opc.h A processors/ARM/gdb-8.3.1/opcodes/sparc-dis.c A processors/ARM/gdb-8.3.1/opcodes/sparc-opc.c A processors/ARM/gdb-8.3.1/opcodes/spu-dis.c A processors/ARM/gdb-8.3.1/opcodes/spu-opc.c A processors/ARM/gdb-8.3.1/opcodes/stamp-h.in A processors/ARM/gdb-8.3.1/opcodes/sysdep.h A processors/ARM/gdb-8.3.1/opcodes/tic30-dis.c A processors/ARM/gdb-8.3.1/opcodes/tic4x-dis.c A processors/ARM/gdb-8.3.1/opcodes/tic54x-dis.c A processors/ARM/gdb-8.3.1/opcodes/tic54x-opc.c A processors/ARM/gdb-8.3.1/opcodes/tic6x-dis.c A processors/ARM/gdb-8.3.1/opcodes/tic80-dis.c A processors/ARM/gdb-8.3.1/opcodes/tic80-opc.c A processors/ARM/gdb-8.3.1/opcodes/tilegx-dis.c A processors/ARM/gdb-8.3.1/opcodes/tilegx-opc.c A processors/ARM/gdb-8.3.1/opcodes/tilepro-dis.c A processors/ARM/gdb-8.3.1/opcodes/tilepro-opc.c A processors/ARM/gdb-8.3.1/opcodes/v850-dis.c A processors/ARM/gdb-8.3.1/opcodes/v850-opc.c A processors/ARM/gdb-8.3.1/opcodes/vax-dis.c A processors/ARM/gdb-8.3.1/opcodes/visium-dis.c A processors/ARM/gdb-8.3.1/opcodes/visium-opc.c A processors/ARM/gdb-8.3.1/opcodes/wasm32-dis.c A processors/ARM/gdb-8.3.1/opcodes/xc16x-asm.c A processors/ARM/gdb-8.3.1/opcodes/xc16x-desc.c A processors/ARM/gdb-8.3.1/opcodes/xc16x-desc.h A processors/ARM/gdb-8.3.1/opcodes/xc16x-dis.c A processors/ARM/gdb-8.3.1/opcodes/xc16x-ibld.c A processors/ARM/gdb-8.3.1/opcodes/xc16x-opc.c A processors/ARM/gdb-8.3.1/opcodes/xc16x-opc.h A processors/ARM/gdb-8.3.1/opcodes/xgate-dis.c A processors/ARM/gdb-8.3.1/opcodes/xgate-opc.c A processors/ARM/gdb-8.3.1/opcodes/xstormy16-asm.c A processors/ARM/gdb-8.3.1/opcodes/xstormy16-desc.c A processors/ARM/gdb-8.3.1/opcodes/xstormy16-desc.h A processors/ARM/gdb-8.3.1/opcodes/xstormy16-dis.c A processors/ARM/gdb-8.3.1/opcodes/xstormy16-ibld.c A processors/ARM/gdb-8.3.1/opcodes/xstormy16-opc.c A processors/ARM/gdb-8.3.1/opcodes/xstormy16-opc.h A processors/ARM/gdb-8.3.1/opcodes/xtensa-dis.c A processors/ARM/gdb-8.3.1/opcodes/z80-dis.c A processors/ARM/gdb-8.3.1/opcodes/z8k-dis.c A processors/ARM/gdb-8.3.1/opcodes/z8k-opc.h A processors/ARM/gdb-8.3.1/opcodes/z8kgen.c A processors/ARM/gdb-8.3.1/sim/Makefile.in A processors/ARM/gdb-8.3.1/sim/aarch64/ChangeLog A processors/ARM/gdb-8.3.1/sim/aarch64/Makefile.in A processors/ARM/gdb-8.3.1/sim/aarch64/aclocal.m4 A processors/ARM/gdb-8.3.1/sim/aarch64/config.in A processors/ARM/gdb-8.3.1/sim/aarch64/configure A processors/ARM/gdb-8.3.1/sim/aarch64/configure.ac A processors/ARM/gdb-8.3.1/sim/aarch64/cpustate.c A processors/ARM/gdb-8.3.1/sim/aarch64/cpustate.h A processors/ARM/gdb-8.3.1/sim/aarch64/decode.h A processors/ARM/gdb-8.3.1/sim/aarch64/interp.c A processors/ARM/gdb-8.3.1/sim/aarch64/memory.c A processors/ARM/gdb-8.3.1/sim/aarch64/memory.h A processors/ARM/gdb-8.3.1/sim/aarch64/sim-main.h A processors/ARM/gdb-8.3.1/sim/aarch64/simulator.c A processors/ARM/gdb-8.3.1/sim/aarch64/simulator.h A processors/ARM/gdb-8.3.1/sim/arm/COPYING A processors/ARM/gdb-8.3.1/sim/arm/ChangeLog A processors/ARM/gdb-8.3.1/sim/arm/Makefile.in A processors/ARM/gdb-8.3.1/sim/arm/README A processors/ARM/gdb-8.3.1/sim/arm/aclocal.m4 A processors/ARM/gdb-8.3.1/sim/arm/armcopro.c A processors/ARM/gdb-8.3.1/sim/arm/armdefs.h A processors/ARM/gdb-8.3.1/sim/arm/armemu.c A processors/ARM/gdb-8.3.1/sim/arm/armemu.h A processors/ARM/gdb-8.3.1/sim/arm/armfpe.h A processors/ARM/gdb-8.3.1/sim/arm/arminit.c A processors/ARM/gdb-8.3.1/sim/arm/armos.c A processors/ARM/gdb-8.3.1/sim/arm/armos.h A processors/ARM/gdb-8.3.1/sim/arm/armsupp.c A processors/ARM/gdb-8.3.1/sim/arm/armvirt.c A processors/ARM/gdb-8.3.1/sim/arm/config.in A processors/ARM/gdb-8.3.1/sim/arm/configure A processors/ARM/gdb-8.3.1/sim/arm/configure.ac A processors/ARM/gdb-8.3.1/sim/arm/dbg_rdi.h A processors/ARM/gdb-8.3.1/sim/arm/iwmmxt.c A processors/ARM/gdb-8.3.1/sim/arm/iwmmxt.h A processors/ARM/gdb-8.3.1/sim/arm/maverick.c A processors/ARM/gdb-8.3.1/sim/arm/sim-main.h A processors/ARM/gdb-8.3.1/sim/arm/thumbemu.c A processors/ARM/gdb-8.3.1/sim/arm/wrapper.c A processors/ARM/gdb-8.3.1/sim/common/ChangeLog A processors/ARM/gdb-8.3.1/sim/common/Make-common.in A processors/ARM/gdb-8.3.1/sim/common/Makefile.in A processors/ARM/gdb-8.3.1/sim/common/acinclude.m4 A processors/ARM/gdb-8.3.1/sim/common/aclocal.m4 A processors/ARM/gdb-8.3.1/sim/common/callback.c A processors/ARM/gdb-8.3.1/sim/common/cgen-accfp.c A processors/ARM/gdb-8.3.1/sim/common/cgen-cpu.h A processors/ARM/gdb-8.3.1/sim/common/cgen-defs.h A processors/ARM/gdb-8.3.1/sim/common/cgen-engine.h A processors/ARM/gdb-8.3.1/sim/common/cgen-fpu.c A processors/ARM/gdb-8.3.1/sim/common/cgen-fpu.h A processors/ARM/gdb-8.3.1/sim/common/cgen-mem.h A processors/ARM/gdb-8.3.1/sim/common/cgen-ops.h A processors/ARM/gdb-8.3.1/sim/common/cgen-par.c A processors/ARM/gdb-8.3.1/sim/common/cgen-par.h A processors/ARM/gdb-8.3.1/sim/common/cgen-run.c A processors/ARM/gdb-8.3.1/sim/common/cgen-scache.c A processors/ARM/gdb-8.3.1/sim/common/cgen-scache.h A processors/ARM/gdb-8.3.1/sim/common/cgen-sim.h A processors/ARM/gdb-8.3.1/sim/common/cgen-trace.c A processors/ARM/gdb-8.3.1/sim/common/cgen-trace.h A processors/ARM/gdb-8.3.1/sim/common/cgen-types.h A processors/ARM/gdb-8.3.1/sim/common/cgen-utils.c A processors/ARM/gdb-8.3.1/sim/common/cgen.sh A processors/ARM/gdb-8.3.1/sim/common/configure A processors/ARM/gdb-8.3.1/sim/common/configure.ac A processors/ARM/gdb-8.3.1/sim/common/create-version.sh A processors/ARM/gdb-8.3.1/sim/common/dv-cfi.c A processors/ARM/gdb-8.3.1/sim/common/dv-cfi.h A processors/ARM/gdb-8.3.1/sim/common/dv-core.c A processors/ARM/gdb-8.3.1/sim/common/dv-glue.c A processors/ARM/gdb-8.3.1/sim/common/dv-pal.c A processors/ARM/gdb-8.3.1/sim/common/dv-sockser.c A processors/ARM/gdb-8.3.1/sim/common/dv-sockser.h A processors/ARM/gdb-8.3.1/sim/common/gdbinit.in A processors/ARM/gdb-8.3.1/sim/common/genmloop.sh A processors/ARM/gdb-8.3.1/sim/common/gennltvals.sh A processors/ARM/gdb-8.3.1/sim/common/gentmap.c A processors/ARM/gdb-8.3.1/sim/common/gentvals.sh A processors/ARM/gdb-8.3.1/sim/common/hw-alloc.c A processors/ARM/gdb-8.3.1/sim/common/hw-alloc.h A processors/ARM/gdb-8.3.1/sim/common/hw-base.c A processors/ARM/gdb-8.3.1/sim/common/hw-base.h A processors/ARM/gdb-8.3.1/sim/common/hw-device.c A processors/ARM/gdb-8.3.1/sim/common/hw-device.h A processors/ARM/gdb-8.3.1/sim/common/hw-events.c A processors/ARM/gdb-8.3.1/sim/common/hw-events.h A processors/ARM/gdb-8.3.1/sim/common/hw-handles.c A processors/ARM/gdb-8.3.1/sim/common/hw-handles.h A processors/ARM/gdb-8.3.1/sim/common/hw-instances.c A processors/ARM/gdb-8.3.1/sim/common/hw-instances.h A processors/ARM/gdb-8.3.1/sim/common/hw-main.h A processors/ARM/gdb-8.3.1/sim/common/hw-ports.c A processors/ARM/gdb-8.3.1/sim/common/hw-ports.h A processors/ARM/gdb-8.3.1/sim/common/hw-properties.c A processors/ARM/gdb-8.3.1/sim/common/hw-properties.h A processors/ARM/gdb-8.3.1/sim/common/hw-tree.c A processors/ARM/gdb-8.3.1/sim/common/hw-tree.h A processors/ARM/gdb-8.3.1/sim/common/nltvals.def A processors/ARM/gdb-8.3.1/sim/common/nrun.c A processors/ARM/gdb-8.3.1/sim/common/run.1 A processors/ARM/gdb-8.3.1/sim/common/sim-abort.c A processors/ARM/gdb-8.3.1/sim/common/sim-alu.h A processors/ARM/gdb-8.3.1/sim/common/sim-arange.c A processors/ARM/gdb-8.3.1/sim/common/sim-arange.h A processors/ARM/gdb-8.3.1/sim/common/sim-assert.h A processors/ARM/gdb-8.3.1/sim/common/sim-base.h A processors/ARM/gdb-8.3.1/sim/common/sim-basics.h A processors/ARM/gdb-8.3.1/sim/common/sim-bits.c A processors/ARM/gdb-8.3.1/sim/common/sim-bits.h A processors/ARM/gdb-8.3.1/sim/common/sim-close.c A processors/ARM/gdb-8.3.1/sim/common/sim-command.c A processors/ARM/gdb-8.3.1/sim/common/sim-config.c A processors/ARM/gdb-8.3.1/sim/common/sim-config.h A processors/ARM/gdb-8.3.1/sim/common/sim-core.c A processors/ARM/gdb-8.3.1/sim/common/sim-core.h A processors/ARM/gdb-8.3.1/sim/common/sim-cpu.c A processors/ARM/gdb-8.3.1/sim/common/sim-cpu.h A processors/ARM/gdb-8.3.1/sim/common/sim-endian.c A processors/ARM/gdb-8.3.1/sim/common/sim-endian.h A processors/ARM/gdb-8.3.1/sim/common/sim-engine.c A processors/ARM/gdb-8.3.1/sim/common/sim-engine.h A processors/ARM/gdb-8.3.1/sim/common/sim-events.c A processors/ARM/gdb-8.3.1/sim/common/sim-events.h A processors/ARM/gdb-8.3.1/sim/common/sim-fpu.c A processors/ARM/gdb-8.3.1/sim/common/sim-fpu.h A processors/ARM/gdb-8.3.1/sim/common/sim-hload.c A processors/ARM/gdb-8.3.1/sim/common/sim-hrw.c A processors/ARM/gdb-8.3.1/sim/common/sim-hw.c A processors/ARM/gdb-8.3.1/sim/common/sim-hw.h A processors/ARM/gdb-8.3.1/sim/common/sim-info.c A processors/ARM/gdb-8.3.1/sim/common/sim-inline.c A processors/ARM/gdb-8.3.1/sim/common/sim-inline.h A processors/ARM/gdb-8.3.1/sim/common/sim-io.c A processors/ARM/gdb-8.3.1/sim/common/sim-io.h A processors/ARM/gdb-8.3.1/sim/common/sim-load.c A processors/ARM/gdb-8.3.1/sim/common/sim-memopt.c A processors/ARM/gdb-8.3.1/sim/common/sim-memopt.h A processors/ARM/gdb-8.3.1/sim/common/sim-model.c A processors/ARM/gdb-8.3.1/sim/common/sim-model.h A processors/ARM/gdb-8.3.1/sim/common/sim-module.c A processors/ARM/gdb-8.3.1/sim/common/sim-module.h A processors/ARM/gdb-8.3.1/sim/common/sim-n-bits.h A processors/ARM/gdb-8.3.1/sim/common/sim-n-core.h A processors/ARM/gdb-8.3.1/sim/common/sim-n-endian.h A processors/ARM/gdb-8.3.1/sim/common/sim-options.c A processors/ARM/gdb-8.3.1/sim/common/sim-options.h A processors/ARM/gdb-8.3.1/sim/common/sim-profile.c A processors/ARM/gdb-8.3.1/sim/common/sim-profile.h A processors/ARM/gdb-8.3.1/sim/common/sim-reason.c A processors/ARM/gdb-8.3.1/sim/common/sim-reg.c A processors/ARM/gdb-8.3.1/sim/common/sim-resume.c A processors/ARM/gdb-8.3.1/sim/common/sim-run.c A processors/ARM/gdb-8.3.1/sim/common/sim-signal.c A processors/ARM/gdb-8.3.1/sim/common/sim-signal.h A processors/ARM/gdb-8.3.1/sim/common/sim-stop.c A processors/ARM/gdb-8.3.1/sim/common/sim-syscall.c A processors/ARM/gdb-8.3.1/sim/common/sim-syscall.h A processors/ARM/gdb-8.3.1/sim/common/sim-trace.c A processors/ARM/gdb-8.3.1/sim/common/sim-trace.h A processors/ARM/gdb-8.3.1/sim/common/sim-types.h A processors/ARM/gdb-8.3.1/sim/common/sim-utils.c A processors/ARM/gdb-8.3.1/sim/common/sim-utils.h A processors/ARM/gdb-8.3.1/sim/common/sim-watch.c A processors/ARM/gdb-8.3.1/sim/common/sim-watch.h A processors/ARM/gdb-8.3.1/sim/common/syscall.c A processors/ARM/gdb-8.3.1/sim/common/version.h A processors/ARM/gdb-8.3.1/sim/configure A processors/ARM/gdb-8.3.1/sim/configure.ac A processors/ARM/gdb-8.3.1/sim/configure.tgt Log Message: ----------- Add a somewhat cut down version of the gdb 8.3.1 source tree that can provide ARMv8 simulation (and should be able to provide ARMv5,6,7 simulation too). Add library build dirctories for 64-bit linux & macos. Add the source generation files to generate the processor simulator accessors. The build has been tested on 64-bit MacOS (10.13.x) and 64-bit Linux (CentOS 6.5). The next step is to build a simulator plugin for "aarch64" a.k.a. ARMv8. Commit: 234b75c83995da30efeb91ec2abcdd01cd3d006c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/234b75c83995da30efeb91ec2abcdd01cd3d006c Author: Eliot Miranda Date: 2019-11-13 (Wed, 13 Nov 2019) Changed paths: M processors/ARM/exploration64/printcpu.c M processors/ARM/exploration64/printcpuctrl.c M processors/ARM/exploration64/printcpuvfp.c Log Message: ----------- Get the class name for the Alien correct for ARMv8. [ci skip] Commit: 51f00e0da0e2c9242bce4aaecd6173fa5d6665f4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/51f00e0da0e2c9242bce4aaecd6173fa5d6665f4 Author: Eliot Miranda Date: 2019-11-15 (Fri, 15 Nov 2019) Changed paths: A spurstack64src/vm/validImage.c A spurstacksrc/vm/validImage.c Log Message: ----------- Add the Spur image leak checkers before updating the makefiles to build them. I don't know why I'm doing it like this either ;-) [ci skip] Commit: f83bde2bf5c325ce26f3368bc221578a752a9631 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f83bde2bf5c325ce26f3368bc221578a752a9631 Author: Eliot Miranda Date: 2019-11-15 (Fri, 15 Nov 2019) Changed paths: M build.macos64x64/common/Makefile.vm M spurstack64src/vm/validImage.c M spurstacksrc/vm/validImage.c Log Message: ----------- Leak checker as per VMMaker.oscog-eem.2583 ImageChecker must not specify excluding unmarked objects, since objects are unmarked on load. Have its main routine respond to a -version argument. Modify the 64-bit Mac Makefile.vm to generate validImage via make productilc et al. [ci skip] Commit: a5d6874e64d6c5c4a19db04abe2cc03333fd9a48 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a5d6874e64d6c5c4a19db04abe2cc03333fd9a48 Author: Eliot Miranda Date: 2019-11-15 (Fri, 15 Nov 2019) Changed paths: M build.macos32x86/common/Makefile.vm Log Message: ----------- Add image leak checker build to the 32-bit Mac Makefile. [ci skip] Commit: 21112274a794c0f19d570a1454bde345870674e6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/21112274a794c0f19d570a1454bde345870674e6 Author: Eliot Miranda Date: 2019-11-15 (Fri, 15 Nov 2019) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVm source as per VMMaker.oscog-eem.2585 Interpreters Avoid naming a variable 'bool' in generated methods, this might become a reserved C word (can lead to problems when compiling with -std-c99 option). Cogit: Fix for generated directed super send only when BytecodeSetHasDirectedSuperSend genSendDirectedSuper:numArgs: method is generated when BytecodeSetHasDirectedSuperSend is false (Newspeak). This lead to completely broken generated code, which is fortunately unused, but raise false alarms for whoever might want to analyze the C code. Slang: Enlarge and rationalize the kinds of "quick" mthods that will be inlined when doInlining answers asSpecifiedAndQuick. Include any and all that just answer self or a constant (i.e. include those that take arguments). Include any and all that perform only a signle assignment, either answering the value or answering self. Fix inlining of literal blocks vs inlining of two element statement lists created by the inliner. Do so by introducing a subclass of TStmtListNode called TLiteralBlockNode which has one method, isLiteralBlock and is used by BlockNode>>asTranslatorNodeIn:. Use asRootTranslatorNodeIn: to create top-level method statement lists. Better comment collectInlineList:. Allow comma on strings to translate into ANSI C automatic literal string concatenation. Commit: fe1c0ddda9b95678d69ef44de95487f3f3fc6353 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fe1c0ddda9b95678d69ef44de95487f3f3fc6353 Author: Tom Beckmann Date: 2019-11-17 (Sun, 17 Nov 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- fix calculation of x11 scroll distances Commit: c8830e2dc833bcbbb8b86b3a173d3dbc7c84bdf6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c8830e2dc833bcbbb8b86b3a173d3dbc7c84bdf6 Author: Eliot Miranda Date: 2019-11-18 (Mon, 18 Nov 2019) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M processors/ARM/gdb-8.3.1/bfd/Makefile.in M processors/ARM/gdb-8.3.1/bfd/elf.c M processors/ARM/gdb-8.3.1/include/bfdlink.h M processors/ARM/gdb-8.3.1/libiberty/Makefile.in M processors/ARM/gdb-8.3.1/opcodes/Makefile.in M processors/ARM/gdb-8.3.1/sim/arm/Makefile.in M processors/ARM/gdb-8.3.1/sim/arm/armemu.c M processors/ARM/gdb-8.3.1/sim/arm/armos.c M processors/ARM/gdb-8.3.1/sim/arm/armos.h A processors/ARM/gdb-8.3.1/sim/arm/armulmem.c M processors/ARM/gdb-8.3.1/sim/arm/thumbemu.c M processors/ARM/gdb-8.3.1/sim/arm/wrapper.c M processors/ARM/gdb-8.3.1/sim/common/Make-common.in M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2586 Eliminate info duplicaton in new interpreter version name. Port the ARM32 simulatoer hacks to the gdb 8.x tree to be used to also support ARM64/ARMv8. Commit: 7b54f324f15fa3092c0f6eac74ec58d978a2da85 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7b54f324f15fa3092c0f6eac74ec58d978a2da85 Author: Eliot Miranda Date: 2019-11-18 (Mon, 18 Nov 2019) Changed paths: M build.linux32x86/gdbarm32/conf.COG M build.linux32x86/gdbarm32/makeem M build.linux64x64/gdbarm32/conf.COG M build.linux64x64/gdbarm32/makeem M build.macos32x86/gdbarm32/conf.COG M build.macos32x86/gdbarm32/makeem M build.macos64x64/gdbarm32/conf.COG M build.macos64x64/gdbarm32/makeem M platforms/iOS/plugins/GdbARMPlugin/Makefile M processors/ARM/exploration/Makefile M processors/ARM/exploration/Makefile64 M processors/ARM/exploration/printcpuctrl.c R processors/ARM/gdb-7.10/COPYING R processors/ARM/gdb-7.10/COPYING.LIB R processors/ARM/gdb-7.10/COPYING3 R processors/ARM/gdb-7.10/COPYING3.LIB R processors/ARM/gdb-7.10/ChangeLog R processors/ARM/gdb-7.10/MAINTAINERS R processors/ARM/gdb-7.10/Makefile.def R processors/ARM/gdb-7.10/Makefile.in R processors/ARM/gdb-7.10/Makefile.tpl R processors/ARM/gdb-7.10/README R processors/ARM/gdb-7.10/README-maintainer-mode R processors/ARM/gdb-7.10/bfd/.gitignore R processors/ARM/gdb-7.10/bfd/COPYING R processors/ARM/gdb-7.10/bfd/ChangeLog R processors/ARM/gdb-7.10/bfd/ChangeLog-0001 R processors/ARM/gdb-7.10/bfd/ChangeLog-0203 R processors/ARM/gdb-7.10/bfd/ChangeLog-2004 R processors/ARM/gdb-7.10/bfd/ChangeLog-2005 R processors/ARM/gdb-7.10/bfd/ChangeLog-2006 R processors/ARM/gdb-7.10/bfd/ChangeLog-2007 R processors/ARM/gdb-7.10/bfd/ChangeLog-2008 R processors/ARM/gdb-7.10/bfd/ChangeLog-2009 R processors/ARM/gdb-7.10/bfd/ChangeLog-2010 R processors/ARM/gdb-7.10/bfd/ChangeLog-2011 R processors/ARM/gdb-7.10/bfd/ChangeLog-2012 R processors/ARM/gdb-7.10/bfd/ChangeLog-2013 R processors/ARM/gdb-7.10/bfd/ChangeLog-2014 R processors/ARM/gdb-7.10/bfd/ChangeLog-9193 R processors/ARM/gdb-7.10/bfd/ChangeLog-9495 R processors/ARM/gdb-7.10/bfd/ChangeLog-9697 R processors/ARM/gdb-7.10/bfd/ChangeLog-9899 R processors/ARM/gdb-7.10/bfd/MAINTAINERS R processors/ARM/gdb-7.10/bfd/Makefile.am R processors/ARM/gdb-7.10/bfd/Makefile.in R processors/ARM/gdb-7.10/bfd/PORTING R processors/ARM/gdb-7.10/bfd/README R processors/ARM/gdb-7.10/bfd/TODO R processors/ARM/gdb-7.10/bfd/acinclude.m4 R processors/ARM/gdb-7.10/bfd/aclocal.m4 R processors/ARM/gdb-7.10/bfd/aix386-core.c R processors/ARM/gdb-7.10/bfd/aix5ppc-core.c R processors/ARM/gdb-7.10/bfd/aout-adobe.c R processors/ARM/gdb-7.10/bfd/aout-arm.c R processors/ARM/gdb-7.10/bfd/aout-cris.c R processors/ARM/gdb-7.10/bfd/aout-ns32k.c R processors/ARM/gdb-7.10/bfd/aout-sparcle.c R processors/ARM/gdb-7.10/bfd/aout-target.h R processors/ARM/gdb-7.10/bfd/aout-tic30.c R processors/ARM/gdb-7.10/bfd/aout0.c R processors/ARM/gdb-7.10/bfd/aout32.c R processors/ARM/gdb-7.10/bfd/aout64.c R processors/ARM/gdb-7.10/bfd/aoutf1.h R processors/ARM/gdb-7.10/bfd/aoutx.h R processors/ARM/gdb-7.10/bfd/archive.c R processors/ARM/gdb-7.10/bfd/archive64.c R processors/ARM/gdb-7.10/bfd/archures.c R processors/ARM/gdb-7.10/bfd/armnetbsd.c R processors/ARM/gdb-7.10/bfd/bfd-in.h R processors/ARM/gdb-7.10/bfd/bfd-in2.h R processors/ARM/gdb-7.10/bfd/bfd.c R processors/ARM/gdb-7.10/bfd/bfd.m4 R processors/ARM/gdb-7.10/bfd/bfdio.c R processors/ARM/gdb-7.10/bfd/bfdwin.c R processors/ARM/gdb-7.10/bfd/binary.c R processors/ARM/gdb-7.10/bfd/bout.c R processors/ARM/gdb-7.10/bfd/cache.c R processors/ARM/gdb-7.10/bfd/cf-i386lynx.c R processors/ARM/gdb-7.10/bfd/cf-sparclynx.c R processors/ARM/gdb-7.10/bfd/cisco-core.c R processors/ARM/gdb-7.10/bfd/coff-alpha.c R processors/ARM/gdb-7.10/bfd/coff-apollo.c R processors/ARM/gdb-7.10/bfd/coff-arm.c R processors/ARM/gdb-7.10/bfd/coff-aux.c R processors/ARM/gdb-7.10/bfd/coff-bfd.c R processors/ARM/gdb-7.10/bfd/coff-bfd.h R processors/ARM/gdb-7.10/bfd/coff-go32.c R processors/ARM/gdb-7.10/bfd/coff-h8300.c R processors/ARM/gdb-7.10/bfd/coff-h8500.c R processors/ARM/gdb-7.10/bfd/coff-i386.c R processors/ARM/gdb-7.10/bfd/coff-i860.c R processors/ARM/gdb-7.10/bfd/coff-i960.c R processors/ARM/gdb-7.10/bfd/coff-ia64.c R processors/ARM/gdb-7.10/bfd/coff-m68k.c R processors/ARM/gdb-7.10/bfd/coff-m88k.c R processors/ARM/gdb-7.10/bfd/coff-mcore.c R processors/ARM/gdb-7.10/bfd/coff-mips.c R processors/ARM/gdb-7.10/bfd/coff-ppc.c R processors/ARM/gdb-7.10/bfd/coff-rs6000.c R processors/ARM/gdb-7.10/bfd/coff-sh.c R processors/ARM/gdb-7.10/bfd/coff-sparc.c R processors/ARM/gdb-7.10/bfd/coff-stgo32.c R processors/ARM/gdb-7.10/bfd/coff-svm68k.c R processors/ARM/gdb-7.10/bfd/coff-tic30.c R processors/ARM/gdb-7.10/bfd/coff-tic4x.c R processors/ARM/gdb-7.10/bfd/coff-tic54x.c R processors/ARM/gdb-7.10/bfd/coff-tic80.c R processors/ARM/gdb-7.10/bfd/coff-u68k.c R processors/ARM/gdb-7.10/bfd/coff-w65.c R processors/ARM/gdb-7.10/bfd/coff-we32k.c R processors/ARM/gdb-7.10/bfd/coff-x86_64.c R processors/ARM/gdb-7.10/bfd/coff-z80.c R processors/ARM/gdb-7.10/bfd/coff-z8k.c R processors/ARM/gdb-7.10/bfd/coff64-rs6000.c R processors/ARM/gdb-7.10/bfd/coffcode.h R processors/ARM/gdb-7.10/bfd/coffgen.c R processors/ARM/gdb-7.10/bfd/cofflink.c R processors/ARM/gdb-7.10/bfd/coffswap.h R processors/ARM/gdb-7.10/bfd/compress.c R processors/ARM/gdb-7.10/bfd/config.bfd R processors/ARM/gdb-7.10/bfd/config.in R processors/ARM/gdb-7.10/bfd/configure R processors/ARM/gdb-7.10/bfd/configure.ac R processors/ARM/gdb-7.10/bfd/configure.com R processors/ARM/gdb-7.10/bfd/configure.host R processors/ARM/gdb-7.10/bfd/corefile.c R processors/ARM/gdb-7.10/bfd/cpu-aarch64.c R processors/ARM/gdb-7.10/bfd/cpu-alpha.c R processors/ARM/gdb-7.10/bfd/cpu-arc.c R processors/ARM/gdb-7.10/bfd/cpu-arm.c R processors/ARM/gdb-7.10/bfd/cpu-avr.c R processors/ARM/gdb-7.10/bfd/cpu-bfin.c R processors/ARM/gdb-7.10/bfd/cpu-cr16.c R processors/ARM/gdb-7.10/bfd/cpu-cr16c.c R processors/ARM/gdb-7.10/bfd/cpu-cris.c R processors/ARM/gdb-7.10/bfd/cpu-crx.c R processors/ARM/gdb-7.10/bfd/cpu-d10v.c R processors/ARM/gdb-7.10/bfd/cpu-d30v.c R processors/ARM/gdb-7.10/bfd/cpu-dlx.c R processors/ARM/gdb-7.10/bfd/cpu-epiphany.c R processors/ARM/gdb-7.10/bfd/cpu-fr30.c R processors/ARM/gdb-7.10/bfd/cpu-frv.c R processors/ARM/gdb-7.10/bfd/cpu-ft32.c R processors/ARM/gdb-7.10/bfd/cpu-h8300.c R processors/ARM/gdb-7.10/bfd/cpu-h8500.c R processors/ARM/gdb-7.10/bfd/cpu-hppa.c R processors/ARM/gdb-7.10/bfd/cpu-i370.c R processors/ARM/gdb-7.10/bfd/cpu-i386.c R processors/ARM/gdb-7.10/bfd/cpu-i860.c R processors/ARM/gdb-7.10/bfd/cpu-i960.c R processors/ARM/gdb-7.10/bfd/cpu-ia64-opc.c R processors/ARM/gdb-7.10/bfd/cpu-ia64.c R processors/ARM/gdb-7.10/bfd/cpu-iamcu.c R processors/ARM/gdb-7.10/bfd/cpu-ip2k.c R processors/ARM/gdb-7.10/bfd/cpu-iq2000.c R processors/ARM/gdb-7.10/bfd/cpu-k1om.c R processors/ARM/gdb-7.10/bfd/cpu-l1om.c R processors/ARM/gdb-7.10/bfd/cpu-lm32.c R processors/ARM/gdb-7.10/bfd/cpu-m10200.c R processors/ARM/gdb-7.10/bfd/cpu-m10300.c R processors/ARM/gdb-7.10/bfd/cpu-m32c.c R processors/ARM/gdb-7.10/bfd/cpu-m32r.c R processors/ARM/gdb-7.10/bfd/cpu-m68hc11.c R processors/ARM/gdb-7.10/bfd/cpu-m68hc12.c R processors/ARM/gdb-7.10/bfd/cpu-m68k.c R processors/ARM/gdb-7.10/bfd/cpu-m88k.c R processors/ARM/gdb-7.10/bfd/cpu-m9s12x.c R processors/ARM/gdb-7.10/bfd/cpu-m9s12xg.c R processors/ARM/gdb-7.10/bfd/cpu-mcore.c R processors/ARM/gdb-7.10/bfd/cpu-mep.c R processors/ARM/gdb-7.10/bfd/cpu-metag.c R processors/ARM/gdb-7.10/bfd/cpu-microblaze.c R processors/ARM/gdb-7.10/bfd/cpu-mips.c R processors/ARM/gdb-7.10/bfd/cpu-mmix.c R processors/ARM/gdb-7.10/bfd/cpu-moxie.c R processors/ARM/gdb-7.10/bfd/cpu-msp430.c R processors/ARM/gdb-7.10/bfd/cpu-mt.c R processors/ARM/gdb-7.10/bfd/cpu-nds32.c R processors/ARM/gdb-7.10/bfd/cpu-nios2.c R processors/ARM/gdb-7.10/bfd/cpu-ns32k.c R processors/ARM/gdb-7.10/bfd/cpu-or1k.c R processors/ARM/gdb-7.10/bfd/cpu-pdp11.c R processors/ARM/gdb-7.10/bfd/cpu-pj.c R processors/ARM/gdb-7.10/bfd/cpu-plugin.c R processors/ARM/gdb-7.10/bfd/cpu-powerpc.c R processors/ARM/gdb-7.10/bfd/cpu-rl78.c R processors/ARM/gdb-7.10/bfd/cpu-rs6000.c R processors/ARM/gdb-7.10/bfd/cpu-rx.c R processors/ARM/gdb-7.10/bfd/cpu-s390.c R processors/ARM/gdb-7.10/bfd/cpu-score.c R processors/ARM/gdb-7.10/bfd/cpu-sh.c R processors/ARM/gdb-7.10/bfd/cpu-sparc.c R processors/ARM/gdb-7.10/bfd/cpu-spu.c R processors/ARM/gdb-7.10/bfd/cpu-tic30.c R processors/ARM/gdb-7.10/bfd/cpu-tic4x.c R processors/ARM/gdb-7.10/bfd/cpu-tic54x.c R processors/ARM/gdb-7.10/bfd/cpu-tic6x.c R processors/ARM/gdb-7.10/bfd/cpu-tic80.c R processors/ARM/gdb-7.10/bfd/cpu-tilegx.c R processors/ARM/gdb-7.10/bfd/cpu-tilepro.c R processors/ARM/gdb-7.10/bfd/cpu-v850.c R processors/ARM/gdb-7.10/bfd/cpu-v850_rh850.c R processors/ARM/gdb-7.10/bfd/cpu-vax.c R processors/ARM/gdb-7.10/bfd/cpu-visium.c R processors/ARM/gdb-7.10/bfd/cpu-w65.c R processors/ARM/gdb-7.10/bfd/cpu-we32k.c R processors/ARM/gdb-7.10/bfd/cpu-xc16x.c R processors/ARM/gdb-7.10/bfd/cpu-xgate.c R processors/ARM/gdb-7.10/bfd/cpu-xstormy16.c R processors/ARM/gdb-7.10/bfd/cpu-xtensa.c R processors/ARM/gdb-7.10/bfd/cpu-z80.c R processors/ARM/gdb-7.10/bfd/cpu-z8k.c R processors/ARM/gdb-7.10/bfd/demo64.c R processors/ARM/gdb-7.10/bfd/dep-in.sed R processors/ARM/gdb-7.10/bfd/development.sh R processors/ARM/gdb-7.10/bfd/doc/ChangeLog R processors/ARM/gdb-7.10/bfd/doc/ChangeLog-9103 R processors/ARM/gdb-7.10/bfd/doc/Makefile.am R processors/ARM/gdb-7.10/bfd/doc/Makefile.in R processors/ARM/gdb-7.10/bfd/doc/aoutx.texi R processors/ARM/gdb-7.10/bfd/doc/archive.texi R processors/ARM/gdb-7.10/bfd/doc/archures.texi R processors/ARM/gdb-7.10/bfd/doc/bfd.info R processors/ARM/gdb-7.10/bfd/doc/bfd.texinfo R processors/ARM/gdb-7.10/bfd/doc/bfdint.texi R processors/ARM/gdb-7.10/bfd/doc/bfdio.texi R processors/ARM/gdb-7.10/bfd/doc/bfdsumm.texi R processors/ARM/gdb-7.10/bfd/doc/bfdt.texi R processors/ARM/gdb-7.10/bfd/doc/bfdver.texi R processors/ARM/gdb-7.10/bfd/doc/bfdwin.texi R processors/ARM/gdb-7.10/bfd/doc/cache.texi R processors/ARM/gdb-7.10/bfd/doc/chew.c R processors/ARM/gdb-7.10/bfd/doc/chw8494 R processors/ARM/gdb-7.10/bfd/doc/coffcode.texi R processors/ARM/gdb-7.10/bfd/doc/core.texi R processors/ARM/gdb-7.10/bfd/doc/doc.str R processors/ARM/gdb-7.10/bfd/doc/elf.texi R processors/ARM/gdb-7.10/bfd/doc/elfcode.texi R processors/ARM/gdb-7.10/bfd/doc/fdl.texi R processors/ARM/gdb-7.10/bfd/doc/format.texi R processors/ARM/gdb-7.10/bfd/doc/hash.texi R processors/ARM/gdb-7.10/bfd/doc/header.sed R processors/ARM/gdb-7.10/bfd/doc/init.texi R processors/ARM/gdb-7.10/bfd/doc/libbfd.texi R processors/ARM/gdb-7.10/bfd/doc/linker.texi R processors/ARM/gdb-7.10/bfd/doc/makefile.vms R processors/ARM/gdb-7.10/bfd/doc/mmo.texi R processors/ARM/gdb-7.10/bfd/doc/opncls.texi R processors/ARM/gdb-7.10/bfd/doc/proto.str R processors/ARM/gdb-7.10/bfd/doc/reloc.texi R processors/ARM/gdb-7.10/bfd/doc/section.texi R processors/ARM/gdb-7.10/bfd/doc/syms.texi R processors/ARM/gdb-7.10/bfd/doc/targets.texi R processors/ARM/gdb-7.10/bfd/dwarf1.c R processors/ARM/gdb-7.10/bfd/dwarf2.c R processors/ARM/gdb-7.10/bfd/ecoff.c R processors/ARM/gdb-7.10/bfd/ecofflink.c R processors/ARM/gdb-7.10/bfd/ecoffswap.h R processors/ARM/gdb-7.10/bfd/elf-attrs.c R processors/ARM/gdb-7.10/bfd/elf-bfd.h R processors/ARM/gdb-7.10/bfd/elf-eh-frame.c R processors/ARM/gdb-7.10/bfd/elf-hppa.h R processors/ARM/gdb-7.10/bfd/elf-ifunc.c R processors/ARM/gdb-7.10/bfd/elf-linux-psinfo.h R processors/ARM/gdb-7.10/bfd/elf-m10200.c R processors/ARM/gdb-7.10/bfd/elf-m10300.c R processors/ARM/gdb-7.10/bfd/elf-nacl.c R processors/ARM/gdb-7.10/bfd/elf-nacl.h R processors/ARM/gdb-7.10/bfd/elf-s390-common.c R processors/ARM/gdb-7.10/bfd/elf-strtab.c R processors/ARM/gdb-7.10/bfd/elf-vxworks.c R processors/ARM/gdb-7.10/bfd/elf-vxworks.h R processors/ARM/gdb-7.10/bfd/elf.c R processors/ARM/gdb-7.10/bfd/elf32-am33lin.c R processors/ARM/gdb-7.10/bfd/elf32-arc.c R processors/ARM/gdb-7.10/bfd/elf32-arm.c R processors/ARM/gdb-7.10/bfd/elf32-avr.c R processors/ARM/gdb-7.10/bfd/elf32-avr.h R processors/ARM/gdb-7.10/bfd/elf32-bfin.c R processors/ARM/gdb-7.10/bfd/elf32-cr16.c R processors/ARM/gdb-7.10/bfd/elf32-cr16c.c R processors/ARM/gdb-7.10/bfd/elf32-cris.c R processors/ARM/gdb-7.10/bfd/elf32-crx.c R processors/ARM/gdb-7.10/bfd/elf32-d10v.c R processors/ARM/gdb-7.10/bfd/elf32-d30v.c R processors/ARM/gdb-7.10/bfd/elf32-dlx.c R processors/ARM/gdb-7.10/bfd/elf32-epiphany.c R processors/ARM/gdb-7.10/bfd/elf32-fr30.c R processors/ARM/gdb-7.10/bfd/elf32-frv.c R processors/ARM/gdb-7.10/bfd/elf32-ft32.c R processors/ARM/gdb-7.10/bfd/elf32-gen.c R processors/ARM/gdb-7.10/bfd/elf32-h8300.c R processors/ARM/gdb-7.10/bfd/elf32-hppa.c R processors/ARM/gdb-7.10/bfd/elf32-hppa.h R processors/ARM/gdb-7.10/bfd/elf32-i370.c R processors/ARM/gdb-7.10/bfd/elf32-i386.c R processors/ARM/gdb-7.10/bfd/elf32-i860.c R processors/ARM/gdb-7.10/bfd/elf32-i960.c R processors/ARM/gdb-7.10/bfd/elf32-ip2k.c R processors/ARM/gdb-7.10/bfd/elf32-iq2000.c R processors/ARM/gdb-7.10/bfd/elf32-lm32.c R processors/ARM/gdb-7.10/bfd/elf32-m32c.c R processors/ARM/gdb-7.10/bfd/elf32-m32r.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc11.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc12.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc1x.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc1x.h R processors/ARM/gdb-7.10/bfd/elf32-m68k.c R processors/ARM/gdb-7.10/bfd/elf32-m88k.c R processors/ARM/gdb-7.10/bfd/elf32-mcore.c R processors/ARM/gdb-7.10/bfd/elf32-mep.c R processors/ARM/gdb-7.10/bfd/elf32-metag.c R processors/ARM/gdb-7.10/bfd/elf32-metag.h R processors/ARM/gdb-7.10/bfd/elf32-microblaze.c R processors/ARM/gdb-7.10/bfd/elf32-mips.c R processors/ARM/gdb-7.10/bfd/elf32-moxie.c R processors/ARM/gdb-7.10/bfd/elf32-msp430.c R processors/ARM/gdb-7.10/bfd/elf32-mt.c R processors/ARM/gdb-7.10/bfd/elf32-nds32.c R processors/ARM/gdb-7.10/bfd/elf32-nds32.h R processors/ARM/gdb-7.10/bfd/elf32-nios2.c R processors/ARM/gdb-7.10/bfd/elf32-nios2.h R processors/ARM/gdb-7.10/bfd/elf32-or1k.c R processors/ARM/gdb-7.10/bfd/elf32-pj.c R processors/ARM/gdb-7.10/bfd/elf32-ppc.c R processors/ARM/gdb-7.10/bfd/elf32-ppc.h R processors/ARM/gdb-7.10/bfd/elf32-rl78.c R processors/ARM/gdb-7.10/bfd/elf32-rx.c R processors/ARM/gdb-7.10/bfd/elf32-rx.h R processors/ARM/gdb-7.10/bfd/elf32-s390.c R processors/ARM/gdb-7.10/bfd/elf32-score.c R processors/ARM/gdb-7.10/bfd/elf32-score.h R processors/ARM/gdb-7.10/bfd/elf32-score7.c R processors/ARM/gdb-7.10/bfd/elf32-sh-relocs.h R processors/ARM/gdb-7.10/bfd/elf32-sh-symbian.c R processors/ARM/gdb-7.10/bfd/elf32-sh.c R processors/ARM/gdb-7.10/bfd/elf32-sh64-com.c R processors/ARM/gdb-7.10/bfd/elf32-sh64.c R processors/ARM/gdb-7.10/bfd/elf32-sh64.h R processors/ARM/gdb-7.10/bfd/elf32-sparc.c R processors/ARM/gdb-7.10/bfd/elf32-spu.c R processors/ARM/gdb-7.10/bfd/elf32-spu.h R processors/ARM/gdb-7.10/bfd/elf32-tic6x.c R processors/ARM/gdb-7.10/bfd/elf32-tic6x.h R processors/ARM/gdb-7.10/bfd/elf32-tilegx.c R processors/ARM/gdb-7.10/bfd/elf32-tilegx.h R processors/ARM/gdb-7.10/bfd/elf32-tilepro.c R processors/ARM/gdb-7.10/bfd/elf32-tilepro.h R processors/ARM/gdb-7.10/bfd/elf32-v850.c R processors/ARM/gdb-7.10/bfd/elf32-vax.c R processors/ARM/gdb-7.10/bfd/elf32-visium.c R processors/ARM/gdb-7.10/bfd/elf32-xc16x.c R processors/ARM/gdb-7.10/bfd/elf32-xgate.c R processors/ARM/gdb-7.10/bfd/elf32-xgate.h R processors/ARM/gdb-7.10/bfd/elf32-xstormy16.c R processors/ARM/gdb-7.10/bfd/elf32-xtensa.c R processors/ARM/gdb-7.10/bfd/elf32.c R processors/ARM/gdb-7.10/bfd/elf64-alpha.c R processors/ARM/gdb-7.10/bfd/elf64-gen.c R processors/ARM/gdb-7.10/bfd/elf64-hppa.c R processors/ARM/gdb-7.10/bfd/elf64-hppa.h R processors/ARM/gdb-7.10/bfd/elf64-ia64-vms.c R processors/ARM/gdb-7.10/bfd/elf64-mips.c R processors/ARM/gdb-7.10/bfd/elf64-mmix.c R processors/ARM/gdb-7.10/bfd/elf64-ppc.c R processors/ARM/gdb-7.10/bfd/elf64-ppc.h R processors/ARM/gdb-7.10/bfd/elf64-s390.c R processors/ARM/gdb-7.10/bfd/elf64-sh64.c R processors/ARM/gdb-7.10/bfd/elf64-sparc.c R processors/ARM/gdb-7.10/bfd/elf64-tilegx.c R processors/ARM/gdb-7.10/bfd/elf64-tilegx.h R processors/ARM/gdb-7.10/bfd/elf64-x86-64.c R processors/ARM/gdb-7.10/bfd/elf64.c R processors/ARM/gdb-7.10/bfd/elfcode.h R processors/ARM/gdb-7.10/bfd/elfcore.h R processors/ARM/gdb-7.10/bfd/elflink.c R processors/ARM/gdb-7.10/bfd/elfn32-mips.c R processors/ARM/gdb-7.10/bfd/elfnn-aarch64.c R processors/ARM/gdb-7.10/bfd/elfnn-ia64.c R processors/ARM/gdb-7.10/bfd/elfxx-aarch64.c R processors/ARM/gdb-7.10/bfd/elfxx-aarch64.h R processors/ARM/gdb-7.10/bfd/elfxx-ia64.c R processors/ARM/gdb-7.10/bfd/elfxx-ia64.h R processors/ARM/gdb-7.10/bfd/elfxx-mips.c R processors/ARM/gdb-7.10/bfd/elfxx-mips.h R processors/ARM/gdb-7.10/bfd/elfxx-sparc.c R processors/ARM/gdb-7.10/bfd/elfxx-sparc.h R processors/ARM/gdb-7.10/bfd/elfxx-target.h R processors/ARM/gdb-7.10/bfd/elfxx-tilegx.c R processors/ARM/gdb-7.10/bfd/elfxx-tilegx.h R processors/ARM/gdb-7.10/bfd/epoc-pe-arm.c R processors/ARM/gdb-7.10/bfd/epoc-pei-arm.c R processors/ARM/gdb-7.10/bfd/format.c R processors/ARM/gdb-7.10/bfd/freebsd.h R processors/ARM/gdb-7.10/bfd/gen-aout.c R processors/ARM/gdb-7.10/bfd/genlink.h R processors/ARM/gdb-7.10/bfd/go32stub.h R processors/ARM/gdb-7.10/bfd/hash.c R processors/ARM/gdb-7.10/bfd/host-aout.c R processors/ARM/gdb-7.10/bfd/hosts/alphalinux.h R processors/ARM/gdb-7.10/bfd/hosts/alphavms.h R processors/ARM/gdb-7.10/bfd/hosts/decstation.h R processors/ARM/gdb-7.10/bfd/hosts/delta68.h R processors/ARM/gdb-7.10/bfd/hosts/dpx2.h R processors/ARM/gdb-7.10/bfd/hosts/hp300bsd.h R processors/ARM/gdb-7.10/bfd/hosts/i386bsd.h R processors/ARM/gdb-7.10/bfd/hosts/i386linux.h R processors/ARM/gdb-7.10/bfd/hosts/i386mach3.h R processors/ARM/gdb-7.10/bfd/hosts/i386sco.h R processors/ARM/gdb-7.10/bfd/hosts/i860mach3.h R processors/ARM/gdb-7.10/bfd/hosts/m68kaux.h R processors/ARM/gdb-7.10/bfd/hosts/m68klinux.h R processors/ARM/gdb-7.10/bfd/hosts/m88kmach3.h R processors/ARM/gdb-7.10/bfd/hosts/mipsbsd.h R processors/ARM/gdb-7.10/bfd/hosts/mipsmach3.h R processors/ARM/gdb-7.10/bfd/hosts/news-mips.h R processors/ARM/gdb-7.10/bfd/hosts/news.h R processors/ARM/gdb-7.10/bfd/hosts/pc532mach.h R processors/ARM/gdb-7.10/bfd/hosts/riscos.h R processors/ARM/gdb-7.10/bfd/hosts/symmetry.h R processors/ARM/gdb-7.10/bfd/hosts/tahoe.h R processors/ARM/gdb-7.10/bfd/hosts/vaxbsd.h R processors/ARM/gdb-7.10/bfd/hosts/vaxlinux.h R processors/ARM/gdb-7.10/bfd/hosts/vaxult.h R processors/ARM/gdb-7.10/bfd/hosts/vaxult2.h R processors/ARM/gdb-7.10/bfd/hosts/x86-64linux.h R processors/ARM/gdb-7.10/bfd/hp300bsd.c R processors/ARM/gdb-7.10/bfd/hp300hpux.c R processors/ARM/gdb-7.10/bfd/hppabsd-core.c R processors/ARM/gdb-7.10/bfd/hpux-core.c R processors/ARM/gdb-7.10/bfd/i386aout.c R processors/ARM/gdb-7.10/bfd/i386bsd.c R processors/ARM/gdb-7.10/bfd/i386dynix.c R processors/ARM/gdb-7.10/bfd/i386freebsd.c R processors/ARM/gdb-7.10/bfd/i386linux.c R processors/ARM/gdb-7.10/bfd/i386lynx.c R processors/ARM/gdb-7.10/bfd/i386mach3.c R processors/ARM/gdb-7.10/bfd/i386msdos.c R processors/ARM/gdb-7.10/bfd/i386netbsd.c R processors/ARM/gdb-7.10/bfd/i386os9k.c R processors/ARM/gdb-7.10/bfd/ieee.c R processors/ARM/gdb-7.10/bfd/ihex.c R processors/ARM/gdb-7.10/bfd/init.c R processors/ARM/gdb-7.10/bfd/irix-core.c R processors/ARM/gdb-7.10/bfd/libaout.h R processors/ARM/gdb-7.10/bfd/libbfd-in.h R processors/ARM/gdb-7.10/bfd/libbfd.c R processors/ARM/gdb-7.10/bfd/libbfd.h R processors/ARM/gdb-7.10/bfd/libcoff-in.h R processors/ARM/gdb-7.10/bfd/libcoff.h R processors/ARM/gdb-7.10/bfd/libecoff.h R processors/ARM/gdb-7.10/bfd/libhppa.h R processors/ARM/gdb-7.10/bfd/libieee.h R processors/ARM/gdb-7.10/bfd/libnlm.h R processors/ARM/gdb-7.10/bfd/liboasys.h R processors/ARM/gdb-7.10/bfd/libpei.h R processors/ARM/gdb-7.10/bfd/libxcoff.h R processors/ARM/gdb-7.10/bfd/linker.c R processors/ARM/gdb-7.10/bfd/lynx-core.c R processors/ARM/gdb-7.10/bfd/m68k4knetbsd.c R processors/ARM/gdb-7.10/bfd/m68klinux.c R processors/ARM/gdb-7.10/bfd/m68knetbsd.c R processors/ARM/gdb-7.10/bfd/m88kmach3.c R processors/ARM/gdb-7.10/bfd/m88kopenbsd.c R processors/ARM/gdb-7.10/bfd/mach-o-i386.c R processors/ARM/gdb-7.10/bfd/mach-o-target.c R processors/ARM/gdb-7.10/bfd/mach-o-x86-64.c R processors/ARM/gdb-7.10/bfd/mach-o.c R processors/ARM/gdb-7.10/bfd/mach-o.h R processors/ARM/gdb-7.10/bfd/makefile.vms R processors/ARM/gdb-7.10/bfd/mep-relocs.pl R processors/ARM/gdb-7.10/bfd/merge.c R processors/ARM/gdb-7.10/bfd/mipsbsd.c R processors/ARM/gdb-7.10/bfd/mmo.c R processors/ARM/gdb-7.10/bfd/netbsd-core.c R processors/ARM/gdb-7.10/bfd/netbsd.h R processors/ARM/gdb-7.10/bfd/newsos3.c R processors/ARM/gdb-7.10/bfd/nlm-target.h R processors/ARM/gdb-7.10/bfd/nlm.c R processors/ARM/gdb-7.10/bfd/nlm32-alpha.c R processors/ARM/gdb-7.10/bfd/nlm32-i386.c R processors/ARM/gdb-7.10/bfd/nlm32-ppc.c R processors/ARM/gdb-7.10/bfd/nlm32-sparc.c R processors/ARM/gdb-7.10/bfd/nlm32.c R processors/ARM/gdb-7.10/bfd/nlm64.c R processors/ARM/gdb-7.10/bfd/nlmcode.h R processors/ARM/gdb-7.10/bfd/nlmswap.h R processors/ARM/gdb-7.10/bfd/ns32k.h R processors/ARM/gdb-7.10/bfd/ns32knetbsd.c R processors/ARM/gdb-7.10/bfd/oasys.c R processors/ARM/gdb-7.10/bfd/opncls.c R processors/ARM/gdb-7.10/bfd/osf-core.c R processors/ARM/gdb-7.10/bfd/pc532-mach.c R processors/ARM/gdb-7.10/bfd/pdp11.c R processors/ARM/gdb-7.10/bfd/pe-arm-wince.c R processors/ARM/gdb-7.10/bfd/pe-arm.c R processors/ARM/gdb-7.10/bfd/pe-i386.c R processors/ARM/gdb-7.10/bfd/pe-mcore.c R processors/ARM/gdb-7.10/bfd/pe-mips.c R processors/ARM/gdb-7.10/bfd/pe-ppc.c R processors/ARM/gdb-7.10/bfd/pe-sh.c R processors/ARM/gdb-7.10/bfd/pe-x86_64.c R processors/ARM/gdb-7.10/bfd/peXXigen.c R processors/ARM/gdb-7.10/bfd/pef-traceback.h R processors/ARM/gdb-7.10/bfd/pef.c R processors/ARM/gdb-7.10/bfd/pef.h R processors/ARM/gdb-7.10/bfd/pei-arm-wince.c R processors/ARM/gdb-7.10/bfd/pei-arm.c R processors/ARM/gdb-7.10/bfd/pei-i386.c R processors/ARM/gdb-7.10/bfd/pei-ia64.c R processors/ARM/gdb-7.10/bfd/pei-mcore.c R processors/ARM/gdb-7.10/bfd/pei-mips.c R processors/ARM/gdb-7.10/bfd/pei-ppc.c R processors/ARM/gdb-7.10/bfd/pei-sh.c R processors/ARM/gdb-7.10/bfd/pei-x86_64.c R processors/ARM/gdb-7.10/bfd/peicode.h R processors/ARM/gdb-7.10/bfd/plugin.c R processors/ARM/gdb-7.10/bfd/plugin.h R processors/ARM/gdb-7.10/bfd/po/BLD-POTFILES.in R processors/ARM/gdb-7.10/bfd/po/Make-in R processors/ARM/gdb-7.10/bfd/po/SRC-POTFILES.in R processors/ARM/gdb-7.10/bfd/po/bfd.pot R processors/ARM/gdb-7.10/bfd/po/da.gmo R processors/ARM/gdb-7.10/bfd/po/da.po R processors/ARM/gdb-7.10/bfd/po/es.gmo R processors/ARM/gdb-7.10/bfd/po/es.po R processors/ARM/gdb-7.10/bfd/po/fi.gmo R processors/ARM/gdb-7.10/bfd/po/fi.po R processors/ARM/gdb-7.10/bfd/po/fr.gmo R processors/ARM/gdb-7.10/bfd/po/fr.po R processors/ARM/gdb-7.10/bfd/po/id.gmo R processors/ARM/gdb-7.10/bfd/po/id.po R processors/ARM/gdb-7.10/bfd/po/ja.gmo R processors/ARM/gdb-7.10/bfd/po/ja.po R processors/ARM/gdb-7.10/bfd/po/ro.gmo R processors/ARM/gdb-7.10/bfd/po/ro.po R processors/ARM/gdb-7.10/bfd/po/ru.gmo R processors/ARM/gdb-7.10/bfd/po/ru.po R processors/ARM/gdb-7.10/bfd/po/rw.gmo R processors/ARM/gdb-7.10/bfd/po/rw.po R processors/ARM/gdb-7.10/bfd/po/sv.gmo R processors/ARM/gdb-7.10/bfd/po/sv.po R processors/ARM/gdb-7.10/bfd/po/tr.gmo R processors/ARM/gdb-7.10/bfd/po/tr.po R processors/ARM/gdb-7.10/bfd/po/uk.gmo R processors/ARM/gdb-7.10/bfd/po/uk.po R processors/ARM/gdb-7.10/bfd/po/vi.gmo R processors/ARM/gdb-7.10/bfd/po/vi.po R processors/ARM/gdb-7.10/bfd/po/zh_CN.gmo R processors/ARM/gdb-7.10/bfd/po/zh_CN.po R processors/ARM/gdb-7.10/bfd/ppcboot.c R processors/ARM/gdb-7.10/bfd/ptrace-core.c R processors/ARM/gdb-7.10/bfd/reloc.c R processors/ARM/gdb-7.10/bfd/reloc16.c R processors/ARM/gdb-7.10/bfd/riscix.c R processors/ARM/gdb-7.10/bfd/rs6000-core.c R processors/ARM/gdb-7.10/bfd/sco5-core.c R processors/ARM/gdb-7.10/bfd/section.c R processors/ARM/gdb-7.10/bfd/simple.c R processors/ARM/gdb-7.10/bfd/som.c R processors/ARM/gdb-7.10/bfd/som.h R processors/ARM/gdb-7.10/bfd/sparclinux.c R processors/ARM/gdb-7.10/bfd/sparclynx.c R processors/ARM/gdb-7.10/bfd/sparcnetbsd.c R processors/ARM/gdb-7.10/bfd/srec.c R processors/ARM/gdb-7.10/bfd/stab-syms.c R processors/ARM/gdb-7.10/bfd/stabs.c R processors/ARM/gdb-7.10/bfd/stamp-h.in R processors/ARM/gdb-7.10/bfd/sunos.c R processors/ARM/gdb-7.10/bfd/syms.c R processors/ARM/gdb-7.10/bfd/sysdep.h R processors/ARM/gdb-7.10/bfd/targets.c R processors/ARM/gdb-7.10/bfd/targmatch.sed R processors/ARM/gdb-7.10/bfd/tekhex.c R processors/ARM/gdb-7.10/bfd/trad-core.c R processors/ARM/gdb-7.10/bfd/vax1knetbsd.c R processors/ARM/gdb-7.10/bfd/vaxbsd.c R processors/ARM/gdb-7.10/bfd/vaxnetbsd.c R processors/ARM/gdb-7.10/bfd/verilog.c R processors/ARM/gdb-7.10/bfd/versados.c R processors/ARM/gdb-7.10/bfd/version.h R processors/ARM/gdb-7.10/bfd/version.m4 R processors/ARM/gdb-7.10/bfd/vms-alpha.c R processors/ARM/gdb-7.10/bfd/vms-lib.c R processors/ARM/gdb-7.10/bfd/vms-misc.c R processors/ARM/gdb-7.10/bfd/vms.h R processors/ARM/gdb-7.10/bfd/warning.m4 R processors/ARM/gdb-7.10/bfd/xcofflink.c R processors/ARM/gdb-7.10/bfd/xsym.c R processors/ARM/gdb-7.10/bfd/xsym.h R processors/ARM/gdb-7.10/bfd/xtensa-isa.c R processors/ARM/gdb-7.10/bfd/xtensa-modules.c R processors/ARM/gdb-7.10/compile R processors/ARM/gdb-7.10/config-ml.in R processors/ARM/gdb-7.10/config.guess R processors/ARM/gdb-7.10/config.rpath R processors/ARM/gdb-7.10/config.sub R processors/ARM/gdb-7.10/config/ChangeLog R processors/ARM/gdb-7.10/config/acinclude.m4 R processors/ARM/gdb-7.10/config/acx.m4 R processors/ARM/gdb-7.10/config/asmcfi.m4 R processors/ARM/gdb-7.10/config/bootstrap-O1.mk R processors/ARM/gdb-7.10/config/bootstrap-O3.mk R processors/ARM/gdb-7.10/config/bootstrap-asan.mk R processors/ARM/gdb-7.10/config/bootstrap-debug-big.mk R processors/ARM/gdb-7.10/config/bootstrap-debug-ckovw.mk R processors/ARM/gdb-7.10/config/bootstrap-debug-lean.mk R processors/ARM/gdb-7.10/config/bootstrap-debug-lib.mk R processors/ARM/gdb-7.10/config/bootstrap-debug.mk R processors/ARM/gdb-7.10/config/bootstrap-lto.mk R processors/ARM/gdb-7.10/config/bootstrap-time.mk R processors/ARM/gdb-7.10/config/bootstrap-ubsan.mk R processors/ARM/gdb-7.10/config/codeset.m4 R processors/ARM/gdb-7.10/config/depstand.m4 R processors/ARM/gdb-7.10/config/dfp.m4 R processors/ARM/gdb-7.10/config/elf.m4 R processors/ARM/gdb-7.10/config/enable.m4 R processors/ARM/gdb-7.10/config/extensions.m4 R processors/ARM/gdb-7.10/config/futex.m4 R processors/ARM/gdb-7.10/config/gc++filt.m4 R processors/ARM/gdb-7.10/config/gettext-sister.m4 R processors/ARM/gdb-7.10/config/gettext.m4 R processors/ARM/gdb-7.10/config/glibc21.m4 R processors/ARM/gdb-7.10/config/gthr.m4 R processors/ARM/gdb-7.10/config/gxx-include-dir.m4 R processors/ARM/gdb-7.10/config/iconv.m4 R processors/ARM/gdb-7.10/config/intdiv0.m4 R processors/ARM/gdb-7.10/config/inttypes-pri.m4 R processors/ARM/gdb-7.10/config/inttypes.m4 R processors/ARM/gdb-7.10/config/inttypes_h.m4 R processors/ARM/gdb-7.10/config/isl.m4 R processors/ARM/gdb-7.10/config/largefile.m4 R processors/ARM/gdb-7.10/config/lcmessage.m4 R processors/ARM/gdb-7.10/config/ld-symbolic.m4 R processors/ARM/gdb-7.10/config/lead-dot.m4 R processors/ARM/gdb-7.10/config/lib-ld.m4 R processors/ARM/gdb-7.10/config/lib-link.m4 R processors/ARM/gdb-7.10/config/lib-prefix.m4 R processors/ARM/gdb-7.10/config/libstdc++-raw-cxx.m4 R processors/ARM/gdb-7.10/config/lthostflags.m4 R processors/ARM/gdb-7.10/config/math.m4 R processors/ARM/gdb-7.10/config/mh-cygwin R processors/ARM/gdb-7.10/config/mh-darwin R processors/ARM/gdb-7.10/config/mh-djgpp R processors/ARM/gdb-7.10/config/mh-mingw R processors/ARM/gdb-7.10/config/mh-pa R processors/ARM/gdb-7.10/config/mh-pa-hpux10 R processors/ARM/gdb-7.10/config/mh-ppc-aix R processors/ARM/gdb-7.10/config/mmap.m4 R processors/ARM/gdb-7.10/config/mt-alphaieee R processors/ARM/gdb-7.10/config/mt-d30v R processors/ARM/gdb-7.10/config/mt-gnu R processors/ARM/gdb-7.10/config/mt-mips-elfoabi R processors/ARM/gdb-7.10/config/mt-mips-gnu R processors/ARM/gdb-7.10/config/mt-mips16-compat R processors/ARM/gdb-7.10/config/mt-nios2-elf R processors/ARM/gdb-7.10/config/mt-ospace R processors/ARM/gdb-7.10/config/mt-sde R processors/ARM/gdb-7.10/config/mt-spu R processors/ARM/gdb-7.10/config/multi.m4 R processors/ARM/gdb-7.10/config/nls.m4 R processors/ARM/gdb-7.10/config/no-executables.m4 R processors/ARM/gdb-7.10/config/override.m4 R processors/ARM/gdb-7.10/config/picflag.m4 R processors/ARM/gdb-7.10/config/plugins.m4 R processors/ARM/gdb-7.10/config/po.m4 R processors/ARM/gdb-7.10/config/proginstall.m4 R processors/ARM/gdb-7.10/config/progtest.m4 R processors/ARM/gdb-7.10/config/stdint.m4 R processors/ARM/gdb-7.10/config/stdint_h.m4 R processors/ARM/gdb-7.10/config/tcl.m4 R processors/ARM/gdb-7.10/config/tls.m4 R processors/ARM/gdb-7.10/config/uintmax_t.m4 R processors/ARM/gdb-7.10/config/ulonglong.m4 R processors/ARM/gdb-7.10/config/unwind_ipinfo.m4 R processors/ARM/gdb-7.10/config/warnings.m4 R processors/ARM/gdb-7.10/config/weakref.m4 R processors/ARM/gdb-7.10/config/zlib.m4 R processors/ARM/gdb-7.10/configure R processors/ARM/gdb-7.10/configure.ac R processors/ARM/gdb-7.10/depcomp R processors/ARM/gdb-7.10/include/COPYING R processors/ARM/gdb-7.10/include/COPYING3 R processors/ARM/gdb-7.10/include/ChangeLog R processors/ARM/gdb-7.10/include/ChangeLog-9103 R processors/ARM/gdb-7.10/include/MAINTAINERS R processors/ARM/gdb-7.10/include/alloca-conf.h R processors/ARM/gdb-7.10/include/ansidecl.h R processors/ARM/gdb-7.10/include/aout/ChangeLog R processors/ARM/gdb-7.10/include/aout/adobe.h R processors/ARM/gdb-7.10/include/aout/aout64.h R processors/ARM/gdb-7.10/include/aout/ar.h R processors/ARM/gdb-7.10/include/aout/dynix3.h R processors/ARM/gdb-7.10/include/aout/encap.h R processors/ARM/gdb-7.10/include/aout/host.h R processors/ARM/gdb-7.10/include/aout/hp.h R processors/ARM/gdb-7.10/include/aout/hp300hpux.h R processors/ARM/gdb-7.10/include/aout/hppa.h R processors/ARM/gdb-7.10/include/aout/ranlib.h R processors/ARM/gdb-7.10/include/aout/reloc.h R processors/ARM/gdb-7.10/include/aout/stab.def R processors/ARM/gdb-7.10/include/aout/stab_gnu.h R processors/ARM/gdb-7.10/include/aout/sun4.h R processors/ARM/gdb-7.10/include/bfdlink.h R processors/ARM/gdb-7.10/include/binary-io.h R processors/ARM/gdb-7.10/include/bout.h R processors/ARM/gdb-7.10/include/cgen/ChangeLog R processors/ARM/gdb-7.10/include/cgen/basic-modes.h R processors/ARM/gdb-7.10/include/cgen/basic-ops.h R processors/ARM/gdb-7.10/include/cgen/bitset.h R processors/ARM/gdb-7.10/include/coff/ChangeLog R processors/ARM/gdb-7.10/include/coff/ChangeLog-9103 R processors/ARM/gdb-7.10/include/coff/alpha.h R processors/ARM/gdb-7.10/include/coff/apollo.h R processors/ARM/gdb-7.10/include/coff/arm.h R processors/ARM/gdb-7.10/include/coff/aux-coff.h R processors/ARM/gdb-7.10/include/coff/ecoff.h R processors/ARM/gdb-7.10/include/coff/external.h R processors/ARM/gdb-7.10/include/coff/go32exe.h R processors/ARM/gdb-7.10/include/coff/h8300.h R processors/ARM/gdb-7.10/include/coff/h8500.h R processors/ARM/gdb-7.10/include/coff/i386.h R processors/ARM/gdb-7.10/include/coff/i860.h R processors/ARM/gdb-7.10/include/coff/i960.h R processors/ARM/gdb-7.10/include/coff/ia64.h R processors/ARM/gdb-7.10/include/coff/internal.h R processors/ARM/gdb-7.10/include/coff/m68k.h R processors/ARM/gdb-7.10/include/coff/m88k.h R processors/ARM/gdb-7.10/include/coff/mcore.h R processors/ARM/gdb-7.10/include/coff/mips.h R processors/ARM/gdb-7.10/include/coff/mipspe.h R processors/ARM/gdb-7.10/include/coff/pe.h R processors/ARM/gdb-7.10/include/coff/powerpc.h R processors/ARM/gdb-7.10/include/coff/rs6000.h R processors/ARM/gdb-7.10/include/coff/rs6k64.h R processors/ARM/gdb-7.10/include/coff/sh.h R processors/ARM/gdb-7.10/include/coff/sparc.h R processors/ARM/gdb-7.10/include/coff/sym.h R processors/ARM/gdb-7.10/include/coff/symconst.h R processors/ARM/gdb-7.10/include/coff/ti.h R processors/ARM/gdb-7.10/include/coff/tic30.h R processors/ARM/gdb-7.10/include/coff/tic4x.h R processors/ARM/gdb-7.10/include/coff/tic54x.h R processors/ARM/gdb-7.10/include/coff/tic80.h R processors/ARM/gdb-7.10/include/coff/w65.h R processors/ARM/gdb-7.10/include/coff/we32k.h R processors/ARM/gdb-7.10/include/coff/x86_64.h R processors/ARM/gdb-7.10/include/coff/xcoff.h R processors/ARM/gdb-7.10/include/coff/z80.h R processors/ARM/gdb-7.10/include/coff/z8k.h R processors/ARM/gdb-7.10/include/demangle.h R processors/ARM/gdb-7.10/include/dis-asm.h R processors/ARM/gdb-7.10/include/dwarf2.def R processors/ARM/gdb-7.10/include/dwarf2.h R processors/ARM/gdb-7.10/include/dyn-string.h R processors/ARM/gdb-7.10/include/elf/ChangeLog R processors/ARM/gdb-7.10/include/elf/ChangeLog-9103 R processors/ARM/gdb-7.10/include/elf/aarch64.h R processors/ARM/gdb-7.10/include/elf/alpha.h R processors/ARM/gdb-7.10/include/elf/arc.h R processors/ARM/gdb-7.10/include/elf/arm.h R processors/ARM/gdb-7.10/include/elf/avr.h R processors/ARM/gdb-7.10/include/elf/bfin.h R processors/ARM/gdb-7.10/include/elf/common.h R processors/ARM/gdb-7.10/include/elf/cr16.h R processors/ARM/gdb-7.10/include/elf/cr16c.h R processors/ARM/gdb-7.10/include/elf/cris.h R processors/ARM/gdb-7.10/include/elf/crx.h R processors/ARM/gdb-7.10/include/elf/d10v.h R processors/ARM/gdb-7.10/include/elf/d30v.h R processors/ARM/gdb-7.10/include/elf/dlx.h R processors/ARM/gdb-7.10/include/elf/dwarf.h R processors/ARM/gdb-7.10/include/elf/epiphany.h R processors/ARM/gdb-7.10/include/elf/external.h R processors/ARM/gdb-7.10/include/elf/fr30.h R processors/ARM/gdb-7.10/include/elf/frv.h R processors/ARM/gdb-7.10/include/elf/ft32.h R processors/ARM/gdb-7.10/include/elf/h8.h R processors/ARM/gdb-7.10/include/elf/hppa.h R processors/ARM/gdb-7.10/include/elf/i370.h R processors/ARM/gdb-7.10/include/elf/i386.h R processors/ARM/gdb-7.10/include/elf/i860.h R processors/ARM/gdb-7.10/include/elf/i960.h R processors/ARM/gdb-7.10/include/elf/ia64.h R processors/ARM/gdb-7.10/include/elf/internal.h R processors/ARM/gdb-7.10/include/elf/ip2k.h R processors/ARM/gdb-7.10/include/elf/iq2000.h R processors/ARM/gdb-7.10/include/elf/lm32.h R processors/ARM/gdb-7.10/include/elf/m32c.h R processors/ARM/gdb-7.10/include/elf/m32r.h R processors/ARM/gdb-7.10/include/elf/m68hc11.h R processors/ARM/gdb-7.10/include/elf/m68k.h R processors/ARM/gdb-7.10/include/elf/mcore.h R processors/ARM/gdb-7.10/include/elf/mep.h R processors/ARM/gdb-7.10/include/elf/metag.h R processors/ARM/gdb-7.10/include/elf/microblaze.h R processors/ARM/gdb-7.10/include/elf/mips.h R processors/ARM/gdb-7.10/include/elf/mmix.h R processors/ARM/gdb-7.10/include/elf/mn10200.h R processors/ARM/gdb-7.10/include/elf/mn10300.h R processors/ARM/gdb-7.10/include/elf/moxie.h R processors/ARM/gdb-7.10/include/elf/msp430.h R processors/ARM/gdb-7.10/include/elf/mt.h R processors/ARM/gdb-7.10/include/elf/nds32.h R processors/ARM/gdb-7.10/include/elf/nios2.h R processors/ARM/gdb-7.10/include/elf/or1k.h R processors/ARM/gdb-7.10/include/elf/pj.h R processors/ARM/gdb-7.10/include/elf/ppc.h R processors/ARM/gdb-7.10/include/elf/ppc64.h R processors/ARM/gdb-7.10/include/elf/reloc-macros.h R processors/ARM/gdb-7.10/include/elf/rl78.h R processors/ARM/gdb-7.10/include/elf/rx.h R processors/ARM/gdb-7.10/include/elf/s390.h R processors/ARM/gdb-7.10/include/elf/score.h R processors/ARM/gdb-7.10/include/elf/sh.h R processors/ARM/gdb-7.10/include/elf/sparc.h R processors/ARM/gdb-7.10/include/elf/spu.h R processors/ARM/gdb-7.10/include/elf/tic6x-attrs.h R processors/ARM/gdb-7.10/include/elf/tic6x.h R processors/ARM/gdb-7.10/include/elf/tilegx.h R processors/ARM/gdb-7.10/include/elf/tilepro.h R processors/ARM/gdb-7.10/include/elf/v850.h R processors/ARM/gdb-7.10/include/elf/vax.h R processors/ARM/gdb-7.10/include/elf/visium.h R processors/ARM/gdb-7.10/include/elf/vxworks.h R processors/ARM/gdb-7.10/include/elf/x86-64.h R processors/ARM/gdb-7.10/include/elf/xc16x.h R processors/ARM/gdb-7.10/include/elf/xgate.h R processors/ARM/gdb-7.10/include/elf/xstormy16.h R processors/ARM/gdb-7.10/include/elf/xtensa.h R processors/ARM/gdb-7.10/include/fibheap.h R processors/ARM/gdb-7.10/include/filenames.h R processors/ARM/gdb-7.10/include/floatformat.h R processors/ARM/gdb-7.10/include/fnmatch.h R processors/ARM/gdb-7.10/include/fopen-bin.h R processors/ARM/gdb-7.10/include/fopen-same.h R processors/ARM/gdb-7.10/include/fopen-vms.h R processors/ARM/gdb-7.10/include/gcc-c-fe.def R processors/ARM/gdb-7.10/include/gcc-c-interface.h R processors/ARM/gdb-7.10/include/gcc-interface.h R processors/ARM/gdb-7.10/include/gdb/ChangeLog R processors/ARM/gdb-7.10/include/gdb/callback.h R processors/ARM/gdb-7.10/include/gdb/fileio.h R processors/ARM/gdb-7.10/include/gdb/gdb-index.h R processors/ARM/gdb-7.10/include/gdb/remote-sim.h R processors/ARM/gdb-7.10/include/gdb/section-scripts.h R processors/ARM/gdb-7.10/include/gdb/signals.def R processors/ARM/gdb-7.10/include/gdb/signals.h R processors/ARM/gdb-7.10/include/gdb/sim-arm.h R processors/ARM/gdb-7.10/include/gdb/sim-bfin.h R processors/ARM/gdb-7.10/include/gdb/sim-cr16.h R processors/ARM/gdb-7.10/include/gdb/sim-d10v.h R processors/ARM/gdb-7.10/include/gdb/sim-frv.h R processors/ARM/gdb-7.10/include/gdb/sim-ft32.h R processors/ARM/gdb-7.10/include/gdb/sim-h8300.h R processors/ARM/gdb-7.10/include/gdb/sim-lm32.h R processors/ARM/gdb-7.10/include/gdb/sim-m32c.h R processors/ARM/gdb-7.10/include/gdb/sim-ppc.h R processors/ARM/gdb-7.10/include/gdb/sim-rl78.h R processors/ARM/gdb-7.10/include/gdb/sim-rx.h R processors/ARM/gdb-7.10/include/gdb/sim-sh.h R processors/ARM/gdb-7.10/include/getopt.h R processors/ARM/gdb-7.10/include/hashtab.h R processors/ARM/gdb-7.10/include/hp-symtab.h R processors/ARM/gdb-7.10/include/ieee.h R processors/ARM/gdb-7.10/include/leb128.h R processors/ARM/gdb-7.10/include/libiberty.h R processors/ARM/gdb-7.10/include/longlong.h R processors/ARM/gdb-7.10/include/lto-symtab.h R processors/ARM/gdb-7.10/include/mach-o/ChangeLog R processors/ARM/gdb-7.10/include/mach-o/arm.h R processors/ARM/gdb-7.10/include/mach-o/codesign.h R processors/ARM/gdb-7.10/include/mach-o/external.h R processors/ARM/gdb-7.10/include/mach-o/loader.h R processors/ARM/gdb-7.10/include/mach-o/reloc.h R processors/ARM/gdb-7.10/include/mach-o/unwind.h R processors/ARM/gdb-7.10/include/mach-o/x86-64.h R processors/ARM/gdb-7.10/include/md5.h R processors/ARM/gdb-7.10/include/nlm/ChangeLog R processors/ARM/gdb-7.10/include/nlm/alpha-ext.h R processors/ARM/gdb-7.10/include/nlm/common.h R processors/ARM/gdb-7.10/include/nlm/external.h R processors/ARM/gdb-7.10/include/nlm/i386-ext.h R processors/ARM/gdb-7.10/include/nlm/internal.h R processors/ARM/gdb-7.10/include/nlm/ppc-ext.h R processors/ARM/gdb-7.10/include/nlm/sparc32-ext.h R processors/ARM/gdb-7.10/include/oasys.h R processors/ARM/gdb-7.10/include/objalloc.h R processors/ARM/gdb-7.10/include/obstack.h R processors/ARM/gdb-7.10/include/opcode/ChangeLog R processors/ARM/gdb-7.10/include/opcode/ChangeLog-9103 R processors/ARM/gdb-7.10/include/opcode/aarch64.h R processors/ARM/gdb-7.10/include/opcode/alpha.h R processors/ARM/gdb-7.10/include/opcode/arc.h R processors/ARM/gdb-7.10/include/opcode/arm.h R processors/ARM/gdb-7.10/include/opcode/avr.h R processors/ARM/gdb-7.10/include/opcode/bfin.h R processors/ARM/gdb-7.10/include/opcode/cgen.h R processors/ARM/gdb-7.10/include/opcode/convex.h R processors/ARM/gdb-7.10/include/opcode/cr16.h R processors/ARM/gdb-7.10/include/opcode/cris.h R processors/ARM/gdb-7.10/include/opcode/crx.h R processors/ARM/gdb-7.10/include/opcode/d10v.h R processors/ARM/gdb-7.10/include/opcode/d30v.h R processors/ARM/gdb-7.10/include/opcode/dlx.h R processors/ARM/gdb-7.10/include/opcode/ft32.h R processors/ARM/gdb-7.10/include/opcode/h8300.h R processors/ARM/gdb-7.10/include/opcode/hppa.h R processors/ARM/gdb-7.10/include/opcode/i370.h R processors/ARM/gdb-7.10/include/opcode/i386.h R processors/ARM/gdb-7.10/include/opcode/i860.h R processors/ARM/gdb-7.10/include/opcode/i960.h R processors/ARM/gdb-7.10/include/opcode/ia64.h R processors/ARM/gdb-7.10/include/opcode/m68hc11.h R processors/ARM/gdb-7.10/include/opcode/m68k.h R processors/ARM/gdb-7.10/include/opcode/m88k.h R processors/ARM/gdb-7.10/include/opcode/metag.h R processors/ARM/gdb-7.10/include/opcode/mips.h R processors/ARM/gdb-7.10/include/opcode/mmix.h R processors/ARM/gdb-7.10/include/opcode/mn10200.h R processors/ARM/gdb-7.10/include/opcode/mn10300.h R processors/ARM/gdb-7.10/include/opcode/moxie.h R processors/ARM/gdb-7.10/include/opcode/msp430-decode.h R processors/ARM/gdb-7.10/include/opcode/msp430.h R processors/ARM/gdb-7.10/include/opcode/nds32.h R processors/ARM/gdb-7.10/include/opcode/nios2.h R processors/ARM/gdb-7.10/include/opcode/nios2r1.h R processors/ARM/gdb-7.10/include/opcode/nios2r2.h R processors/ARM/gdb-7.10/include/opcode/np1.h R processors/ARM/gdb-7.10/include/opcode/ns32k.h R processors/ARM/gdb-7.10/include/opcode/pdp11.h R processors/ARM/gdb-7.10/include/opcode/pj.h R processors/ARM/gdb-7.10/include/opcode/pn.h R processors/ARM/gdb-7.10/include/opcode/ppc.h R processors/ARM/gdb-7.10/include/opcode/pyr.h R processors/ARM/gdb-7.10/include/opcode/rl78.h R processors/ARM/gdb-7.10/include/opcode/rx.h R processors/ARM/gdb-7.10/include/opcode/s390.h R processors/ARM/gdb-7.10/include/opcode/score-datadep.h R processors/ARM/gdb-7.10/include/opcode/score-inst.h R processors/ARM/gdb-7.10/include/opcode/sparc.h R processors/ARM/gdb-7.10/include/opcode/spu-insns.h R processors/ARM/gdb-7.10/include/opcode/spu.h R processors/ARM/gdb-7.10/include/opcode/tahoe.h R processors/ARM/gdb-7.10/include/opcode/tic30.h R processors/ARM/gdb-7.10/include/opcode/tic4x.h R processors/ARM/gdb-7.10/include/opcode/tic54x.h R processors/ARM/gdb-7.10/include/opcode/tic6x-control-registers.h R processors/ARM/gdb-7.10/include/opcode/tic6x-insn-formats.h R processors/ARM/gdb-7.10/include/opcode/tic6x-opcode-table.h R processors/ARM/gdb-7.10/include/opcode/tic6x.h R processors/ARM/gdb-7.10/include/opcode/tic80.h R processors/ARM/gdb-7.10/include/opcode/tilegx.h R processors/ARM/gdb-7.10/include/opcode/tilepro.h R processors/ARM/gdb-7.10/include/opcode/v850.h R processors/ARM/gdb-7.10/include/opcode/vax.h R processors/ARM/gdb-7.10/include/opcode/visium.h R processors/ARM/gdb-7.10/include/opcode/xgate.h R processors/ARM/gdb-7.10/include/os9k.h R processors/ARM/gdb-7.10/include/partition.h R processors/ARM/gdb-7.10/include/plugin-api.h R processors/ARM/gdb-7.10/include/progress.h R processors/ARM/gdb-7.10/include/safe-ctype.h R processors/ARM/gdb-7.10/include/sha1.h R processors/ARM/gdb-7.10/include/simple-object.h R processors/ARM/gdb-7.10/include/som/ChangeLog R processors/ARM/gdb-7.10/include/som/aout.h R processors/ARM/gdb-7.10/include/som/clock.h R processors/ARM/gdb-7.10/include/som/internal.h R processors/ARM/gdb-7.10/include/som/lst.h R processors/ARM/gdb-7.10/include/som/reloc.h R processors/ARM/gdb-7.10/include/sort.h R processors/ARM/gdb-7.10/include/splay-tree.h R processors/ARM/gdb-7.10/include/symcat.h R processors/ARM/gdb-7.10/include/timeval-utils.h R processors/ARM/gdb-7.10/include/vms/ChangeLog R processors/ARM/gdb-7.10/include/vms/dcx.h R processors/ARM/gdb-7.10/include/vms/dmt.h R processors/ARM/gdb-7.10/include/vms/dsc.h R processors/ARM/gdb-7.10/include/vms/dst.h R processors/ARM/gdb-7.10/include/vms/eeom.h R processors/ARM/gdb-7.10/include/vms/egps.h R processors/ARM/gdb-7.10/include/vms/egsd.h R processors/ARM/gdb-7.10/include/vms/egst.h R processors/ARM/gdb-7.10/include/vms/egsy.h R processors/ARM/gdb-7.10/include/vms/eiaf.h R processors/ARM/gdb-7.10/include/vms/eicp.h R processors/ARM/gdb-7.10/include/vms/eidc.h R processors/ARM/gdb-7.10/include/vms/eiha.h R processors/ARM/gdb-7.10/include/vms/eihd.h R processors/ARM/gdb-7.10/include/vms/eihi.h R processors/ARM/gdb-7.10/include/vms/eihs.h R processors/ARM/gdb-7.10/include/vms/eihvn.h R processors/ARM/gdb-7.10/include/vms/eisd.h R processors/ARM/gdb-7.10/include/vms/emh.h R processors/ARM/gdb-7.10/include/vms/eobjrec.h R processors/ARM/gdb-7.10/include/vms/esdf.h R processors/ARM/gdb-7.10/include/vms/esdfm.h R processors/ARM/gdb-7.10/include/vms/esdfv.h R processors/ARM/gdb-7.10/include/vms/esgps.h R processors/ARM/gdb-7.10/include/vms/esrf.h R processors/ARM/gdb-7.10/include/vms/etir.h R processors/ARM/gdb-7.10/include/vms/internal.h R processors/ARM/gdb-7.10/include/vms/lbr.h R processors/ARM/gdb-7.10/include/vms/prt.h R processors/ARM/gdb-7.10/include/vms/shl.h R processors/ARM/gdb-7.10/include/vtv-change-permission.h R processors/ARM/gdb-7.10/include/xregex.h R processors/ARM/gdb-7.10/include/xregex2.h R processors/ARM/gdb-7.10/include/xtensa-config.h R processors/ARM/gdb-7.10/include/xtensa-isa-internal.h R processors/ARM/gdb-7.10/include/xtensa-isa.h R processors/ARM/gdb-7.10/install-sh R processors/ARM/gdb-7.10/libiberty/.gitignore R processors/ARM/gdb-7.10/libiberty/COPYING.LIB R processors/ARM/gdb-7.10/libiberty/ChangeLog R processors/ARM/gdb-7.10/libiberty/ChangeLog.jit R processors/ARM/gdb-7.10/libiberty/Makefile.in R processors/ARM/gdb-7.10/libiberty/README R processors/ARM/gdb-7.10/libiberty/_doprnt.c R processors/ARM/gdb-7.10/libiberty/aclocal.m4 R processors/ARM/gdb-7.10/libiberty/alloca.c R processors/ARM/gdb-7.10/libiberty/argv.c R processors/ARM/gdb-7.10/libiberty/asprintf.c R processors/ARM/gdb-7.10/libiberty/at-file.texi R processors/ARM/gdb-7.10/libiberty/atexit.c R processors/ARM/gdb-7.10/libiberty/basename.c R processors/ARM/gdb-7.10/libiberty/bcmp.c R processors/ARM/gdb-7.10/libiberty/bcopy.c R processors/ARM/gdb-7.10/libiberty/bsearch.c R processors/ARM/gdb-7.10/libiberty/bzero.c R processors/ARM/gdb-7.10/libiberty/calloc.c R processors/ARM/gdb-7.10/libiberty/choose-temp.c R processors/ARM/gdb-7.10/libiberty/clock.c R processors/ARM/gdb-7.10/libiberty/concat.c R processors/ARM/gdb-7.10/libiberty/config.h-vms R processors/ARM/gdb-7.10/libiberty/config.in R processors/ARM/gdb-7.10/libiberty/config/mh-aix R processors/ARM/gdb-7.10/libiberty/config/mh-cxux7 R processors/ARM/gdb-7.10/libiberty/config/mh-fbsd21 R processors/ARM/gdb-7.10/libiberty/config/mh-openedition R processors/ARM/gdb-7.10/libiberty/config/mh-windows R processors/ARM/gdb-7.10/libiberty/configure R processors/ARM/gdb-7.10/libiberty/configure.ac R processors/ARM/gdb-7.10/libiberty/configure.com R processors/ARM/gdb-7.10/libiberty/copying-lib.texi R processors/ARM/gdb-7.10/libiberty/copysign.c R processors/ARM/gdb-7.10/libiberty/cp-demangle.c R processors/ARM/gdb-7.10/libiberty/cp-demangle.h R processors/ARM/gdb-7.10/libiberty/cp-demint.c R processors/ARM/gdb-7.10/libiberty/cplus-dem.c R processors/ARM/gdb-7.10/libiberty/crc32.c R processors/ARM/gdb-7.10/libiberty/d-demangle.c R processors/ARM/gdb-7.10/libiberty/dwarfnames.c R processors/ARM/gdb-7.10/libiberty/dyn-string.c R processors/ARM/gdb-7.10/libiberty/fdmatch.c R processors/ARM/gdb-7.10/libiberty/ffs.c R processors/ARM/gdb-7.10/libiberty/fibheap.c R processors/ARM/gdb-7.10/libiberty/filename_cmp.c R processors/ARM/gdb-7.10/libiberty/floatformat.c R processors/ARM/gdb-7.10/libiberty/fnmatch.c R processors/ARM/gdb-7.10/libiberty/fnmatch.txh R processors/ARM/gdb-7.10/libiberty/fopen_unlocked.c R processors/ARM/gdb-7.10/libiberty/functions.texi R processors/ARM/gdb-7.10/libiberty/gather-docs R processors/ARM/gdb-7.10/libiberty/getcwd.c R processors/ARM/gdb-7.10/libiberty/getopt.c R processors/ARM/gdb-7.10/libiberty/getopt1.c R processors/ARM/gdb-7.10/libiberty/getpagesize.c R processors/ARM/gdb-7.10/libiberty/getpwd.c R processors/ARM/gdb-7.10/libiberty/getruntime.c R processors/ARM/gdb-7.10/libiberty/gettimeofday.c R processors/ARM/gdb-7.10/libiberty/hashtab.c R processors/ARM/gdb-7.10/libiberty/hex.c R processors/ARM/gdb-7.10/libiberty/index.c R processors/ARM/gdb-7.10/libiberty/insque.c R processors/ARM/gdb-7.10/libiberty/lbasename.c R processors/ARM/gdb-7.10/libiberty/libiberty.texi R processors/ARM/gdb-7.10/libiberty/lrealpath.c R processors/ARM/gdb-7.10/libiberty/maint-tool R processors/ARM/gdb-7.10/libiberty/make-relative-prefix.c R processors/ARM/gdb-7.10/libiberty/make-temp-file.c R processors/ARM/gdb-7.10/libiberty/makefile.vms R processors/ARM/gdb-7.10/libiberty/md5.c R processors/ARM/gdb-7.10/libiberty/memchr.c R processors/ARM/gdb-7.10/libiberty/memcmp.c R processors/ARM/gdb-7.10/libiberty/memcpy.c R processors/ARM/gdb-7.10/libiberty/memmem.c R processors/ARM/gdb-7.10/libiberty/memmove.c R processors/ARM/gdb-7.10/libiberty/mempcpy.c R processors/ARM/gdb-7.10/libiberty/memset.c R processors/ARM/gdb-7.10/libiberty/mkstemps.c R processors/ARM/gdb-7.10/libiberty/msdos.c R processors/ARM/gdb-7.10/libiberty/objalloc.c R processors/ARM/gdb-7.10/libiberty/obstack.c R processors/ARM/gdb-7.10/libiberty/obstacks.texi R processors/ARM/gdb-7.10/libiberty/partition.c R processors/ARM/gdb-7.10/libiberty/pex-common.c R processors/ARM/gdb-7.10/libiberty/pex-common.h R processors/ARM/gdb-7.10/libiberty/pex-djgpp.c R processors/ARM/gdb-7.10/libiberty/pex-msdos.c R processors/ARM/gdb-7.10/libiberty/pex-one.c R processors/ARM/gdb-7.10/libiberty/pex-unix.c R processors/ARM/gdb-7.10/libiberty/pex-win32.c R processors/ARM/gdb-7.10/libiberty/pexecute.c R processors/ARM/gdb-7.10/libiberty/pexecute.txh R processors/ARM/gdb-7.10/libiberty/physmem.c R processors/ARM/gdb-7.10/libiberty/putenv.c R processors/ARM/gdb-7.10/libiberty/random.c R processors/ARM/gdb-7.10/libiberty/regex.c R processors/ARM/gdb-7.10/libiberty/rename.c R processors/ARM/gdb-7.10/libiberty/rindex.c R processors/ARM/gdb-7.10/libiberty/safe-ctype.c R processors/ARM/gdb-7.10/libiberty/setenv.c R processors/ARM/gdb-7.10/libiberty/setproctitle.c R processors/ARM/gdb-7.10/libiberty/sha1.c R processors/ARM/gdb-7.10/libiberty/sigsetmask.c R processors/ARM/gdb-7.10/libiberty/simple-object-coff.c R processors/ARM/gdb-7.10/libiberty/simple-object-common.h R processors/ARM/gdb-7.10/libiberty/simple-object-elf.c R processors/ARM/gdb-7.10/libiberty/simple-object-mach-o.c R processors/ARM/gdb-7.10/libiberty/simple-object-xcoff.c R processors/ARM/gdb-7.10/libiberty/simple-object.c R processors/ARM/gdb-7.10/libiberty/simple-object.txh R processors/ARM/gdb-7.10/libiberty/snprintf.c R processors/ARM/gdb-7.10/libiberty/sort.c R processors/ARM/gdb-7.10/libiberty/spaces.c R processors/ARM/gdb-7.10/libiberty/splay-tree.c R processors/ARM/gdb-7.10/libiberty/stack-limit.c R processors/ARM/gdb-7.10/libiberty/stpcpy.c R processors/ARM/gdb-7.10/libiberty/stpncpy.c R processors/ARM/gdb-7.10/libiberty/strcasecmp.c R processors/ARM/gdb-7.10/libiberty/strchr.c R processors/ARM/gdb-7.10/libiberty/strdup.c R processors/ARM/gdb-7.10/libiberty/strerror.c R processors/ARM/gdb-7.10/libiberty/strncasecmp.c R processors/ARM/gdb-7.10/libiberty/strncmp.c R processors/ARM/gdb-7.10/libiberty/strndup.c R processors/ARM/gdb-7.10/libiberty/strnlen.c R processors/ARM/gdb-7.10/libiberty/strrchr.c R processors/ARM/gdb-7.10/libiberty/strsignal.c R processors/ARM/gdb-7.10/libiberty/strstr.c R processors/ARM/gdb-7.10/libiberty/strtod.c R processors/ARM/gdb-7.10/libiberty/strtol.c R processors/ARM/gdb-7.10/libiberty/strtoll.c R processors/ARM/gdb-7.10/libiberty/strtoul.c R processors/ARM/gdb-7.10/libiberty/strtoull.c R processors/ARM/gdb-7.10/libiberty/strverscmp.c R processors/ARM/gdb-7.10/libiberty/testsuite/Makefile.in R processors/ARM/gdb-7.10/libiberty/testsuite/d-demangle-expected R processors/ARM/gdb-7.10/libiberty/testsuite/demangle-expected R processors/ARM/gdb-7.10/libiberty/testsuite/demangler-fuzzer.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-demangle.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-expandargv.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-pexecute.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-strtol.c R processors/ARM/gdb-7.10/libiberty/timeval-utils.c R processors/ARM/gdb-7.10/libiberty/tmpnam.c R processors/ARM/gdb-7.10/libiberty/unlink-if-ordinary.c R processors/ARM/gdb-7.10/libiberty/vasprintf.c R processors/ARM/gdb-7.10/libiberty/vfork.c R processors/ARM/gdb-7.10/libiberty/vfprintf.c R processors/ARM/gdb-7.10/libiberty/vprintf-support.c R processors/ARM/gdb-7.10/libiberty/vprintf-support.h R processors/ARM/gdb-7.10/libiberty/vprintf.c R processors/ARM/gdb-7.10/libiberty/vsnprintf.c R processors/ARM/gdb-7.10/libiberty/vsprintf.c R processors/ARM/gdb-7.10/libiberty/waitpid.c R processors/ARM/gdb-7.10/libiberty/xasprintf.c R processors/ARM/gdb-7.10/libiberty/xatexit.c R processors/ARM/gdb-7.10/libiberty/xexit.c R processors/ARM/gdb-7.10/libiberty/xmalloc.c R processors/ARM/gdb-7.10/libiberty/xmemdup.c R processors/ARM/gdb-7.10/libiberty/xstrdup.c R processors/ARM/gdb-7.10/libiberty/xstrerror.c R processors/ARM/gdb-7.10/libiberty/xstrndup.c R processors/ARM/gdb-7.10/libiberty/xvasprintf.c R processors/ARM/gdb-7.10/ltmain.sh R processors/ARM/gdb-7.10/md5.sum R processors/ARM/gdb-7.10/missing R processors/ARM/gdb-7.10/mkdep R processors/ARM/gdb-7.10/mkinstalldirs R processors/ARM/gdb-7.10/move-if-change R processors/ARM/gdb-7.10/opcodes/.gitignore R processors/ARM/gdb-7.10/opcodes/ChangeLog R processors/ARM/gdb-7.10/opcodes/ChangeLog-0001 R processors/ARM/gdb-7.10/opcodes/ChangeLog-0203 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2004 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2005 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2006 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2007 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2008 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2009 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2010 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2011 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2012 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2013 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2014 R processors/ARM/gdb-7.10/opcodes/ChangeLog-9297 R processors/ARM/gdb-7.10/opcodes/ChangeLog-9899 R processors/ARM/gdb-7.10/opcodes/MAINTAINERS R processors/ARM/gdb-7.10/opcodes/Makefile.am R processors/ARM/gdb-7.10/opcodes/Makefile.in R processors/ARM/gdb-7.10/opcodes/aarch64-asm-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-asm.c R processors/ARM/gdb-7.10/opcodes/aarch64-asm.h R processors/ARM/gdb-7.10/opcodes/aarch64-dis-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-dis.c R processors/ARM/gdb-7.10/opcodes/aarch64-dis.h R processors/ARM/gdb-7.10/opcodes/aarch64-gen.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc.h R processors/ARM/gdb-7.10/opcodes/aarch64-tbl.h R processors/ARM/gdb-7.10/opcodes/aclocal.m4 R processors/ARM/gdb-7.10/opcodes/alpha-dis.c R processors/ARM/gdb-7.10/opcodes/alpha-opc.c R processors/ARM/gdb-7.10/opcodes/arc-dis.c R processors/ARM/gdb-7.10/opcodes/arc-dis.h R processors/ARM/gdb-7.10/opcodes/arc-ext.c R processors/ARM/gdb-7.10/opcodes/arc-ext.h R processors/ARM/gdb-7.10/opcodes/arc-opc.c R processors/ARM/gdb-7.10/opcodes/arm-dis.c R processors/ARM/gdb-7.10/opcodes/avr-dis.c R processors/ARM/gdb-7.10/opcodes/bfin-dis.c R processors/ARM/gdb-7.10/opcodes/cgen-asm.c R processors/ARM/gdb-7.10/opcodes/cgen-asm.in R processors/ARM/gdb-7.10/opcodes/cgen-bitset.c R processors/ARM/gdb-7.10/opcodes/cgen-dis.c R processors/ARM/gdb-7.10/opcodes/cgen-dis.in R processors/ARM/gdb-7.10/opcodes/cgen-ibld.in R processors/ARM/gdb-7.10/opcodes/cgen-opc.c R processors/ARM/gdb-7.10/opcodes/cgen.sh R processors/ARM/gdb-7.10/opcodes/config.in R processors/ARM/gdb-7.10/opcodes/configure R processors/ARM/gdb-7.10/opcodes/configure.ac R processors/ARM/gdb-7.10/opcodes/configure.com R processors/ARM/gdb-7.10/opcodes/cr16-dis.c R processors/ARM/gdb-7.10/opcodes/cr16-opc.c R processors/ARM/gdb-7.10/opcodes/cris-dis.c R processors/ARM/gdb-7.10/opcodes/cris-opc.c R processors/ARM/gdb-7.10/opcodes/crx-dis.c R processors/ARM/gdb-7.10/opcodes/crx-opc.c R processors/ARM/gdb-7.10/opcodes/d10v-dis.c R processors/ARM/gdb-7.10/opcodes/d10v-opc.c R processors/ARM/gdb-7.10/opcodes/d30v-dis.c R processors/ARM/gdb-7.10/opcodes/d30v-opc.c R processors/ARM/gdb-7.10/opcodes/dep-in.sed R processors/ARM/gdb-7.10/opcodes/dis-buf.c R processors/ARM/gdb-7.10/opcodes/dis-init.c R processors/ARM/gdb-7.10/opcodes/disassemble.c R processors/ARM/gdb-7.10/opcodes/dlx-dis.c R processors/ARM/gdb-7.10/opcodes/epiphany-asm.c R processors/ARM/gdb-7.10/opcodes/epiphany-desc.c R processors/ARM/gdb-7.10/opcodes/epiphany-desc.h R processors/ARM/gdb-7.10/opcodes/epiphany-dis.c R processors/ARM/gdb-7.10/opcodes/epiphany-ibld.c R processors/ARM/gdb-7.10/opcodes/epiphany-opc.c R processors/ARM/gdb-7.10/opcodes/epiphany-opc.h R processors/ARM/gdb-7.10/opcodes/fr30-asm.c R processors/ARM/gdb-7.10/opcodes/fr30-desc.c R processors/ARM/gdb-7.10/opcodes/fr30-desc.h R processors/ARM/gdb-7.10/opcodes/fr30-dis.c R processors/ARM/gdb-7.10/opcodes/fr30-ibld.c R processors/ARM/gdb-7.10/opcodes/fr30-opc.c R processors/ARM/gdb-7.10/opcodes/fr30-opc.h R processors/ARM/gdb-7.10/opcodes/frv-asm.c R processors/ARM/gdb-7.10/opcodes/frv-desc.c R processors/ARM/gdb-7.10/opcodes/frv-desc.h R processors/ARM/gdb-7.10/opcodes/frv-dis.c R processors/ARM/gdb-7.10/opcodes/frv-ibld.c R processors/ARM/gdb-7.10/opcodes/frv-opc.c R processors/ARM/gdb-7.10/opcodes/frv-opc.h R processors/ARM/gdb-7.10/opcodes/ft32-dis.c R processors/ARM/gdb-7.10/opcodes/ft32-opc.c R processors/ARM/gdb-7.10/opcodes/h8300-dis.c R processors/ARM/gdb-7.10/opcodes/h8500-dis.c R processors/ARM/gdb-7.10/opcodes/h8500-opc.h R processors/ARM/gdb-7.10/opcodes/hppa-dis.c R processors/ARM/gdb-7.10/opcodes/i370-dis.c R processors/ARM/gdb-7.10/opcodes/i370-opc.c R processors/ARM/gdb-7.10/opcodes/i386-dis-evex.h R processors/ARM/gdb-7.10/opcodes/i386-dis.c R processors/ARM/gdb-7.10/opcodes/i386-gen.c R processors/ARM/gdb-7.10/opcodes/i386-init.h R processors/ARM/gdb-7.10/opcodes/i386-opc.c R processors/ARM/gdb-7.10/opcodes/i386-opc.h R processors/ARM/gdb-7.10/opcodes/i386-opc.tbl R processors/ARM/gdb-7.10/opcodes/i386-reg.tbl R processors/ARM/gdb-7.10/opcodes/i386-tbl.h R processors/ARM/gdb-7.10/opcodes/i860-dis.c R processors/ARM/gdb-7.10/opcodes/i960-dis.c R processors/ARM/gdb-7.10/opcodes/ia64-asmtab.c R processors/ARM/gdb-7.10/opcodes/ia64-asmtab.h R processors/ARM/gdb-7.10/opcodes/ia64-dis.c R processors/ARM/gdb-7.10/opcodes/ia64-gen.c R processors/ARM/gdb-7.10/opcodes/ia64-ic.tbl R processors/ARM/gdb-7.10/opcodes/ia64-opc-a.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-b.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-d.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-f.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-i.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-m.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-x.c R processors/ARM/gdb-7.10/opcodes/ia64-opc.c R processors/ARM/gdb-7.10/opcodes/ia64-opc.h R processors/ARM/gdb-7.10/opcodes/ia64-raw.tbl R processors/ARM/gdb-7.10/opcodes/ia64-war.tbl R processors/ARM/gdb-7.10/opcodes/ia64-waw.tbl R processors/ARM/gdb-7.10/opcodes/ip2k-asm.c R processors/ARM/gdb-7.10/opcodes/ip2k-desc.c R processors/ARM/gdb-7.10/opcodes/ip2k-desc.h R processors/ARM/gdb-7.10/opcodes/ip2k-dis.c R processors/ARM/gdb-7.10/opcodes/ip2k-ibld.c R processors/ARM/gdb-7.10/opcodes/ip2k-opc.c R processors/ARM/gdb-7.10/opcodes/ip2k-opc.h R processors/ARM/gdb-7.10/opcodes/iq2000-asm.c R processors/ARM/gdb-7.10/opcodes/iq2000-desc.c R processors/ARM/gdb-7.10/opcodes/iq2000-desc.h R processors/ARM/gdb-7.10/opcodes/iq2000-dis.c R processors/ARM/gdb-7.10/opcodes/iq2000-ibld.c R processors/ARM/gdb-7.10/opcodes/iq2000-opc.c R processors/ARM/gdb-7.10/opcodes/iq2000-opc.h R processors/ARM/gdb-7.10/opcodes/lm32-asm.c R processors/ARM/gdb-7.10/opcodes/lm32-desc.c R processors/ARM/gdb-7.10/opcodes/lm32-desc.h R processors/ARM/gdb-7.10/opcodes/lm32-dis.c R processors/ARM/gdb-7.10/opcodes/lm32-ibld.c R processors/ARM/gdb-7.10/opcodes/lm32-opc.c R processors/ARM/gdb-7.10/opcodes/lm32-opc.h R processors/ARM/gdb-7.10/opcodes/lm32-opinst.c R processors/ARM/gdb-7.10/opcodes/m10200-dis.c R processors/ARM/gdb-7.10/opcodes/m10200-opc.c R processors/ARM/gdb-7.10/opcodes/m10300-dis.c R processors/ARM/gdb-7.10/opcodes/m10300-opc.c R processors/ARM/gdb-7.10/opcodes/m32c-asm.c R processors/ARM/gdb-7.10/opcodes/m32c-desc.c R processors/ARM/gdb-7.10/opcodes/m32c-desc.h R processors/ARM/gdb-7.10/opcodes/m32c-dis.c R processors/ARM/gdb-7.10/opcodes/m32c-ibld.c R processors/ARM/gdb-7.10/opcodes/m32c-opc.c R processors/ARM/gdb-7.10/opcodes/m32c-opc.h R processors/ARM/gdb-7.10/opcodes/m32r-asm.c R processors/ARM/gdb-7.10/opcodes/m32r-desc.c R processors/ARM/gdb-7.10/opcodes/m32r-desc.h R processors/ARM/gdb-7.10/opcodes/m32r-dis.c R processors/ARM/gdb-7.10/opcodes/m32r-ibld.c R processors/ARM/gdb-7.10/opcodes/m32r-opc.c R processors/ARM/gdb-7.10/opcodes/m32r-opc.h R processors/ARM/gdb-7.10/opcodes/m32r-opinst.c R processors/ARM/gdb-7.10/opcodes/m68hc11-dis.c R processors/ARM/gdb-7.10/opcodes/m68hc11-opc.c R processors/ARM/gdb-7.10/opcodes/m68k-dis.c R processors/ARM/gdb-7.10/opcodes/m68k-opc.c R processors/ARM/gdb-7.10/opcodes/m88k-dis.c R processors/ARM/gdb-7.10/opcodes/makefile.vms R processors/ARM/gdb-7.10/opcodes/mcore-dis.c R processors/ARM/gdb-7.10/opcodes/mcore-opc.h R processors/ARM/gdb-7.10/opcodes/mep-asm.c R processors/ARM/gdb-7.10/opcodes/mep-desc.c R processors/ARM/gdb-7.10/opcodes/mep-desc.h R processors/ARM/gdb-7.10/opcodes/mep-dis.c R processors/ARM/gdb-7.10/opcodes/mep-ibld.c R processors/ARM/gdb-7.10/opcodes/mep-opc.c R processors/ARM/gdb-7.10/opcodes/mep-opc.h R processors/ARM/gdb-7.10/opcodes/metag-dis.c R processors/ARM/gdb-7.10/opcodes/microblaze-dis.c R processors/ARM/gdb-7.10/opcodes/microblaze-dis.h R processors/ARM/gdb-7.10/opcodes/microblaze-opc.h R processors/ARM/gdb-7.10/opcodes/microblaze-opcm.h R processors/ARM/gdb-7.10/opcodes/micromips-opc.c R processors/ARM/gdb-7.10/opcodes/mips-dis.c R processors/ARM/gdb-7.10/opcodes/mips-formats.h R processors/ARM/gdb-7.10/opcodes/mips-opc.c R processors/ARM/gdb-7.10/opcodes/mips16-opc.c R processors/ARM/gdb-7.10/opcodes/mmix-dis.c R processors/ARM/gdb-7.10/opcodes/mmix-opc.c R processors/ARM/gdb-7.10/opcodes/moxie-dis.c R processors/ARM/gdb-7.10/opcodes/moxie-opc.c R processors/ARM/gdb-7.10/opcodes/msp430-decode.c R processors/ARM/gdb-7.10/opcodes/msp430-decode.opc R processors/ARM/gdb-7.10/opcodes/msp430-dis.c R processors/ARM/gdb-7.10/opcodes/mt-asm.c R processors/ARM/gdb-7.10/opcodes/mt-desc.c R processors/ARM/gdb-7.10/opcodes/mt-desc.h R processors/ARM/gdb-7.10/opcodes/mt-dis.c R processors/ARM/gdb-7.10/opcodes/mt-ibld.c R processors/ARM/gdb-7.10/opcodes/mt-opc.c R processors/ARM/gdb-7.10/opcodes/mt-opc.h R processors/ARM/gdb-7.10/opcodes/nds32-asm.c R processors/ARM/gdb-7.10/opcodes/nds32-asm.h R processors/ARM/gdb-7.10/opcodes/nds32-dis.c R processors/ARM/gdb-7.10/opcodes/nds32-opc.h R processors/ARM/gdb-7.10/opcodes/nios2-dis.c R processors/ARM/gdb-7.10/opcodes/nios2-opc.c R processors/ARM/gdb-7.10/opcodes/ns32k-dis.c R processors/ARM/gdb-7.10/opcodes/opc2c.c R processors/ARM/gdb-7.10/opcodes/opintl.h R processors/ARM/gdb-7.10/opcodes/or1k-asm.c R processors/ARM/gdb-7.10/opcodes/or1k-desc.c R processors/ARM/gdb-7.10/opcodes/or1k-desc.h R processors/ARM/gdb-7.10/opcodes/or1k-dis.c R processors/ARM/gdb-7.10/opcodes/or1k-ibld.c R processors/ARM/gdb-7.10/opcodes/or1k-opc.c R processors/ARM/gdb-7.10/opcodes/or1k-opc.h R processors/ARM/gdb-7.10/opcodes/or1k-opinst.c R processors/ARM/gdb-7.10/opcodes/pdp11-dis.c R processors/ARM/gdb-7.10/opcodes/pdp11-opc.c R processors/ARM/gdb-7.10/opcodes/pj-dis.c R processors/ARM/gdb-7.10/opcodes/pj-opc.c R processors/ARM/gdb-7.10/opcodes/po/Make-in R processors/ARM/gdb-7.10/opcodes/po/POTFILES.in R processors/ARM/gdb-7.10/opcodes/po/da.gmo R processors/ARM/gdb-7.10/opcodes/po/da.po R processors/ARM/gdb-7.10/opcodes/po/de.gmo R processors/ARM/gdb-7.10/opcodes/po/de.po R processors/ARM/gdb-7.10/opcodes/po/es.gmo R processors/ARM/gdb-7.10/opcodes/po/es.po R processors/ARM/gdb-7.10/opcodes/po/fi.gmo R processors/ARM/gdb-7.10/opcodes/po/fi.po R processors/ARM/gdb-7.10/opcodes/po/fr.gmo R processors/ARM/gdb-7.10/opcodes/po/fr.po R processors/ARM/gdb-7.10/opcodes/po/ga.gmo R processors/ARM/gdb-7.10/opcodes/po/ga.po R processors/ARM/gdb-7.10/opcodes/po/id.gmo R processors/ARM/gdb-7.10/opcodes/po/id.po R processors/ARM/gdb-7.10/opcodes/po/it.gmo R processors/ARM/gdb-7.10/opcodes/po/it.po R processors/ARM/gdb-7.10/opcodes/po/nl.gmo R processors/ARM/gdb-7.10/opcodes/po/nl.po R processors/ARM/gdb-7.10/opcodes/po/opcodes.pot R processors/ARM/gdb-7.10/opcodes/po/pt_BR.gmo R processors/ARM/gdb-7.10/opcodes/po/pt_BR.po R processors/ARM/gdb-7.10/opcodes/po/ro.gmo R processors/ARM/gdb-7.10/opcodes/po/ro.po R processors/ARM/gdb-7.10/opcodes/po/sv.gmo R processors/ARM/gdb-7.10/opcodes/po/sv.po R processors/ARM/gdb-7.10/opcodes/po/tr.gmo R processors/ARM/gdb-7.10/opcodes/po/tr.po R processors/ARM/gdb-7.10/opcodes/po/uk.gmo R processors/ARM/gdb-7.10/opcodes/po/uk.po R processors/ARM/gdb-7.10/opcodes/po/vi.gmo R processors/ARM/gdb-7.10/opcodes/po/vi.po R processors/ARM/gdb-7.10/opcodes/po/zh_CN.gmo R processors/ARM/gdb-7.10/opcodes/po/zh_CN.po R processors/ARM/gdb-7.10/opcodes/ppc-dis.c R processors/ARM/gdb-7.10/opcodes/ppc-opc.c R processors/ARM/gdb-7.10/opcodes/rl78-decode.c R processors/ARM/gdb-7.10/opcodes/rl78-decode.opc R processors/ARM/gdb-7.10/opcodes/rl78-dis.c R processors/ARM/gdb-7.10/opcodes/rx-decode.c R processors/ARM/gdb-7.10/opcodes/rx-decode.opc R processors/ARM/gdb-7.10/opcodes/rx-dis.c R processors/ARM/gdb-7.10/opcodes/s390-dis.c R processors/ARM/gdb-7.10/opcodes/s390-mkopc.c R processors/ARM/gdb-7.10/opcodes/s390-opc.c R processors/ARM/gdb-7.10/opcodes/s390-opc.txt R processors/ARM/gdb-7.10/opcodes/score-dis.c R processors/ARM/gdb-7.10/opcodes/score-opc.h R processors/ARM/gdb-7.10/opcodes/score7-dis.c R processors/ARM/gdb-7.10/opcodes/sh-dis.c R processors/ARM/gdb-7.10/opcodes/sh-opc.h R processors/ARM/gdb-7.10/opcodes/sh64-dis.c R processors/ARM/gdb-7.10/opcodes/sh64-opc.c R processors/ARM/gdb-7.10/opcodes/sh64-opc.h R processors/ARM/gdb-7.10/opcodes/sparc-dis.c R processors/ARM/gdb-7.10/opcodes/sparc-opc.c R processors/ARM/gdb-7.10/opcodes/spu-dis.c R processors/ARM/gdb-7.10/opcodes/spu-opc.c R processors/ARM/gdb-7.10/opcodes/stamp-h.in R processors/ARM/gdb-7.10/opcodes/sysdep.h R processors/ARM/gdb-7.10/opcodes/tic30-dis.c R processors/ARM/gdb-7.10/opcodes/tic4x-dis.c R processors/ARM/gdb-7.10/opcodes/tic54x-dis.c R processors/ARM/gdb-7.10/opcodes/tic54x-opc.c R processors/ARM/gdb-7.10/opcodes/tic6x-dis.c R processors/ARM/gdb-7.10/opcodes/tic80-dis.c R processors/ARM/gdb-7.10/opcodes/tic80-opc.c R processors/ARM/gdb-7.10/opcodes/tilegx-dis.c R processors/ARM/gdb-7.10/opcodes/tilegx-opc.c R processors/ARM/gdb-7.10/opcodes/tilepro-dis.c R processors/ARM/gdb-7.10/opcodes/tilepro-opc.c R processors/ARM/gdb-7.10/opcodes/v850-dis.c R processors/ARM/gdb-7.10/opcodes/v850-opc.c R processors/ARM/gdb-7.10/opcodes/vax-dis.c R processors/ARM/gdb-7.10/opcodes/visium-dis.c R processors/ARM/gdb-7.10/opcodes/visium-opc.c R processors/ARM/gdb-7.10/opcodes/w65-dis.c R processors/ARM/gdb-7.10/opcodes/w65-opc.h R processors/ARM/gdb-7.10/opcodes/xc16x-asm.c R processors/ARM/gdb-7.10/opcodes/xc16x-desc.c R processors/ARM/gdb-7.10/opcodes/xc16x-desc.h R processors/ARM/gdb-7.10/opcodes/xc16x-dis.c R processors/ARM/gdb-7.10/opcodes/xc16x-ibld.c R processors/ARM/gdb-7.10/opcodes/xc16x-opc.c R processors/ARM/gdb-7.10/opcodes/xc16x-opc.h R processors/ARM/gdb-7.10/opcodes/xgate-dis.c R processors/ARM/gdb-7.10/opcodes/xgate-opc.c R processors/ARM/gdb-7.10/opcodes/xstormy16-asm.c R processors/ARM/gdb-7.10/opcodes/xstormy16-desc.c R processors/ARM/gdb-7.10/opcodes/xstormy16-desc.h R processors/ARM/gdb-7.10/opcodes/xstormy16-dis.c R processors/ARM/gdb-7.10/opcodes/xstormy16-ibld.c R processors/ARM/gdb-7.10/opcodes/xstormy16-opc.c R processors/ARM/gdb-7.10/opcodes/xstormy16-opc.h R processors/ARM/gdb-7.10/opcodes/xtensa-dis.c R processors/ARM/gdb-7.10/opcodes/z80-dis.c R processors/ARM/gdb-7.10/opcodes/z8k-dis.c R processors/ARM/gdb-7.10/opcodes/z8k-opc.h R processors/ARM/gdb-7.10/opcodes/z8kgen.c R processors/ARM/gdb-7.10/sim/.gitignore R processors/ARM/gdb-7.10/sim/ChangeLog R processors/ARM/gdb-7.10/sim/MAINTAINERS R processors/ARM/gdb-7.10/sim/Makefile.in R processors/ARM/gdb-7.10/sim/README-HACKING R processors/ARM/gdb-7.10/sim/arm/COPYING R processors/ARM/gdb-7.10/sim/arm/ChangeLog R processors/ARM/gdb-7.10/sim/arm/GdbARMPlugin.h R processors/ARM/gdb-7.10/sim/arm/Makefile.in R processors/ARM/gdb-7.10/sim/arm/README R processors/ARM/gdb-7.10/sim/arm/aclocal.m4 R processors/ARM/gdb-7.10/sim/arm/armcopro.c R processors/ARM/gdb-7.10/sim/arm/armdefs.h R processors/ARM/gdb-7.10/sim/arm/armemu.c R processors/ARM/gdb-7.10/sim/arm/armemu.h R processors/ARM/gdb-7.10/sim/arm/armfpe.h R processors/ARM/gdb-7.10/sim/arm/arminit.c R processors/ARM/gdb-7.10/sim/arm/armopts.h R processors/ARM/gdb-7.10/sim/arm/armos.c R processors/ARM/gdb-7.10/sim/arm/armos.h R processors/ARM/gdb-7.10/sim/arm/armrdi.c R processors/ARM/gdb-7.10/sim/arm/armsupp.c R processors/ARM/gdb-7.10/sim/arm/armulmem.c R processors/ARM/gdb-7.10/sim/arm/armvirt.c R processors/ARM/gdb-7.10/sim/arm/bag.c R processors/ARM/gdb-7.10/sim/arm/bag.h R processors/ARM/gdb-7.10/sim/arm/communicate.c R processors/ARM/gdb-7.10/sim/arm/communicate.h R processors/ARM/gdb-7.10/sim/arm/config.in R processors/ARM/gdb-7.10/sim/arm/configure R processors/ARM/gdb-7.10/sim/arm/configure.ac R processors/ARM/gdb-7.10/sim/arm/dbg_conf.h R processors/ARM/gdb-7.10/sim/arm/dbg_cp.h R processors/ARM/gdb-7.10/sim/arm/dbg_hif.h R processors/ARM/gdb-7.10/sim/arm/dbg_rdi.h R processors/ARM/gdb-7.10/sim/arm/gdbhost.c R processors/ARM/gdb-7.10/sim/arm/gdbhost.h R processors/ARM/gdb-7.10/sim/arm/hw-config.h R processors/ARM/gdb-7.10/sim/arm/iwmmxt.c R processors/ARM/gdb-7.10/sim/arm/iwmmxt.h R processors/ARM/gdb-7.10/sim/arm/kid.c R processors/ARM/gdb-7.10/sim/arm/libtool R processors/ARM/gdb-7.10/sim/arm/main.c R processors/ARM/gdb-7.10/sim/arm/maverick.c R processors/ARM/gdb-7.10/sim/arm/parent.c R processors/ARM/gdb-7.10/sim/arm/sim-main.h R processors/ARM/gdb-7.10/sim/arm/thumbemu.c R processors/ARM/gdb-7.10/sim/arm/version.c R processors/ARM/gdb-7.10/sim/arm/wrapper.c R processors/ARM/gdb-7.10/sim/avr/ChangeLog R processors/ARM/gdb-7.10/sim/avr/Makefile.in R processors/ARM/gdb-7.10/sim/avr/aclocal.m4 R processors/ARM/gdb-7.10/sim/avr/config.in R processors/ARM/gdb-7.10/sim/avr/configure R processors/ARM/gdb-7.10/sim/avr/configure.ac R processors/ARM/gdb-7.10/sim/avr/interp.c R processors/ARM/gdb-7.10/sim/avr/sim-main.h R processors/ARM/gdb-7.10/sim/bfin/ChangeLog R processors/ARM/gdb-7.10/sim/bfin/Makefile.in R processors/ARM/gdb-7.10/sim/bfin/TODO R processors/ARM/gdb-7.10/sim/bfin/aclocal.m4 R processors/ARM/gdb-7.10/sim/bfin/bfin-sim.c R processors/ARM/gdb-7.10/sim/bfin/bfin-sim.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/all.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf50x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf51x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf51x-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf51x-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf526-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf526-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf526-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf527-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf527-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf527-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf533-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf533-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf533-0.3.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf537-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf537-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf537-0.3.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf538-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x-0.4.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.1.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.2.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf54x_l1-0.4.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf561-0.5.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf59x-0.0.h R processors/ARM/gdb-7.10/sim/bfin/bfroms/bf59x_l1-0.1.h R processors/ARM/gdb-7.10/sim/bfin/config.in R processors/ARM/gdb-7.10/sim/bfin/configure R processors/ARM/gdb-7.10/sim/bfin/configure.ac R processors/ARM/gdb-7.10/sim/bfin/devices.c R processors/ARM/gdb-7.10/sim/bfin/devices.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_cec.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_cec.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ctimer.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ctimer.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dma.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dma.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dmac.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_dmac.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_amc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_amc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_ddrc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_ddrc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_sdc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ebiu_sdc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_emac.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_emac.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_eppi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_eppi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_evt.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_evt.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio2.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gpio2.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gptimer.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_gptimer.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_jtag.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_jtag.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_mmu.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_mmu.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_nfc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_nfc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_otp.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_otp.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pfmon.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pfmon.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pint.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pint.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pll.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_pll.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ppi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_ppi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_rtc.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_rtc.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_sic.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_sic.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_spi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_spi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_trace.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_trace.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_twi.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_twi.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart2.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_uart2.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wdog.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wdog.h R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wp.c R processors/ARM/gdb-7.10/sim/bfin/dv-bfin_wp.h R processors/ARM/gdb-7.10/sim/bfin/dv-eth_phy.c R processors/ARM/gdb-7.10/sim/bfin/gui.c R processors/ARM/gdb-7.10/sim/bfin/gui.h R processors/ARM/gdb-7.10/sim/bfin/insn_list.def R processors/ARM/gdb-7.10/sim/bfin/interp.c R processors/ARM/gdb-7.10/sim/bfin/linux-fixed-code.h R processors/ARM/gdb-7.10/sim/bfin/linux-fixed-code.s R processors/ARM/gdb-7.10/sim/bfin/linux-targ-map.h R processors/ARM/gdb-7.10/sim/bfin/machs.c R processors/ARM/gdb-7.10/sim/bfin/machs.h R processors/ARM/gdb-7.10/sim/bfin/proc_list.def R processors/ARM/gdb-7.10/sim/bfin/sim-main.h R processors/ARM/gdb-7.10/sim/bfin/tconfig.h R processors/ARM/gdb-7.10/sim/common/ChangeLog R processors/ARM/gdb-7.10/sim/common/Make-common.in R processors/ARM/gdb-7.10/sim/common/Makefile.in R processors/ARM/gdb-7.10/sim/common/acinclude.m4 R processors/ARM/gdb-7.10/sim/common/aclocal.m4 R processors/ARM/gdb-7.10/sim/common/callback.c R processors/ARM/gdb-7.10/sim/common/cgen-accfp.c R processors/ARM/gdb-7.10/sim/common/cgen-cpu.h R processors/ARM/gdb-7.10/sim/common/cgen-defs.h R processors/ARM/gdb-7.10/sim/common/cgen-engine.h R processors/ARM/gdb-7.10/sim/common/cgen-fpu.c R processors/ARM/gdb-7.10/sim/common/cgen-fpu.h R processors/ARM/gdb-7.10/sim/common/cgen-mem.h R processors/ARM/gdb-7.10/sim/common/cgen-ops.h R processors/ARM/gdb-7.10/sim/common/cgen-par.c R processors/ARM/gdb-7.10/sim/common/cgen-par.h R processors/ARM/gdb-7.10/sim/common/cgen-run.c R processors/ARM/gdb-7.10/sim/common/cgen-scache.c R processors/ARM/gdb-7.10/sim/common/cgen-scache.h R processors/ARM/gdb-7.10/sim/common/cgen-sim.h R processors/ARM/gdb-7.10/sim/common/cgen-trace.c R processors/ARM/gdb-7.10/sim/common/cgen-trace.h R processors/ARM/gdb-7.10/sim/common/cgen-types.h R processors/ARM/gdb-7.10/sim/common/cgen-utils.c R processors/ARM/gdb-7.10/sim/common/cgen.sh R processors/ARM/gdb-7.10/sim/common/config.in R processors/ARM/gdb-7.10/sim/common/configure R processors/ARM/gdb-7.10/sim/common/configure.ac R processors/ARM/gdb-7.10/sim/common/dv-cfi.c R processors/ARM/gdb-7.10/sim/common/dv-cfi.h R processors/ARM/gdb-7.10/sim/common/dv-core.c R processors/ARM/gdb-7.10/sim/common/dv-glue.c R processors/ARM/gdb-7.10/sim/common/dv-pal.c R processors/ARM/gdb-7.10/sim/common/dv-sockser.c R processors/ARM/gdb-7.10/sim/common/dv-sockser.h R processors/ARM/gdb-7.10/sim/common/gdbinit.in R processors/ARM/gdb-7.10/sim/common/genmloop.sh R processors/ARM/gdb-7.10/sim/common/gennltvals.sh R processors/ARM/gdb-7.10/sim/common/gentmap.c R processors/ARM/gdb-7.10/sim/common/gentvals.sh R processors/ARM/gdb-7.10/sim/common/hw-alloc.c R processors/ARM/gdb-7.10/sim/common/hw-alloc.h R processors/ARM/gdb-7.10/sim/common/hw-base.c R processors/ARM/gdb-7.10/sim/common/hw-base.h R processors/ARM/gdb-7.10/sim/common/hw-device.c R processors/ARM/gdb-7.10/sim/common/hw-device.h R processors/ARM/gdb-7.10/sim/common/hw-events.c R processors/ARM/gdb-7.10/sim/common/hw-events.h R processors/ARM/gdb-7.10/sim/common/hw-handles.c R processors/ARM/gdb-7.10/sim/common/hw-handles.h R processors/ARM/gdb-7.10/sim/common/hw-instances.c R processors/ARM/gdb-7.10/sim/common/hw-instances.h R processors/ARM/gdb-7.10/sim/common/hw-main.h R processors/ARM/gdb-7.10/sim/common/hw-ports.c R processors/ARM/gdb-7.10/sim/common/hw-ports.h R processors/ARM/gdb-7.10/sim/common/hw-properties.c R processors/ARM/gdb-7.10/sim/common/hw-properties.h R processors/ARM/gdb-7.10/sim/common/hw-tree.c R processors/ARM/gdb-7.10/sim/common/hw-tree.h R processors/ARM/gdb-7.10/sim/common/libtool R processors/ARM/gdb-7.10/sim/common/nltvals.def R processors/ARM/gdb-7.10/sim/common/nrun.c R processors/ARM/gdb-7.10/sim/common/run.1 R processors/ARM/gdb-7.10/sim/common/sim-abort.c R processors/ARM/gdb-7.10/sim/common/sim-alu.h R processors/ARM/gdb-7.10/sim/common/sim-arange.c R processors/ARM/gdb-7.10/sim/common/sim-arange.h R processors/ARM/gdb-7.10/sim/common/sim-assert.h R processors/ARM/gdb-7.10/sim/common/sim-base.h R processors/ARM/gdb-7.10/sim/common/sim-basics.h R processors/ARM/gdb-7.10/sim/common/sim-bits.c R processors/ARM/gdb-7.10/sim/common/sim-bits.h R processors/ARM/gdb-7.10/sim/common/sim-command.c R processors/ARM/gdb-7.10/sim/common/sim-config.c R processors/ARM/gdb-7.10/sim/common/sim-config.h R processors/ARM/gdb-7.10/sim/common/sim-core.c R processors/ARM/gdb-7.10/sim/common/sim-core.h R processors/ARM/gdb-7.10/sim/common/sim-cpu.c R processors/ARM/gdb-7.10/sim/common/sim-cpu.h R processors/ARM/gdb-7.10/sim/common/sim-endian.c R processors/ARM/gdb-7.10/sim/common/sim-endian.h R processors/ARM/gdb-7.10/sim/common/sim-engine.c R processors/ARM/gdb-7.10/sim/common/sim-engine.h R processors/ARM/gdb-7.10/sim/common/sim-events.c R processors/ARM/gdb-7.10/sim/common/sim-events.h R processors/ARM/gdb-7.10/sim/common/sim-fpu.c R processors/ARM/gdb-7.10/sim/common/sim-fpu.h R processors/ARM/gdb-7.10/sim/common/sim-hload.c R processors/ARM/gdb-7.10/sim/common/sim-hrw.c R processors/ARM/gdb-7.10/sim/common/sim-hw.c R processors/ARM/gdb-7.10/sim/common/sim-hw.h R processors/ARM/gdb-7.10/sim/common/sim-info.c R processors/ARM/gdb-7.10/sim/common/sim-inline.c R processors/ARM/gdb-7.10/sim/common/sim-inline.h R processors/ARM/gdb-7.10/sim/common/sim-io.c R processors/ARM/gdb-7.10/sim/common/sim-io.h R processors/ARM/gdb-7.10/sim/common/sim-load.c R processors/ARM/gdb-7.10/sim/common/sim-memopt.c R processors/ARM/gdb-7.10/sim/common/sim-memopt.h R processors/ARM/gdb-7.10/sim/common/sim-model.c R processors/ARM/gdb-7.10/sim/common/sim-model.h R processors/ARM/gdb-7.10/sim/common/sim-module.c R processors/ARM/gdb-7.10/sim/common/sim-module.h R processors/ARM/gdb-7.10/sim/common/sim-n-bits.h R processors/ARM/gdb-7.10/sim/common/sim-n-core.h R processors/ARM/gdb-7.10/sim/common/sim-n-endian.h R processors/ARM/gdb-7.10/sim/common/sim-options.c R processors/ARM/gdb-7.10/sim/common/sim-options.h R processors/ARM/gdb-7.10/sim/common/sim-profile.c R processors/ARM/gdb-7.10/sim/common/sim-profile.h R processors/ARM/gdb-7.10/sim/common/sim-reason.c R processors/ARM/gdb-7.10/sim/common/sim-reg.c R processors/ARM/gdb-7.10/sim/common/sim-resume.c R processors/ARM/gdb-7.10/sim/common/sim-run.c R processors/ARM/gdb-7.10/sim/common/sim-signal.c R processors/ARM/gdb-7.10/sim/common/sim-signal.h R processors/ARM/gdb-7.10/sim/common/sim-stop.c R processors/ARM/gdb-7.10/sim/common/sim-syscall.c R processors/ARM/gdb-7.10/sim/common/sim-syscall.h R processors/ARM/gdb-7.10/sim/common/sim-trace.c R processors/ARM/gdb-7.10/sim/common/sim-trace.h R processors/ARM/gdb-7.10/sim/common/sim-types.h R processors/ARM/gdb-7.10/sim/common/sim-utils.c R processors/ARM/gdb-7.10/sim/common/sim-utils.h R processors/ARM/gdb-7.10/sim/common/sim-watch.c R processors/ARM/gdb-7.10/sim/common/sim-watch.h R processors/ARM/gdb-7.10/sim/common/syscall.c R processors/ARM/gdb-7.10/sim/common/tconfig.h R processors/ARM/gdb-7.10/sim/common/version.h R processors/ARM/gdb-7.10/sim/configure R processors/ARM/gdb-7.10/sim/configure.ac R processors/ARM/gdb-7.10/sim/configure.tgt R processors/ARM/gdb-7.10/sim/cr16/ChangeLog R processors/ARM/gdb-7.10/sim/cr16/Makefile.in R processors/ARM/gdb-7.10/sim/cr16/aclocal.m4 R processors/ARM/gdb-7.10/sim/cr16/config.in R processors/ARM/gdb-7.10/sim/cr16/configure R processors/ARM/gdb-7.10/sim/cr16/configure.ac R processors/ARM/gdb-7.10/sim/cr16/cr16_sim.h R processors/ARM/gdb-7.10/sim/cr16/endian.c R processors/ARM/gdb-7.10/sim/cr16/gencode.c R processors/ARM/gdb-7.10/sim/cr16/interp.c R processors/ARM/gdb-7.10/sim/cr16/sim-main.h R processors/ARM/gdb-7.10/sim/cr16/simops.c R processors/ARM/gdb-7.10/sim/cris/ChangeLog R processors/ARM/gdb-7.10/sim/cris/Makefile.in R processors/ARM/gdb-7.10/sim/cris/aclocal.m4 R processors/ARM/gdb-7.10/sim/cris/arch.c R processors/ARM/gdb-7.10/sim/cris/arch.h R processors/ARM/gdb-7.10/sim/cris/config.in R processors/ARM/gdb-7.10/sim/cris/configure R processors/ARM/gdb-7.10/sim/cris/configure.ac R processors/ARM/gdb-7.10/sim/cris/cpuall.h R processors/ARM/gdb-7.10/sim/cris/cpuv10.c R processors/ARM/gdb-7.10/sim/cris/cpuv10.h R processors/ARM/gdb-7.10/sim/cris/cpuv32.c R processors/ARM/gdb-7.10/sim/cris/cpuv32.h R processors/ARM/gdb-7.10/sim/cris/cris-desc.c R processors/ARM/gdb-7.10/sim/cris/cris-desc.h R processors/ARM/gdb-7.10/sim/cris/cris-opc.h R processors/ARM/gdb-7.10/sim/cris/cris-sim.h R processors/ARM/gdb-7.10/sim/cris/cris-tmpl.c R processors/ARM/gdb-7.10/sim/cris/crisv10f.c R processors/ARM/gdb-7.10/sim/cris/crisv32f.c R processors/ARM/gdb-7.10/sim/cris/decodev10.c R processors/ARM/gdb-7.10/sim/cris/decodev10.h R processors/ARM/gdb-7.10/sim/cris/decodev32.c R processors/ARM/gdb-7.10/sim/cris/decodev32.h R processors/ARM/gdb-7.10/sim/cris/devices.c R processors/ARM/gdb-7.10/sim/cris/dv-cris.c R processors/ARM/gdb-7.10/sim/cris/dv-rv.c R processors/ARM/gdb-7.10/sim/cris/mloop.in R processors/ARM/gdb-7.10/sim/cris/modelv10.c R processors/ARM/gdb-7.10/sim/cris/modelv32.c R processors/ARM/gdb-7.10/sim/cris/rvdummy.c R processors/ARM/gdb-7.10/sim/cris/semcrisv10f-switch.c R processors/ARM/gdb-7.10/sim/cris/semcrisv32f-switch.c R processors/ARM/gdb-7.10/sim/cris/sim-if.c R processors/ARM/gdb-7.10/sim/cris/sim-main.h R processors/ARM/gdb-7.10/sim/cris/tconfig.h R processors/ARM/gdb-7.10/sim/cris/traps.c R processors/ARM/gdb-7.10/sim/d10v/ChangeLog R processors/ARM/gdb-7.10/sim/d10v/Makefile.in R processors/ARM/gdb-7.10/sim/d10v/aclocal.m4 R processors/ARM/gdb-7.10/sim/d10v/config.in R processors/ARM/gdb-7.10/sim/d10v/configure R processors/ARM/gdb-7.10/sim/d10v/configure.ac R processors/ARM/gdb-7.10/sim/d10v/d10v_sim.h R processors/ARM/gdb-7.10/sim/d10v/endian.c R processors/ARM/gdb-7.10/sim/d10v/gencode.c R processors/ARM/gdb-7.10/sim/d10v/interp.c R processors/ARM/gdb-7.10/sim/d10v/sim-main.h R processors/ARM/gdb-7.10/sim/d10v/simops.c R processors/ARM/gdb-7.10/sim/erc32/ChangeLog R processors/ARM/gdb-7.10/sim/erc32/Makefile.in R processors/ARM/gdb-7.10/sim/erc32/NEWS R processors/ARM/gdb-7.10/sim/erc32/README.erc32 R processors/ARM/gdb-7.10/sim/erc32/README.gdb R processors/ARM/gdb-7.10/sim/erc32/README.sis R processors/ARM/gdb-7.10/sim/erc32/aclocal.m4 R processors/ARM/gdb-7.10/sim/erc32/config.in R processors/ARM/gdb-7.10/sim/erc32/configure R processors/ARM/gdb-7.10/sim/erc32/configure.ac R processors/ARM/gdb-7.10/sim/erc32/erc32.c R processors/ARM/gdb-7.10/sim/erc32/exec.c R processors/ARM/gdb-7.10/sim/erc32/float.c R processors/ARM/gdb-7.10/sim/erc32/func.c R processors/ARM/gdb-7.10/sim/erc32/help.c R processors/ARM/gdb-7.10/sim/erc32/interf.c R processors/ARM/gdb-7.10/sim/erc32/sis.c R processors/ARM/gdb-7.10/sim/erc32/sis.h R processors/ARM/gdb-7.10/sim/erc32/startsim R processors/ARM/gdb-7.10/sim/frv/ChangeLog R processors/ARM/gdb-7.10/sim/frv/Makefile.in R processors/ARM/gdb-7.10/sim/frv/README R processors/ARM/gdb-7.10/sim/frv/TODO R processors/ARM/gdb-7.10/sim/frv/aclocal.m4 R processors/ARM/gdb-7.10/sim/frv/arch.c R processors/ARM/gdb-7.10/sim/frv/arch.h R processors/ARM/gdb-7.10/sim/frv/cache.c R processors/ARM/gdb-7.10/sim/frv/cache.h R processors/ARM/gdb-7.10/sim/frv/config.in R processors/ARM/gdb-7.10/sim/frv/configure R processors/ARM/gdb-7.10/sim/frv/configure.ac R processors/ARM/gdb-7.10/sim/frv/cpu.c R processors/ARM/gdb-7.10/sim/frv/cpu.h R processors/ARM/gdb-7.10/sim/frv/cpuall.h R processors/ARM/gdb-7.10/sim/frv/decode.c R processors/ARM/gdb-7.10/sim/frv/decode.h R processors/ARM/gdb-7.10/sim/frv/devices.c R processors/ARM/gdb-7.10/sim/frv/frv-sim.h R processors/ARM/gdb-7.10/sim/frv/frv.c R processors/ARM/gdb-7.10/sim/frv/interrupts.c R processors/ARM/gdb-7.10/sim/frv/memory.c R processors/ARM/gdb-7.10/sim/frv/mloop.in R processors/ARM/gdb-7.10/sim/frv/model.c R processors/ARM/gdb-7.10/sim/frv/options.c R processors/ARM/gdb-7.10/sim/frv/pipeline.c R processors/ARM/gdb-7.10/sim/frv/profile-fr400.c R processors/ARM/gdb-7.10/sim/frv/profile-fr400.h R processors/ARM/gdb-7.10/sim/frv/profile-fr450.c R processors/ARM/gdb-7.10/sim/frv/profile-fr500.c R processors/ARM/gdb-7.10/sim/frv/profile-fr500.h R processors/ARM/gdb-7.10/sim/frv/profile-fr550.c R processors/ARM/gdb-7.10/sim/frv/profile-fr550.h R processors/ARM/gdb-7.10/sim/frv/profile.c R processors/ARM/gdb-7.10/sim/frv/profile.h R processors/ARM/gdb-7.10/sim/frv/registers.c R processors/ARM/gdb-7.10/sim/frv/registers.h R processors/ARM/gdb-7.10/sim/frv/reset.c R processors/ARM/gdb-7.10/sim/frv/sem.c R processors/ARM/gdb-7.10/sim/frv/sim-if.c R processors/ARM/gdb-7.10/sim/frv/sim-main.h R processors/ARM/gdb-7.10/sim/frv/tconfig.h R processors/ARM/gdb-7.10/sim/frv/traps.c R processors/ARM/gdb-7.10/sim/ft32/ChangeLog R processors/ARM/gdb-7.10/sim/ft32/Makefile.in R processors/ARM/gdb-7.10/sim/ft32/aclocal.m4 R processors/ARM/gdb-7.10/sim/ft32/config.in R processors/ARM/gdb-7.10/sim/ft32/configure R processors/ARM/gdb-7.10/sim/ft32/configure.ac R processors/ARM/gdb-7.10/sim/ft32/ft32-sim.h R processors/ARM/gdb-7.10/sim/ft32/interp.c R processors/ARM/gdb-7.10/sim/ft32/sim-main.h R processors/ARM/gdb-7.10/sim/h8300/ChangeLog R processors/ARM/gdb-7.10/sim/h8300/Makefile.in R processors/ARM/gdb-7.10/sim/h8300/aclocal.m4 R processors/ARM/gdb-7.10/sim/h8300/compile.c R processors/ARM/gdb-7.10/sim/h8300/config.in R processors/ARM/gdb-7.10/sim/h8300/configure R processors/ARM/gdb-7.10/sim/h8300/configure.ac R processors/ARM/gdb-7.10/sim/h8300/inst.h R processors/ARM/gdb-7.10/sim/h8300/sim-main.h R processors/ARM/gdb-7.10/sim/h8300/tconfig.h R processors/ARM/gdb-7.10/sim/h8300/writecode.c R processors/ARM/gdb-7.10/sim/igen/ChangeLog R processors/ARM/gdb-7.10/sim/igen/Makefile.in R processors/ARM/gdb-7.10/sim/igen/compare_igen_models R processors/ARM/gdb-7.10/sim/igen/config.in R processors/ARM/gdb-7.10/sim/igen/configure R processors/ARM/gdb-7.10/sim/igen/configure.ac R processors/ARM/gdb-7.10/sim/igen/filter.c R processors/ARM/gdb-7.10/sim/igen/filter.h R processors/ARM/gdb-7.10/sim/igen/filter_host.c R processors/ARM/gdb-7.10/sim/igen/filter_host.h R processors/ARM/gdb-7.10/sim/igen/gen-engine.c R processors/ARM/gdb-7.10/sim/igen/gen-engine.h R processors/ARM/gdb-7.10/sim/igen/gen-icache.c R processors/ARM/gdb-7.10/sim/igen/gen-icache.h R processors/ARM/gdb-7.10/sim/igen/gen-idecode.c R processors/ARM/gdb-7.10/sim/igen/gen-idecode.h R processors/ARM/gdb-7.10/sim/igen/gen-itable.c R processors/ARM/gdb-7.10/sim/igen/gen-itable.h R processors/ARM/gdb-7.10/sim/igen/gen-model.c R processors/ARM/gdb-7.10/sim/igen/gen-model.h R processors/ARM/gdb-7.10/sim/igen/gen-semantics.c R processors/ARM/gdb-7.10/sim/igen/gen-semantics.h R processors/ARM/gdb-7.10/sim/igen/gen-support.c R processors/ARM/gdb-7.10/sim/igen/gen-support.h R processors/ARM/gdb-7.10/sim/igen/gen.c R processors/ARM/gdb-7.10/sim/igen/gen.h R processors/ARM/gdb-7.10/sim/igen/igen.c R processors/ARM/gdb-7.10/sim/igen/igen.h R processors/ARM/gdb-7.10/sim/igen/ld-cache.c R processors/ARM/gdb-7.10/sim/igen/ld-cache.h R processors/ARM/gdb-7.10/sim/igen/ld-decode.c R processors/ARM/gdb-7.10/sim/igen/ld-decode.h R processors/ARM/gdb-7.10/sim/igen/ld-insn.c R processors/ARM/gdb-7.10/sim/igen/ld-insn.h R processors/ARM/gdb-7.10/sim/igen/lf.c R processors/ARM/gdb-7.10/sim/igen/lf.h R processors/ARM/gdb-7.10/sim/igen/misc.c R processors/ARM/gdb-7.10/sim/igen/misc.h R processors/ARM/gdb-7.10/sim/igen/table.c R processors/ARM/gdb-7.10/sim/igen/table.h R processors/ARM/gdb-7.10/sim/iq2000/ChangeLog R processors/ARM/gdb-7.10/sim/iq2000/Makefile.in R processors/ARM/gdb-7.10/sim/iq2000/aclocal.m4 R processors/ARM/gdb-7.10/sim/iq2000/arch.c R processors/ARM/gdb-7.10/sim/iq2000/arch.h R processors/ARM/gdb-7.10/sim/iq2000/config.in R processors/ARM/gdb-7.10/sim/iq2000/configure R processors/ARM/gdb-7.10/sim/iq2000/configure.ac R processors/ARM/gdb-7.10/sim/iq2000/cpu.c R processors/ARM/gdb-7.10/sim/iq2000/cpu.h R processors/ARM/gdb-7.10/sim/iq2000/cpuall.h R processors/ARM/gdb-7.10/sim/iq2000/decode.c R processors/ARM/gdb-7.10/sim/iq2000/decode.h R processors/ARM/gdb-7.10/sim/iq2000/iq2000-sim.h R processors/ARM/gdb-7.10/sim/iq2000/iq2000.c R processors/ARM/gdb-7.10/sim/iq2000/mloop.in R processors/ARM/gdb-7.10/sim/iq2000/model.c R processors/ARM/gdb-7.10/sim/iq2000/sem-switch.c R processors/ARM/gdb-7.10/sim/iq2000/sem.c R processors/ARM/gdb-7.10/sim/iq2000/sim-if.c R processors/ARM/gdb-7.10/sim/iq2000/sim-main.h R processors/ARM/gdb-7.10/sim/iq2000/tconfig.h R processors/ARM/gdb-7.10/sim/lm32/ChangeLog R processors/ARM/gdb-7.10/sim/lm32/Makefile.in R processors/ARM/gdb-7.10/sim/lm32/aclocal.m4 R processors/ARM/gdb-7.10/sim/lm32/arch.c R processors/ARM/gdb-7.10/sim/lm32/arch.h R processors/ARM/gdb-7.10/sim/lm32/config.in R processors/ARM/gdb-7.10/sim/lm32/configure R processors/ARM/gdb-7.10/sim/lm32/configure.ac R processors/ARM/gdb-7.10/sim/lm32/cpu.c R processors/ARM/gdb-7.10/sim/lm32/cpu.h R processors/ARM/gdb-7.10/sim/lm32/cpuall.h R processors/ARM/gdb-7.10/sim/lm32/decode.c R processors/ARM/gdb-7.10/sim/lm32/decode.h R processors/ARM/gdb-7.10/sim/lm32/dv-lm32cpu.c R processors/ARM/gdb-7.10/sim/lm32/dv-lm32timer.c R processors/ARM/gdb-7.10/sim/lm32/dv-lm32uart.c R processors/ARM/gdb-7.10/sim/lm32/lm32-sim.h R processors/ARM/gdb-7.10/sim/lm32/lm32.c R processors/ARM/gdb-7.10/sim/lm32/mloop.in R processors/ARM/gdb-7.10/sim/lm32/model.c R processors/ARM/gdb-7.10/sim/lm32/sem-switch.c R processors/ARM/gdb-7.10/sim/lm32/sem.c R processors/ARM/gdb-7.10/sim/lm32/sim-if.c R processors/ARM/gdb-7.10/sim/lm32/sim-main.h R processors/ARM/gdb-7.10/sim/lm32/tconfig.h R processors/ARM/gdb-7.10/sim/lm32/traps.c R processors/ARM/gdb-7.10/sim/lm32/user.c R processors/ARM/gdb-7.10/sim/m32c/ChangeLog R processors/ARM/gdb-7.10/sim/m32c/Makefile.in R processors/ARM/gdb-7.10/sim/m32c/aclocal.m4 R processors/ARM/gdb-7.10/sim/m32c/blinky.S R processors/ARM/gdb-7.10/sim/m32c/config.in R processors/ARM/gdb-7.10/sim/m32c/configure R processors/ARM/gdb-7.10/sim/m32c/configure.ac R processors/ARM/gdb-7.10/sim/m32c/cpu.h R processors/ARM/gdb-7.10/sim/m32c/gdb-if.c R processors/ARM/gdb-7.10/sim/m32c/gloss.S R processors/ARM/gdb-7.10/sim/m32c/int.c R processors/ARM/gdb-7.10/sim/m32c/int.h R processors/ARM/gdb-7.10/sim/m32c/load.c R processors/ARM/gdb-7.10/sim/m32c/load.h R processors/ARM/gdb-7.10/sim/m32c/m32c.opc R processors/ARM/gdb-7.10/sim/m32c/main.c R processors/ARM/gdb-7.10/sim/m32c/mem.c R processors/ARM/gdb-7.10/sim/m32c/mem.h R processors/ARM/gdb-7.10/sim/m32c/misc.c R processors/ARM/gdb-7.10/sim/m32c/misc.h R processors/ARM/gdb-7.10/sim/m32c/opc2c.c R processors/ARM/gdb-7.10/sim/m32c/r8c.opc R processors/ARM/gdb-7.10/sim/m32c/reg.c R processors/ARM/gdb-7.10/sim/m32c/safe-fgets.c R processors/ARM/gdb-7.10/sim/m32c/safe-fgets.h R processors/ARM/gdb-7.10/sim/m32c/sample.S R processors/ARM/gdb-7.10/sim/m32c/sample.ld R processors/ARM/gdb-7.10/sim/m32c/sample2.c R processors/ARM/gdb-7.10/sim/m32c/srcdest.c R processors/ARM/gdb-7.10/sim/m32c/syscall.h R processors/ARM/gdb-7.10/sim/m32c/syscalls.c R processors/ARM/gdb-7.10/sim/m32c/syscalls.h R processors/ARM/gdb-7.10/sim/m32c/timer_a.h R processors/ARM/gdb-7.10/sim/m32c/trace.c R processors/ARM/gdb-7.10/sim/m32c/trace.h R processors/ARM/gdb-7.10/sim/m32r/ChangeLog R processors/ARM/gdb-7.10/sim/m32r/Makefile.in R processors/ARM/gdb-7.10/sim/m32r/README R processors/ARM/gdb-7.10/sim/m32r/TODO R processors/ARM/gdb-7.10/sim/m32r/aclocal.m4 R processors/ARM/gdb-7.10/sim/m32r/arch.c R processors/ARM/gdb-7.10/sim/m32r/arch.h R processors/ARM/gdb-7.10/sim/m32r/config.in R processors/ARM/gdb-7.10/sim/m32r/configure R processors/ARM/gdb-7.10/sim/m32r/configure.ac R processors/ARM/gdb-7.10/sim/m32r/cpu.c R processors/ARM/gdb-7.10/sim/m32r/cpu.h R processors/ARM/gdb-7.10/sim/m32r/cpu2.c R processors/ARM/gdb-7.10/sim/m32r/cpu2.h R processors/ARM/gdb-7.10/sim/m32r/cpuall.h R processors/ARM/gdb-7.10/sim/m32r/cpux.c R processors/ARM/gdb-7.10/sim/m32r/cpux.h R processors/ARM/gdb-7.10/sim/m32r/decode.c R processors/ARM/gdb-7.10/sim/m32r/decode.h R processors/ARM/gdb-7.10/sim/m32r/decode2.c R processors/ARM/gdb-7.10/sim/m32r/decode2.h R processors/ARM/gdb-7.10/sim/m32r/decodex.c R processors/ARM/gdb-7.10/sim/m32r/decodex.h R processors/ARM/gdb-7.10/sim/m32r/devices.c R processors/ARM/gdb-7.10/sim/m32r/m32r-sim.h R processors/ARM/gdb-7.10/sim/m32r/m32r.c R processors/ARM/gdb-7.10/sim/m32r/m32r2.c R processors/ARM/gdb-7.10/sim/m32r/m32rx.c R processors/ARM/gdb-7.10/sim/m32r/mloop.in R processors/ARM/gdb-7.10/sim/m32r/mloop2.in R processors/ARM/gdb-7.10/sim/m32r/mloopx.in R processors/ARM/gdb-7.10/sim/m32r/model.c R processors/ARM/gdb-7.10/sim/m32r/model2.c R processors/ARM/gdb-7.10/sim/m32r/modelx.c R processors/ARM/gdb-7.10/sim/m32r/sem-switch.c R processors/ARM/gdb-7.10/sim/m32r/sem.c R processors/ARM/gdb-7.10/sim/m32r/sem2-switch.c R processors/ARM/gdb-7.10/sim/m32r/semx-switch.c R processors/ARM/gdb-7.10/sim/m32r/sim-if.c R processors/ARM/gdb-7.10/sim/m32r/sim-main.h R processors/ARM/gdb-7.10/sim/m32r/syscall.h R processors/ARM/gdb-7.10/sim/m32r/tconfig.h R processors/ARM/gdb-7.10/sim/m32r/traps-linux.c R processors/ARM/gdb-7.10/sim/m32r/traps.c R processors/ARM/gdb-7.10/sim/m68hc11/ChangeLog R processors/ARM/gdb-7.10/sim/m68hc11/Makefile.in R processors/ARM/gdb-7.10/sim/m68hc11/aclocal.m4 R processors/ARM/gdb-7.10/sim/m68hc11/config.in R processors/ARM/gdb-7.10/sim/m68hc11/configure R processors/ARM/gdb-7.10/sim/m68hc11/configure.ac R processors/ARM/gdb-7.10/sim/m68hc11/dv-m68hc11.c R processors/ARM/gdb-7.10/sim/m68hc11/dv-m68hc11eepr.c R processors/ARM/gdb-7.10/sim/m68hc11/dv-m68hc11sio.c R processors/ARM/gdb-7.10/sim/m68hc11/dv-m68hc11spi.c R processors/ARM/gdb-7.10/sim/m68hc11/dv-m68hc11tim.c R processors/ARM/gdb-7.10/sim/m68hc11/dv-nvram.c R processors/ARM/gdb-7.10/sim/m68hc11/emulos.c R processors/ARM/gdb-7.10/sim/m68hc11/gencode.c R processors/ARM/gdb-7.10/sim/m68hc11/interp.c R processors/ARM/gdb-7.10/sim/m68hc11/interrupts.c R processors/ARM/gdb-7.10/sim/m68hc11/interrupts.h R processors/ARM/gdb-7.10/sim/m68hc11/m68hc11_sim.c R processors/ARM/gdb-7.10/sim/m68hc11/sim-main.h R processors/ARM/gdb-7.10/sim/mcore/ChangeLog R processors/ARM/gdb-7.10/sim/mcore/Makefile.in R processors/ARM/gdb-7.10/sim/mcore/aclocal.m4 R processors/ARM/gdb-7.10/sim/mcore/config.in R processors/ARM/gdb-7.10/sim/mcore/configure R processors/ARM/gdb-7.10/sim/mcore/configure.ac R processors/ARM/gdb-7.10/sim/mcore/interp.c R processors/ARM/gdb-7.10/sim/mcore/sim-main.h R processors/ARM/gdb-7.10/sim/microblaze/ChangeLog R processors/ARM/gdb-7.10/sim/microblaze/Makefile.in R processors/ARM/gdb-7.10/sim/microblaze/aclocal.m4 R processors/ARM/gdb-7.10/sim/microblaze/config.in R processors/ARM/gdb-7.10/sim/microblaze/configure R processors/ARM/gdb-7.10/sim/microblaze/configure.ac R processors/ARM/gdb-7.10/sim/microblaze/interp.c R processors/ARM/gdb-7.10/sim/microblaze/microblaze.h R processors/ARM/gdb-7.10/sim/microblaze/microblaze.isa R processors/ARM/gdb-7.10/sim/microblaze/sim-main.h R processors/ARM/gdb-7.10/sim/mips/ChangeLog R processors/ARM/gdb-7.10/sim/mips/Makefile.in R processors/ARM/gdb-7.10/sim/mips/aclocal.m4 R processors/ARM/gdb-7.10/sim/mips/config.in R processors/ARM/gdb-7.10/sim/mips/configure R processors/ARM/gdb-7.10/sim/mips/configure.ac R processors/ARM/gdb-7.10/sim/mips/cp1.c R processors/ARM/gdb-7.10/sim/mips/cp1.h R processors/ARM/gdb-7.10/sim/mips/dsp.c R processors/ARM/gdb-7.10/sim/mips/dsp.igen R processors/ARM/gdb-7.10/sim/mips/dsp2.igen R processors/ARM/gdb-7.10/sim/mips/dv-tx3904cpu.c R processors/ARM/gdb-7.10/sim/mips/dv-tx3904irc.c R processors/ARM/gdb-7.10/sim/mips/dv-tx3904sio.c R processors/ARM/gdb-7.10/sim/mips/dv-tx3904tmr.c R processors/ARM/gdb-7.10/sim/mips/interp.c R processors/ARM/gdb-7.10/sim/mips/m16.dc R processors/ARM/gdb-7.10/sim/mips/m16.igen R processors/ARM/gdb-7.10/sim/mips/m16e.igen R processors/ARM/gdb-7.10/sim/mips/m16run.c R processors/ARM/gdb-7.10/sim/mips/mdmx.c R processors/ARM/gdb-7.10/sim/mips/mdmx.igen R processors/ARM/gdb-7.10/sim/mips/mips.dc R processors/ARM/gdb-7.10/sim/mips/mips.igen R processors/ARM/gdb-7.10/sim/mips/mips3264r2.igen R processors/ARM/gdb-7.10/sim/mips/mips3d.igen R processors/ARM/gdb-7.10/sim/mips/sb1.igen R processors/ARM/gdb-7.10/sim/mips/sim-main.c R processors/ARM/gdb-7.10/sim/mips/sim-main.h R processors/ARM/gdb-7.10/sim/mips/smartmips.igen R processors/ARM/gdb-7.10/sim/mips/tconfig.h R processors/ARM/gdb-7.10/sim/mips/tx.igen R processors/ARM/gdb-7.10/sim/mips/vr.igen R processors/ARM/gdb-7.10/sim/mn10300/ChangeLog R processors/ARM/gdb-7.10/sim/mn10300/Makefile.in R processors/ARM/gdb-7.10/sim/mn10300/aclocal.m4 R processors/ARM/gdb-7.10/sim/mn10300/am33-2.igen R processors/ARM/gdb-7.10/sim/mn10300/am33.igen R processors/ARM/gdb-7.10/sim/mn10300/config.in R processors/ARM/gdb-7.10/sim/mn10300/configure R processors/ARM/gdb-7.10/sim/mn10300/configure.ac R processors/ARM/gdb-7.10/sim/mn10300/dv-mn103cpu.c R processors/ARM/gdb-7.10/sim/mn10300/dv-mn103int.c R processors/ARM/gdb-7.10/sim/mn10300/dv-mn103iop.c R processors/ARM/gdb-7.10/sim/mn10300/dv-mn103ser.c R processors/ARM/gdb-7.10/sim/mn10300/dv-mn103tim.c R processors/ARM/gdb-7.10/sim/mn10300/interp.c R processors/ARM/gdb-7.10/sim/mn10300/mn10300.dc R processors/ARM/gdb-7.10/sim/mn10300/mn10300.igen R processors/ARM/gdb-7.10/sim/mn10300/mn10300_sim.h R processors/ARM/gdb-7.10/sim/mn10300/op_utils.c R processors/ARM/gdb-7.10/sim/mn10300/sim-main.c R processors/ARM/gdb-7.10/sim/mn10300/sim-main.h R processors/ARM/gdb-7.10/sim/moxie/ChangeLog R processors/ARM/gdb-7.10/sim/moxie/Makefile.in R processors/ARM/gdb-7.10/sim/moxie/aclocal.m4 R processors/ARM/gdb-7.10/sim/moxie/config.in R processors/ARM/gdb-7.10/sim/moxie/configure R processors/ARM/gdb-7.10/sim/moxie/configure.ac R processors/ARM/gdb-7.10/sim/moxie/interp.c R processors/ARM/gdb-7.10/sim/moxie/moxie-gdb.dts R processors/ARM/gdb-7.10/sim/moxie/sim-main.h R processors/ARM/gdb-7.10/sim/msp430/ChangeLog R processors/ARM/gdb-7.10/sim/msp430/Makefile.in R processors/ARM/gdb-7.10/sim/msp430/aclocal.m4 R processors/ARM/gdb-7.10/sim/msp430/config.in R processors/ARM/gdb-7.10/sim/msp430/configure R processors/ARM/gdb-7.10/sim/msp430/configure.ac R processors/ARM/gdb-7.10/sim/msp430/msp430-sim.c R processors/ARM/gdb-7.10/sim/msp430/msp430-sim.h R processors/ARM/gdb-7.10/sim/msp430/sim-main.h R processors/ARM/gdb-7.10/sim/msp430/trace.c R processors/ARM/gdb-7.10/sim/msp430/trace.h R processors/ARM/gdb-7.10/sim/ppc/.gdbinit R processors/ARM/gdb-7.10/sim/ppc/BUGS R processors/ARM/gdb-7.10/sim/ppc/COPYING R processors/ARM/gdb-7.10/sim/ppc/COPYING.LIB R processors/ARM/gdb-7.10/sim/ppc/ChangeLog R processors/ARM/gdb-7.10/sim/ppc/ChangeLog.00 R processors/ARM/gdb-7.10/sim/ppc/INSTALL R processors/ARM/gdb-7.10/sim/ppc/Makefile.in R processors/ARM/gdb-7.10/sim/ppc/README R processors/ARM/gdb-7.10/sim/ppc/RUN R processors/ARM/gdb-7.10/sim/ppc/aclocal.m4 R processors/ARM/gdb-7.10/sim/ppc/altivec.igen R processors/ARM/gdb-7.10/sim/ppc/altivec_expression.h R processors/ARM/gdb-7.10/sim/ppc/altivec_registers.h R processors/ARM/gdb-7.10/sim/ppc/basics.h R processors/ARM/gdb-7.10/sim/ppc/bits.c R processors/ARM/gdb-7.10/sim/ppc/bits.h R processors/ARM/gdb-7.10/sim/ppc/cap.c R processors/ARM/gdb-7.10/sim/ppc/cap.h R processors/ARM/gdb-7.10/sim/ppc/config.in R processors/ARM/gdb-7.10/sim/ppc/configure R processors/ARM/gdb-7.10/sim/ppc/configure.ac R processors/ARM/gdb-7.10/sim/ppc/corefile-n.h R processors/ARM/gdb-7.10/sim/ppc/corefile.c R processors/ARM/gdb-7.10/sim/ppc/corefile.h R processors/ARM/gdb-7.10/sim/ppc/cpu.c R processors/ARM/gdb-7.10/sim/ppc/cpu.h R processors/ARM/gdb-7.10/sim/ppc/dc-complex R processors/ARM/gdb-7.10/sim/ppc/dc-simple R processors/ARM/gdb-7.10/sim/ppc/dc-stupid R processors/ARM/gdb-7.10/sim/ppc/dc-test.01 R processors/ARM/gdb-7.10/sim/ppc/dc-test.02 R processors/ARM/gdb-7.10/sim/ppc/debug.c R processors/ARM/gdb-7.10/sim/ppc/debug.h R processors/ARM/gdb-7.10/sim/ppc/device.c R processors/ARM/gdb-7.10/sim/ppc/device.h R processors/ARM/gdb-7.10/sim/ppc/device_table.c R processors/ARM/gdb-7.10/sim/ppc/device_table.h R processors/ARM/gdb-7.10/sim/ppc/dgen.c R processors/ARM/gdb-7.10/sim/ppc/double.c R processors/ARM/gdb-7.10/sim/ppc/dp-bit.c R processors/ARM/gdb-7.10/sim/ppc/e500.igen R processors/ARM/gdb-7.10/sim/ppc/e500_expression.h R processors/ARM/gdb-7.10/sim/ppc/e500_registers.h R processors/ARM/gdb-7.10/sim/ppc/emul_bugapi.c R processors/ARM/gdb-7.10/sim/ppc/emul_bugapi.h R processors/ARM/gdb-7.10/sim/ppc/emul_chirp.c R processors/ARM/gdb-7.10/sim/ppc/emul_chirp.h R processors/ARM/gdb-7.10/sim/ppc/emul_generic.c R processors/ARM/gdb-7.10/sim/ppc/emul_generic.h R processors/ARM/gdb-7.10/sim/ppc/emul_netbsd.c R processors/ARM/gdb-7.10/sim/ppc/emul_netbsd.h R processors/ARM/gdb-7.10/sim/ppc/emul_unix.c R processors/ARM/gdb-7.10/sim/ppc/emul_unix.h R processors/ARM/gdb-7.10/sim/ppc/events.c R processors/ARM/gdb-7.10/sim/ppc/events.h R processors/ARM/gdb-7.10/sim/ppc/filter.c R processors/ARM/gdb-7.10/sim/ppc/filter.h R processors/ARM/gdb-7.10/sim/ppc/filter_filename.c R processors/ARM/gdb-7.10/sim/ppc/filter_filename.h R processors/ARM/gdb-7.10/sim/ppc/gdb-sim.c R processors/ARM/gdb-7.10/sim/ppc/gen-icache.c R processors/ARM/gdb-7.10/sim/ppc/gen-icache.h R processors/ARM/gdb-7.10/sim/ppc/gen-idecode.c R processors/ARM/gdb-7.10/sim/ppc/gen-idecode.h R processors/ARM/gdb-7.10/sim/ppc/gen-itable.c R processors/ARM/gdb-7.10/sim/ppc/gen-itable.h R processors/ARM/gdb-7.10/sim/ppc/gen-model.c R processors/ARM/gdb-7.10/sim/ppc/gen-model.h R processors/ARM/gdb-7.10/sim/ppc/gen-semantics.c R processors/ARM/gdb-7.10/sim/ppc/gen-semantics.h R processors/ARM/gdb-7.10/sim/ppc/gen-support.c R processors/ARM/gdb-7.10/sim/ppc/gen-support.h R processors/ARM/gdb-7.10/sim/ppc/hw_com.c R processors/ARM/gdb-7.10/sim/ppc/hw_core.c R processors/ARM/gdb-7.10/sim/ppc/hw_cpu.c R processors/ARM/gdb-7.10/sim/ppc/hw_cpu.h R processors/ARM/gdb-7.10/sim/ppc/hw_disk.c R processors/ARM/gdb-7.10/sim/ppc/hw_eeprom.c R processors/ARM/gdb-7.10/sim/ppc/hw_glue.c R processors/ARM/gdb-7.10/sim/ppc/hw_htab.c R processors/ARM/gdb-7.10/sim/ppc/hw_ide.c R processors/ARM/gdb-7.10/sim/ppc/hw_init.c R processors/ARM/gdb-7.10/sim/ppc/hw_iobus.c R processors/ARM/gdb-7.10/sim/ppc/hw_memory.c R processors/ARM/gdb-7.10/sim/ppc/hw_nvram.c R processors/ARM/gdb-7.10/sim/ppc/hw_opic.c R processors/ARM/gdb-7.10/sim/ppc/hw_pal.c R processors/ARM/gdb-7.10/sim/ppc/hw_phb.c R processors/ARM/gdb-7.10/sim/ppc/hw_phb.h R processors/ARM/gdb-7.10/sim/ppc/hw_register.c R processors/ARM/gdb-7.10/sim/ppc/hw_sem.c R processors/ARM/gdb-7.10/sim/ppc/hw_shm.c R processors/ARM/gdb-7.10/sim/ppc/hw_trace.c R processors/ARM/gdb-7.10/sim/ppc/hw_vm.c R processors/ARM/gdb-7.10/sim/ppc/idecode_branch.h R processors/ARM/gdb-7.10/sim/ppc/idecode_expression.h R processors/ARM/gdb-7.10/sim/ppc/idecode_fields.h R processors/ARM/gdb-7.10/sim/ppc/igen.c R processors/ARM/gdb-7.10/sim/ppc/igen.h R processors/ARM/gdb-7.10/sim/ppc/inline.c R processors/ARM/gdb-7.10/sim/ppc/inline.h R processors/ARM/gdb-7.10/sim/ppc/interrupts.c R processors/ARM/gdb-7.10/sim/ppc/interrupts.h R processors/ARM/gdb-7.10/sim/ppc/ld-cache.c R processors/ARM/gdb-7.10/sim/ppc/ld-cache.h R processors/ARM/gdb-7.10/sim/ppc/ld-decode.c R processors/ARM/gdb-7.10/sim/ppc/ld-decode.h R processors/ARM/gdb-7.10/sim/ppc/ld-insn.c R processors/ARM/gdb-7.10/sim/ppc/ld-insn.h R processors/ARM/gdb-7.10/sim/ppc/lf.c R processors/ARM/gdb-7.10/sim/ppc/lf.h R processors/ARM/gdb-7.10/sim/ppc/main.c R processors/ARM/gdb-7.10/sim/ppc/misc.c R processors/ARM/gdb-7.10/sim/ppc/misc.h R processors/ARM/gdb-7.10/sim/ppc/mon.c R processors/ARM/gdb-7.10/sim/ppc/mon.h R processors/ARM/gdb-7.10/sim/ppc/options.c R processors/ARM/gdb-7.10/sim/ppc/options.h R processors/ARM/gdb-7.10/sim/ppc/os_emul.c R processors/ARM/gdb-7.10/sim/ppc/os_emul.h R processors/ARM/gdb-7.10/sim/ppc/pk_disklabel.c R processors/ARM/gdb-7.10/sim/ppc/ppc-instructions R processors/ARM/gdb-7.10/sim/ppc/ppc-spr-table R processors/ARM/gdb-7.10/sim/ppc/ppc.mt R processors/ARM/gdb-7.10/sim/ppc/psim.c R processors/ARM/gdb-7.10/sim/ppc/psim.h R processors/ARM/gdb-7.10/sim/ppc/psim.texinfo R processors/ARM/gdb-7.10/sim/ppc/registers.c R processors/ARM/gdb-7.10/sim/ppc/registers.h R processors/ARM/gdb-7.10/sim/ppc/sim-endian-n.h R processors/ARM/gdb-7.10/sim/ppc/sim-endian.c R processors/ARM/gdb-7.10/sim/ppc/sim-endian.h R processors/ARM/gdb-7.10/sim/ppc/sim-main.h R processors/ARM/gdb-7.10/sim/ppc/sim_callbacks.h R processors/ARM/gdb-7.10/sim/ppc/sim_calls.c R processors/ARM/gdb-7.10/sim/ppc/std-config.h R processors/ARM/gdb-7.10/sim/ppc/table.c R processors/ARM/gdb-7.10/sim/ppc/table.h R processors/ARM/gdb-7.10/sim/ppc/tree.c R processors/ARM/gdb-7.10/sim/ppc/tree.h R processors/ARM/gdb-7.10/sim/ppc/vm.c R processors/ARM/gdb-7.10/sim/ppc/vm.h R processors/ARM/gdb-7.10/sim/ppc/vm_n.h R processors/ARM/gdb-7.10/sim/ppc/words.h R processors/ARM/gdb-7.10/sim/rl78/ChangeLog R processors/ARM/gdb-7.10/sim/rl78/Makefile.in R processors/ARM/gdb-7.10/sim/rl78/aclocal.m4 R processors/ARM/gdb-7.10/sim/rl78/config.in R processors/ARM/gdb-7.10/sim/rl78/configure R processors/ARM/gdb-7.10/sim/rl78/configure.ac R processors/ARM/gdb-7.10/sim/rl78/cpu.c R processors/ARM/gdb-7.10/sim/rl78/cpu.h R processors/ARM/gdb-7.10/sim/rl78/gdb-if.c R processors/ARM/gdb-7.10/sim/rl78/load.c R processors/ARM/gdb-7.10/sim/rl78/load.h R processors/ARM/gdb-7.10/sim/rl78/main.c R processors/ARM/gdb-7.10/sim/rl78/mem.c R processors/ARM/gdb-7.10/sim/rl78/mem.h R processors/ARM/gdb-7.10/sim/rl78/rl78.c R processors/ARM/gdb-7.10/sim/rl78/trace.c R processors/ARM/gdb-7.10/sim/rl78/trace.h R processors/ARM/gdb-7.10/sim/rx/ChangeLog R processors/ARM/gdb-7.10/sim/rx/Makefile.in R processors/ARM/gdb-7.10/sim/rx/README.txt R processors/ARM/gdb-7.10/sim/rx/aclocal.m4 R processors/ARM/gdb-7.10/sim/rx/config.in R processors/ARM/gdb-7.10/sim/rx/configure R processors/ARM/gdb-7.10/sim/rx/configure.ac R processors/ARM/gdb-7.10/sim/rx/cpu.h R processors/ARM/gdb-7.10/sim/rx/err.c R processors/ARM/gdb-7.10/sim/rx/err.h R processors/ARM/gdb-7.10/sim/rx/fpu.c R processors/ARM/gdb-7.10/sim/rx/fpu.h R processors/ARM/gdb-7.10/sim/rx/gdb-if.c R processors/ARM/gdb-7.10/sim/rx/load.c R processors/ARM/gdb-7.10/sim/rx/load.h R processors/ARM/gdb-7.10/sim/rx/main.c R processors/ARM/gdb-7.10/sim/rx/mem.c R processors/ARM/gdb-7.10/sim/rx/mem.h R processors/ARM/gdb-7.10/sim/rx/misc.c R processors/ARM/gdb-7.10/sim/rx/misc.h R processors/ARM/gdb-7.10/sim/rx/reg.c R processors/ARM/gdb-7.10/sim/rx/rx.c R processors/ARM/gdb-7.10/sim/rx/syscall.h R processors/ARM/gdb-7.10/sim/rx/syscalls.c R processors/ARM/gdb-7.10/sim/rx/syscalls.h R processors/ARM/gdb-7.10/sim/rx/trace.c R processors/ARM/gdb-7.10/sim/rx/trace.h R processors/ARM/gdb-7.10/sim/sh/ChangeLog R processors/ARM/gdb-7.10/sim/sh/Makefile.in R processors/ARM/gdb-7.10/sim/sh/aclocal.m4 R processors/ARM/gdb-7.10/sim/sh/config.in R processors/ARM/gdb-7.10/sim/sh/configure R processors/ARM/gdb-7.10/sim/sh/configure.ac R processors/ARM/gdb-7.10/sim/sh/gencode.c R processors/ARM/gdb-7.10/sim/sh/interp.c R processors/ARM/gdb-7.10/sim/sh/sim-main.h R processors/ARM/gdb-7.10/sim/sh/syscall.h R processors/ARM/gdb-7.10/sim/sh64/ChangeLog R processors/ARM/gdb-7.10/sim/sh64/Makefile.in R processors/ARM/gdb-7.10/sim/sh64/aclocal.m4 R processors/ARM/gdb-7.10/sim/sh64/arch.c R processors/ARM/gdb-7.10/sim/sh64/arch.h R processors/ARM/gdb-7.10/sim/sh64/config.in R processors/ARM/gdb-7.10/sim/sh64/configure R processors/ARM/gdb-7.10/sim/sh64/configure.ac R processors/ARM/gdb-7.10/sim/sh64/cpu.c R processors/ARM/gdb-7.10/sim/sh64/cpu.h R processors/ARM/gdb-7.10/sim/sh64/cpuall.h R processors/ARM/gdb-7.10/sim/sh64/decode-compact.c R processors/ARM/gdb-7.10/sim/sh64/decode-compact.h R processors/ARM/gdb-7.10/sim/sh64/decode-media.c R processors/ARM/gdb-7.10/sim/sh64/decode-media.h R processors/ARM/gdb-7.10/sim/sh64/decode.h R processors/ARM/gdb-7.10/sim/sh64/defs-compact.h R processors/ARM/gdb-7.10/sim/sh64/defs-media.h R processors/ARM/gdb-7.10/sim/sh64/eng-compact.h R processors/ARM/gdb-7.10/sim/sh64/eng-media.h R processors/ARM/gdb-7.10/sim/sh64/eng.h R processors/ARM/gdb-7.10/sim/sh64/mloop-compact.c R processors/ARM/gdb-7.10/sim/sh64/mloop-media.c R processors/ARM/gdb-7.10/sim/sh64/sem-compact-switch.c R processors/ARM/gdb-7.10/sim/sh64/sem-compact.c R processors/ARM/gdb-7.10/sim/sh64/sem-media-switch.c R processors/ARM/gdb-7.10/sim/sh64/sem-media.c R processors/ARM/gdb-7.10/sim/sh64/sh-desc.c R processors/ARM/gdb-7.10/sim/sh64/sh-desc.h R processors/ARM/gdb-7.10/sim/sh64/sh-opc.h R processors/ARM/gdb-7.10/sim/sh64/sh64-sim.h R processors/ARM/gdb-7.10/sim/sh64/sh64.c R processors/ARM/gdb-7.10/sim/sh64/sim-if.c R processors/ARM/gdb-7.10/sim/sh64/sim-main.h R processors/ARM/gdb-7.10/sim/sh64/tconfig.h R processors/ARM/gdb-7.10/sim/testsuite/.gitignore R processors/ARM/gdb-7.10/sim/testsuite/ChangeLog R processors/ARM/gdb-7.10/sim/testsuite/Makefile.in R processors/ARM/gdb-7.10/sim/testsuite/common/Make-common.in R processors/ARM/gdb-7.10/sim/testsuite/common/Makefile.in R processors/ARM/gdb-7.10/sim/testsuite/common/alu-n-tst.h R processors/ARM/gdb-7.10/sim/testsuite/common/alu-tst.c R processors/ARM/gdb-7.10/sim/testsuite/common/bits-gen.c R processors/ARM/gdb-7.10/sim/testsuite/common/bits-tst.c R processors/ARM/gdb-7.10/sim/testsuite/common/fpu-tst.c R processors/ARM/gdb-7.10/sim/testsuite/config/default.exp R processors/ARM/gdb-7.10/sim/testsuite/configure R processors/ARM/gdb-7.10/sim/testsuite/configure.ac R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/ChangeLog R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/Makefile.in R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/configure R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/configure.ac R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/exit47.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/hello.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/loop.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-ld-d.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-ld-i.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-ld-id.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-ld-im.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-ld-ip.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-ld2w-d.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-ld2w-i.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-ld2w-id.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-ld2w-im.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-ld2w-ip.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st-d.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st-i.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st-id.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st-im.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st-ip.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st-is.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st2w-d.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st2w-i.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st2w-id.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st2w-im.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st2w-ip.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ae-st2w-is.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-dbt.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-ld-st.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-mac.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-macros.i R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-mod-ld-pre.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-msbu.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-mulxu.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-mvtac.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-mvtc.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-rac.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-rachi.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-rdt.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-rep.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-rie-xx.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-rte.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-sac.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-sachi.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-sadd.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-slae.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-sp.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-sub.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-sub2w.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-subi.s R processors/ARM/gdb-7.10/sim/testsuite/d10v-elf/t-trap.s R processors/ARM/gdb-7.10/sim/testsuite/frv-elf/ChangeLog R processors/ARM/gdb-7.10/sim/testsuite/frv-elf/Makefile.in R processors/ARM/gdb-7.10/sim/testsuite/frv-elf/cache.s R processors/ARM/gdb-7.10/sim/testsuite/frv-elf/configure R processors/ARM/gdb-7.10/sim/testsuite/frv-elf/configure.ac R processors/ARM/gdb-7.10/sim/testsuite/frv-elf/exit47.s R processors/ARM/gdb-7.10/sim/testsuite/frv-elf/grloop.s R processors/ARM/gdb-7.10/sim/testsuite/frv-elf/hello.s R processors/ARM/gdb-7.10/sim/testsuite/frv-elf/loop.s R processors/ARM/gdb-7.10/sim/testsuite/lib/sim-defs.exp R processors/ARM/gdb-7.10/sim/testsuite/m32r-elf/ChangeLog R processors/ARM/gdb-7.10/sim/testsuite/m32r-elf/Makefile.in R processors/ARM/gdb-7.10/sim/testsuite/m32r-elf/configure R processors/ARM/gdb-7.10/sim/testsuite/m32r-elf/configure.ac R processors/ARM/gdb-7.10/sim/testsuite/m32r-elf/exit47.s R processors/ARM/gdb-7.10/sim/testsuite/m32r-elf/hello.s R processors/ARM/gdb-7.10/sim/testsuite/m32r-elf/loop.s R processors/ARM/gdb-7.10/sim/testsuite/mips64el-elf/ChangeLog R processors/ARM/gdb-7.10/sim/testsuite/mips64el-elf/Makefile.in R processors/ARM/gdb-7.10/sim/testsuite/mips64el-elf/configure R processors/ARM/gdb-7.10/sim/testsuite/mips64el-elf/configure.ac R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/ChangeLog R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/adc.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/add.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/allinsn.exp R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/and.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/b.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/bic.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/bl.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/bx.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/cmn.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/cmp.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/eor.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/hello.ms R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/iwmmxt.exp R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/tbcst.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/testutils.inc R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/textrm.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/tinsr.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/tmia.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/tmiaph.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/tmiaxy.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/tmovmsk.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wacc.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wadd.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/waligni.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/walignr.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wand.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wandn.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wavg2.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wcmpeq.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wcmpgt.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wmac.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wmadd.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wmax.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wmin.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wmov.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wmul.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wor.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wpack.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wror.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wsad.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wshufh.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wsll.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wsra.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wsrl.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wsub.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wunpckeh.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wunpckel.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wunpckih.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wunpckil.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wxor.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/iwmmxt/wzero.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/ldm.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/ldr.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/ldrb.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/ldrh.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/ldrsb.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/ldrsh.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/misaligned1.ms R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/misaligned2.ms R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/misaligned3.ms R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/misc.exp R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/mla.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/mov.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/movw-movt.ms R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/mrs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/msr.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/mul.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/mvn.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/orr.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/rsb.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/rsc.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/sbc.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/smlal.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/smull.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/stm.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/str.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/strb.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/strh.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/sub.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/swi.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/swp.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/swpb.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/teq.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/testutils.inc R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/adc.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/add-hd-hs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/add-hd-rs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/add-rd-hs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/add-sp.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/add.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/addi.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/addi8.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/allthumb.exp R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/and.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/asr.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/b.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bcc.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bcs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/beq.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bge.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bgt.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bhi.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bic.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bl-hi.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bl-lo.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ble.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bls.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/blt.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bmi.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bne.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bpl.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bvc.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bvs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bx-hs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/bx-rs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/cmn.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/cmp-hd-hs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/cmp-hd-rs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/cmp-rd-hs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/cmp.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/eor.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/lda-pc.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/lda-sp.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ldmia.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ldr-imm.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ldr-pc.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ldr-sprel.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ldr.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ldrb-imm.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ldrb.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ldrh-imm.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ldrh.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ldsb.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ldsh.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/lsl.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/lsr.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/mov-hd-hs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/mov-hd-rs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/mov-rd-hs.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/mov.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/mul.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/mvn.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/neg.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/orr.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/pop-pc.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/pop.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/push-lr.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/push.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/ror.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/sbc.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/stmia.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/str-imm.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/str-sprel.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/str.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/strb-imm.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/strb.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/strh-imm.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/strh.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/sub-sp.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/sub.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/subi.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/subi8.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/swi.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/testutils.inc R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/thumb/tst.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/tst.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/umlal.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/umull.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/xscale/blx.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/xscale/mia.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/xscale/miaph.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/xscale/miaxy.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/xscale/mra.cgs R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/xscale/testutils.inc R processors/ARM/gdb-7.10/sim/testsuite/sim/arm/xscale/xscale.exp R processors/ARM/gdb-7.10/sim/testsuite/sim/avr/ChangeLog R processors/ARM/gdb-7.10/sim/testsuite/sim/avr/allinsn.exp R processors/ARM/gdb-7.10/sim/testsuite/sim/avr/pass.s R processors/ARM/gdb-7.10/sim/testsuite/sim/avr/testutils.inc R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/.gitignore R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/10272_small.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/10436.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/10622.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/10742.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/10799.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/11080.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/7641.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/ChangeLog R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/PN_generator.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a0.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a0shift.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a10.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a11.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a12.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a2.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a20.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a21.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a22.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a23.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a24.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a25.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a26.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a3.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a30.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a4.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a5.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a6.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a7.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a8.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/a9.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/abs-2.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/abs-3.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/abs-4.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/abs.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/abs_acc.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/acc-rot.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/acp5_19.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/acp5_4.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/add_imm7.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/add_shift.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/add_sub_acc.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/addsub_flags.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/algnbug1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/algnbug2.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/allinsn.exp R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/argc.c R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/ashift.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/ashift_flags.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/b0.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/b1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/b2.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/brcc.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/brevadd.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/byteop16m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/byteop16p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/byteop1p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/byteop2p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/byteop3p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/byteunpack.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_arith_r_sft.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_conv_b.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_conv_h.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_conv_mix.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_conv_neg.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_conv_toggle.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_conv_xb.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_conv_xh.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_divq.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_divs.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_log_l_sft.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_log_r_sft.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_shadd_1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_alu2op_shadd_2.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_br_preg_killed_ac.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_br_preg_killed_ex1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_br_preg_stall_ac.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_br_preg_stall_ex1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_bp1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_bp2.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_bp3.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_bp4.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_brf_bp.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_brf_brt_bp.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_brf_brt_nbp.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_brf_fbkwd.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_brf_nbp.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_brt_bp.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_brt_nbp.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_kills_dhits.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_brcc_kills_dmiss.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cactrl_iflush_pr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cactrl_iflush_pr_pp.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_calla_ljump.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_calla_subr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc2dreg.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc2stat_cc_ac.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc2stat_cc_an.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc2stat_cc_aq.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc2stat_cc_av0.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc2stat_cc_av1.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc2stat_cc_az.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc_flag_ccmv_depend.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc_flagdreg_mvbrsft.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc_flagdreg_mvbrsft_s1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc_flagdreg_mvbrsft_sn.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc_regmvlogi_mvbrsft.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc_regmvlogi_mvbrsft_s1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_cc_regmvlogi_mvbrsft_sn.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccflag_a0a1.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccflag_dr_dr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccflag_dr_dr_uu.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccflag_dr_imm3.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccflag_dr_imm3_uu.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccflag_pr_imm3.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccflag_pr_imm3_uu.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccflag_pr_pr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccflag_pr_pr_uu.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccmv_cc_dr_dr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccmv_cc_dr_pr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccmv_cc_pr_pr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccmv_ncc_dr_dr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccmv_ncc_dr_pr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_ccmv_ncc_pr_pr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_comp3op_dr_and_dr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_comp3op_dr_minus_dr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_comp3op_dr_mix.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_comp3op_dr_or_dr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_comp3op_dr_plus_dr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_comp3op_dr_xor_dr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_comp3op_pr_plus_pr_sh1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_comp3op_pr_plus_pr_sh2.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_compi2opd_dr_add_i7_n.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_compi2opd_dr_add_i7_p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_compi2opd_dr_eq_i7_n.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_compi2opd_dr_eq_i7_p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_compi2opd_flags.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_compi2opd_flags_2.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_compi2opp_pr_add_i7_n.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_compi2opp_pr_add_i7_p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_compi2opp_pr_eq_i7_n.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_compi2opp_pr_eq_i7_p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dagmodik_lnz_imgebl.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dagmodik_lnz_imltbl.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dagmodik_lz_inc_dec.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dagmodim_lnz_imgebl.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dagmodim_lnz_imltbl.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dagmodim_lz_inc_dec.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_a0_pm_a1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_a0a1s.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_a_abs_a.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_a_neg_a.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_aa_absabs.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_aa_negneg.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_abs.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_absabs.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_alhwx.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_awx.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_byteop1ew.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_byteop2.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_byteop3.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_bytepack.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_byteunpack.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_disalnexcpt.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_max.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_maxmax.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_min.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_minmin.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_mix.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_r_lh_a0pa1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_r_negneg.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rh_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rh_p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rh_rnd12_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rh_rnd12_p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rh_rnd20_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rh_rnd20_p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rl_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rl_p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rl_rnd12_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rl_rnd12_p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rl_rnd20_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rl_rnd20_p.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rlh_rnd.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rm.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rmm.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rmp.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rp.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rpm.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rpp.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rr_lph_a1a0.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rrpm.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rrpm_aa.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rrpmmp.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rrpmmp_sft.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rrpmmp_sft_x.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rrppmm.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rrppmm_sft.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_rrppmm_sft_x.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_saa.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_sat_aa.S R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_search.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32alu_sgn.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_a1a0.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_a1a0_iuw32.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_a1a0_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a0.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a0_i.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a0_ih.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a0_is.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a0_iu.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a0_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a0_s.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a0_t.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a0_tu.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a0_u.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1_i.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1_ih.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1_is.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1_iu.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1_s.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1_t.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1_tu.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1_u.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1a0.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1a0_iutsh.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_dr_a1a0_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_mix.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a0.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a0_i.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a0_is.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a0_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a0_s.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a0_u.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1_i.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1_is.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1_s.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1_u.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1a0.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1a0_i.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1a0_is.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1a0_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1a0_s.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_a1a0_u.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mac_pair_mix.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_i.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_ih.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_is.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_iu.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_m.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_m_i.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_m_iutsh.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_m_s.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_m_t.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_m_u.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_mix.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_s.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_t.s R processors/ARM/gdb-7.10/sim/testsuite/sim/bfin/c_dsp32mult_dr_tu.s Log Message: ----------- Move the ARMv6/ARM32 processor simulator to the gdb-8.3.1-derviced code base. [ci skip] Commit: 989cb8d07f60236bedcd6dbfbe88dba090315b8a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/989cb8d07f60236bedcd6dbfbe88dba090315b8a Author: Eliot Miranda Date: 2019-11-18 (Mon, 18 Nov 2019) Changed paths: M platforms/Cross/plugins/GdbARMPlugin/GdbARMPlugin.h M platforms/Cross/plugins/GdbARMPlugin/HowToBuild R platforms/Cross/plugins/GdbARMPlugin/Makefile R platforms/Cross/plugins/GdbARMPlugin/Makefile.unix R platforms/Cross/plugins/GdbARMPlugin/Makefile.win32 R platforms/Cross/plugins/GdbARMPlugin/README A platforms/Cross/plugins/GdbARMv8Plugin/GdbARMv8Plugin.h A platforms/Cross/plugins/GdbARMv8Plugin/HowToBuild A platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c A platforms/iOS/plugins/GdbARMv8Plugin/Makefile M platforms/unix/plugins/GdbARMPlugin/HowToBuild A platforms/unix/plugins/GdbARMv8Plugin/HowToBuild A platforms/unix/plugins/GdbARMv8Plugin/Makefile.inc A platforms/unix/plugins/GdbARMv8Plugin/acinclude.m4 Log Message: ----------- Update HowToBuild info for the 32-bit ARM simulator plugin. Add (incorrect, as yet unmodified copies of the 32-bit) files for the 64-bit ARMv8 plugin. [ci skip] Commit: 79440710ab1e3f85e47174c7c2d4e25bde4b3053 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/79440710ab1e3f85e47174c7c2d4e25bde4b3053 Author: Eliot Miranda Date: 2019-11-19 (Tue, 19 Nov 2019) Changed paths: M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/GdbARMPlugin/GdbARMPlugin.h M platforms/Cross/plugins/GdbARMPlugin/sqGdbARMPlugin.c M platforms/Cross/plugins/GdbARMv8Plugin/GdbARMv8Plugin.h M platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c M platforms/unix/plugins/GdbARMPlugin/Makefile.inc M platforms/unix/plugins/GdbARMv8Plugin/Makefile.inc M processors/ARM/gdb-8.3.1/sim/arm/Makefile.in M processors/ARM/gdb-8.3.1/sim/arm/armulmem.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c A src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c Log Message: ----------- Cog Processor Simulator Plugins as per Cog-eem.361 Nuke the code duplication, bring all four Bochs/GDB processor simulators under one abstract superclass. Add GdbARMv8Plugin.c Nuke code now dead in gdb 8.3.1 Comment the interrupt check chain. [ci skip] Commit: 68d1ce56a21a997c3873089523569628b38346f6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/68d1ce56a21a997c3873089523569628b38346f6 Author: Eliot Miranda Date: 2019-11-19 (Tue, 19 Nov 2019) Changed paths: M build.macos64x64/gdbarm64/makeem M build.macos64x64/squeak.cog.spur/plugins.ext M platforms/Cross/plugins/GdbARMv8Plugin/GdbARMv8Plugin.h M platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c M platforms/iOS/plugins/GdbARMv8Plugin/Makefile M processors/ARM/gdb-8.3.1/sim/aarch64/simulator.c M processors/ARM/gdb-8.3.1/sim/aarch64/simulator.h M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c Log Message: ----------- Get the GdbARMv8Plugin to compile. Pre testing check-in. [ci skip] Commit: 1e59bb39406f31e956f25208e935e2711f85ff80 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1e59bb39406f31e956f25208e935e2711f85ff80 Author: Eliot Miranda Date: 2019-11-19 (Tue, 19 Nov 2019) Changed paths: M build.linux32x86/gdbarm32/conf.COG M build.linux64x64/gdbarm32/conf.COG M build.linux64x64/gdbarm64/conf.COG M build.macos32x86/gdbarm32/conf.COG M build.macos64x64/gdbarm32/conf.COG M build.macos64x64/gdbarm64/conf.COG M platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c M processors/ARM/gdb-8.3.1/sim/common/sim-config.c Log Message: ----------- Bludgeon gdb-8.3.1 into a state where its endianness can be predetermined. predetermine the endianness in all gdbarm library builds. Fix the CU to answer and resetting of the CPU in sqGdbARMv8Plugin.c. [ci skip] Commit: 9336eea43c07382f5b3c0032a1ddf86f154c06a8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9336eea43c07382f5b3c0032a1ddf86f154c06a8 Author: Eliot Miranda Date: 2019-11-19 (Tue, 19 Nov 2019) Changed paths: A build.macos32x86/gdbarm64/conf.COG A build.macos32x86/gdbarm64/makeem M platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c M processors/ARM/exploration64/Makefile Log Message: ----------- Get the 32-bit version of ARMv8 exploration64 to work. Stop running in the GdbARMv8Plugin as soon as anything is logged. [ci skip] Commit: 9320a52ef11fd144697c561eed3eff1412951777 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9320a52ef11fd144697c561eed3eff1412951777 Author: Eliot Miranda Date: 2019-11-21 (Thu, 21 Nov 2019) Changed paths: A build.macos64x64/gdbarm64/clean M platforms/Cross/plugins/GdbARMPlugin/GdbARMPlugin.h M platforms/Cross/plugins/GdbARMPlugin/sqGdbARMPlugin.c M platforms/Cross/plugins/GdbARMv8Plugin/GdbARMv8Plugin.h M platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c M processors/ARM/gdb-8.3.1/sim/aarch64/simulator.c Log Message: ----------- Get the GdbARMv8Plugin to check the pc against minWriteMaxExecAddr correctly and update its pc after execution. It now steps and runs properly. Modify instruction access/pc dereference in the gdb code to use the support routine in sqGdbARMv8Plugin.c. With these changes GdbARMv8AlienTests can run testNFib4 et al. [ci skip] Commit: 7225aecbb30015cd60b2fd8a4520726c343381e8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7225aecbb30015cd60b2fd8a4520726c343381e8 Author: Nicolas Cellier Date: 2019-11-21 (Thu, 21 Nov 2019) Changed paths: M src/plugins/BitBltPlugin/BitBltPlugin.c Log Message: ----------- Attempt to Fix Issue #447 - BitBlt signed int overflow Generate the plugin from VMMaker.oscog-nice.2587 which declare `dx dy sx sy` as sqInt rather than int. Commit: c812fbc619c2dd95419a9019b48148afd7942ed5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c812fbc619c2dd95419a9019b48148afd7942ed5 Author: Nicolas Cellier Date: 2019-11-22 (Fri, 22 Nov 2019) Changed paths: M src/plugins/BitBltPlugin/BitBltPlugin.c Log Message: ----------- Merge pull request #448 from OpenSmalltalk/fix_BitBlt_Issue_447 Attempt to Fix Issue #447 - BitBlt signed int overflow Commit: 81cb7e9083cdb053d1ee8ee77fee9618ce0e88d2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/81cb7e9083cdb053d1ee8ee77fee9618ce0e88d2 Author: Eliot Miranda Date: 2019-11-22 (Fri, 22 Nov 2019) Changed paths: M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c Log Message: ----------- Cog Processor Simulator Plugins as per Cog-eem.369/VMMaker.oscog-eem.2589 Speed up marshalling for the ProcessorSimulatorPlugins by using SmallInteger for the memory range arguments instead of Unsigned. Using the latest Slang changes this inlines a lot of code and reduces function calls to decode the range arguments. Given that the memory range arguments are always within the range of the memory byte array, SmallIntegers provide more than enough range. More substantively use primitiveFailForOSError: to answer the failure error code, if any, on simulating. Slang for plugins. Fix resultSendAlwaysFails: to include the two new failure sends, primitiveFailForFFIException:at: primitiveFailForOSError:. As a micro optimization, if the enclosing method has type #sqInt then return the falures directly, as they're all typed as sqInt. Should save an instruction :-) Generate more efficient code for dereferencing SmallInteger type parameters in SmartSyntaxPlugins. Avoid a stack variable access by assigning to the target variable in the validation expression, and referring to the variable in the conversion expression, e.g. instead of sqInt v; if (!(isIntegerObject(stackValue(0)))) return primitiveFailFor(PrimErrBadArgument); v = stackIntegerValue(0); generate sqInt v; if (!(isIntegerObject(v = stackValue(0)))) return primitiveFailFor(PrimErrBadArgument); v = integerValueOf(v); Allow the Cog ProcessorSimulationPlugins to use the inlined macro definitions for isIntegerObject:, integerObjectOf: & integerValueOf: even though they're external plugins (since in single steppng, marshalling performance is at a premium). Commit: 7c2325bcb858e52e19296a4f0a8092c1d4f5d54e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7c2325bcb858e52e19296a4f0a8092c1d4f5d54e Author: Eliot Miranda Date: 2019-11-22 (Fri, 22 Nov 2019) Changed paths: M src/plugins/BitBltPlugin/BitBltPlugin.c Log Message: ----------- Merge Nicolas' BitBltPlugin work with my ProessorSimulatorPlugin work. Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: 4386f0f9783c8a445cf08d85b2480fb62be715c9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4386f0f9783c8a445cf08d85b2480fb62be715c9 Author: Eliot Miranda Date: 2019-11-24 (Sun, 24 Nov 2019) Changed paths: M platforms/Cross/plugins/GdbARMPlugin/GdbARMPlugin.h M platforms/Cross/plugins/GdbARMPlugin/sqGdbARMPlugin.c M processors/ARM/exploration64/printcpuctrl.c M processors/ARM/gdb-8.3.1/sim/arm/armulmem.c Log Message: ----------- Fix a necessary change in processors/ARM/gdb-8.3.1/sim/arm/armulmem.c now that there is only one kind of MemoryBOundsError (no Read & Write variants). Add access for the instr field to ARM/exploration64/printcpuctrl.c. Change runOnCPU in GdbARMPlugin so that the cast is not necessary and we can directly dereference fields in cpu. Fix minor slips in GdbARMPlugin.h. [ci skip] Commit: d1cdad3d1ca0d7409d6c02e7531b4b43f3d98d38 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d1cdad3d1ca0d7409d6c02e7531b4b43f3d98d38 Author: Eliot Miranda Date: 2019-11-24 (Sun, 24 Nov 2019) Changed paths: M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c Log Message: ----------- Generate the processor plugins with a clean version stamp. [ci skip] Commit: 6e6793d5374f78222d7f12ce2bed61260c78fe8d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6e6793d5374f78222d7f12ce2bed61260c78fe8d Author: Eliot Miranda Date: 2019-11-25 (Mon, 25 Nov 2019) Changed paths: M image/getGoodSpurVM.sh Log Message: ----------- Use diskutil eject, not assume there is an eject command (wot I 'ave written). [ci skip] Commit: 9d2cdcb6cc0a43cf5ce63a76fd39cd3233523b34 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9d2cdcb6cc0a43cf5ce63a76fd39cd3233523b34 Author: Eliot Miranda Date: 2019-11-27 (Wed, 27 Nov 2019) Changed paths: M build.macos64x64/pharo.stack.spur/Makefile Log Message: ----------- Bring the pharo.stack.spur build up to date w.r.t. pharo.cog.spur to help debug the stack corruption issue. [ci skip] Commit: 4710c5afd7c9863972d53e0c737e3f7955e473ae https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4710c5afd7c9863972d53e0c737e3f7955e473ae Author: Eliot Miranda Date: 2019-11-28 (Thu, 28 Nov 2019) Changed paths: M build.macos64x64/gdbarm32/conf.COG M build.macos64x64/gdbarm64/conf.COG M image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st M image/getGoodSpur64VM.sh M nsspur64src/vm/cogit.c M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/GdbARMPlugin/sqGdbARMPlugin.c M processors/ARM/exploration/Makefile64 M processors/ARM/exploration/printcpuctrl.c M processors/ARM/gdb-8.3.1/sim/arm/armos.c M processors/ARM/gdb-8.3.1/sim/arm/armulmem.c M spur64src/vm/cogit.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2598 Spur: VMMaker.oscog-cb.2595 Fixed a fascinating bug in Planning compactor. Sometimes Planning decides to go for a multi-pass compaction, but in one compaction it compacts it all, so that firstFreeObject is the last object on heap, on the object after firstFreeObject is outside of the heap. Planning gets confused in this case, while everything is compacted. So I changed to abort compaction in that case, since everything is already compacted. Avoid inlining endCompaction to prevent duplication in compact. Make a minor refactoring to reinitializeScanFrom: to make it more readable (move assignment to firstMobileObject into scanForFirstFreeAndFirstMobileObjectFrom:). Improve the ImageLeakChecker to bounds check objects while swizzling, and hence detect the damaged images produced by the issue 444 planning compactor bug as corrupted. Refactor swizzleObj: to swizzleObj:in: so that ImageLeakChecker/ SpurLeakCheckingSegmentManager can produce more informative diagnostics. Improve the leak checker to first bounds check oops against the heap extent before probing the heap map. This prevents ImageLeakChecker from crashing on issue 444 corrupted images. Commit: bb5c547ba5b04a23148f5ff356b3fb46562c1c3f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bb5c547ba5b04a23148f5ff356b3fb46562c1c3f Author: Eliot Miranda Date: 2019-11-29 (Fri, 29 Nov 2019) Changed paths: M image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st Log Message: ----------- Update the VM build scripts now that FileAttributesPlugin has moved to the VMMaker repository. [ci skip] Commit: e01e0076cd6c5fdace135edd36fca29c95c682cc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e01e0076cd6c5fdace135edd36fca29c95c682cc Author: Tom Beckmann Date: 2019-12-09 (Mon, 09 Dec 2019) Changed paths: A platforms/unix/vm-sound-pulse/Makefile.inc Log Message: ----------- declare the shared library depedencies for vm-sound-pulse Commit: a71f6337eb1d64d72910f3908b5437d3e8bcf10a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a71f6337eb1d64d72910f3908b5437d3e8bcf10a Author: Tobias Pape Date: 2019-12-09 (Mon, 09 Dec 2019) Changed paths: A platforms/unix/vm-sound-pulse/Makefile.inc Log Message: ----------- Merge pull request #452 from tom95/pulse-build-fix Declare the shared library depedencies for vm-sound-pulse. Fixes #360 Commit: 66e635d755ade763a5987a843d7e32cfc8292e15 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/66e635d755ade763a5987a843d7e32cfc8292e15 Author: Ronie Salgado Date: 2019-12-09 (Mon, 09 Dec 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m Log Message: ----------- This fixed an edge condition with the metal renderer where the update rect ends out of the bounds of the display texture. Commit: 321f39825b03d47331bee82a476c1a9924850b7c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/321f39825b03d47331bee82a476c1a9924850b7c Author: Eliot Miranda Date: 2019-12-09 (Mon, 09 Dec 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m Log Message: ----------- Merge pull request #453 from ronsaldo/bug/metal-window-resize-crash Fix Metal window crash on resize. Commit: abf05549bd377106f27600a293d79f75a59e705e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/abf05549bd377106f27600a293d79f75a59e705e Author: Eliot Miranda Date: 2019-12-09 (Mon, 09 Dec 2019) Changed paths: M image/BuildSqueakSpurTrunkVMMakerImage.st R processors/ARM/TODO Log Message: ----------- Add ClosedVMMaker to the packages to be loaded to make a full VMMaker image (ClosedVMMaker contains only CogARMv8Compiler, the Cog back end for ARMv8). [ci skip] Commit: 0a17d73640e258b8d12aae078c90aec459f69c17 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0a17d73640e258b8d12aae078c90aec459f69c17 Author: Levente Uzonyi Date: 2019-12-11 (Wed, 11 Dec 2019) Changed paths: M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c Log Message: ----------- Improved local address support on linux Do not rely on hardcoded interface names (eth0, wlan0) in sqResolverLocalAddress(void). Use ifa_flags to filter the list instead. When an interface has no address assigned, just skip it instead of failing the primitive and leaking memory (return without calling freeifaddrs). Commit: 9f3440d7e35da0038df425e8a0966adbff80ab15 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9f3440d7e35da0038df425e8a0966adbff80ab15 Author: Eliot Miranda Date: 2019-12-11 (Wed, 11 Dec 2019) Changed paths: M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c Log Message: ----------- CogVM source as per Name: VMMaker.oscog-eem.2606 Fix the "funny floats" issue with gcc et al. Casting the address of an automatic long to an int * is no longer allowed. Thanks to Pablo Tessone for the analysis and fix. Commit: 180e1b8f9fb90ac428e365236961cf18cbd6aaca https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/180e1b8f9fb90ac428e365236961cf18cbd6aaca Author: Christian Kellermann Date: 2019-12-11 (Wed, 11 Dec 2019) Changed paths: A platforms/unix/vm-sound-sndio/Makefile.inc A platforms/unix/vm-sound-sndio/acinclude.m4 A platforms/unix/vm-sound-sndio/sqUnixSndioSound.c M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Add sndio sound support for OpenBSD This commit introduces a new plugin "vm-sound-sndio" which uses the native OpenBSD sound system as backend. This commit is meant as an initial introduction of the plugin, as sound output currently blocks the whole VM. The plugin is not loaded by default and should only get built when running on OpenBSD. Commit: 0b7afb6f6f12d477541f59c019f3434b4c97178c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0b7afb6f6f12d477541f59c019f3434b4c97178c Author: Eliot Miranda Date: 2019-12-11 (Wed, 11 Dec 2019) Changed paths: M image/buildspurtrunkreader64image.sh Log Message: ----------- For some reason buildspurtrunkreader64image.sh is nonsense. Did it get overwritten? restore it to a functional state. Commit: deaff031e515f7b1ea43d2f5d4f01aded7afd6a4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/deaff031e515f7b1ea43d2f5d4f01aded7afd6a4 Author: Eliot Miranda Date: 2019-12-11 (Wed, 11 Dec 2019) Changed paths: M image/buildspurtrunkreader64image.sh Log Message: ----------- Oops, finish the job. Commit: d58235ca011b9a8f8344814b66d9f9d6428c963f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d58235ca011b9a8f8344814b66d9f9d6428c963f Author: Tobias Pape Date: 2019-12-13 (Fri, 13 Dec 2019) Changed paths: A platforms/unix/vm-sound-sndio/Makefile.inc A platforms/unix/vm-sound-sndio/acinclude.m4 A platforms/unix/vm-sound-sndio/sqUnixSndioSound.c M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Merge pull request #451 from ckeen/Cog Add sndio sound support for OpenBSD Commit: 41703202a7d5ea7f9332c8fe3c7fadcb1a0555ac https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/41703202a7d5ea7f9332c8fe3c7fadcb1a0555ac Author: Eliot Miranda Date: 2019-12-15 (Sun, 15 Dec 2019) Changed paths: M build.macos64x64/gdbarm64/clean M platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c Log Message: ----------- GdbARMv8Plugin Ensure that the execution primitives fail for out-of-range control transfers. [ci skip] Commit: b2f243df78c62b4452b5bcdf87cc3dc7b8e028ff https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b2f243df78c62b4452b5bcdf87cc3dc7b8e028ff Author: Eliot Miranda Date: 2019-12-18 (Wed, 18 Dec 2019) Changed paths: M build.macos64x64/gdbarm64/conf.COG M processors/ARM/gdb-8.3.1/sim/aarch64/simulator.c Log Message: ----------- GdbARMv8Plugin: disable unimplemented instruction warnings in the gdb code; we only want failures. Configure the gdb simulator code with no tracing whatsoever. Reenable building the gdb code with optimization. [ci skip] Commit: 6bedd6746a0173c90751c63b0d1bdc85bf3803c4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6bedd6746a0173c90751c63b0d1bdc85bf3803c4 Author: Tobias Pape Date: 2019-12-21 (Sat, 21 Dec 2019) Changed paths: M platforms/unix/config/aclocal.m4 M platforms/unix/config/config.h.in M platforms/unix/config/configure Log Message: ----------- update configure for unix Final step for #451 Commit: a54a2240565e729b5f613a1c2b3277bb3a8a2873 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a54a2240565e729b5f613a1c2b3277bb3a8a2873 Author: Nicolas Cellier Date: 2019-12-23 (Mon, 23 Dec 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/iOS/vm/iPhone/Classes/SqueakUIView.m Log Message: ----------- Convert charCode to latin1 encoding rather than macRoman on iOS. Why? because image side uses unicode encoding for characters, and that matches latin1 up to 256. Once upon a time, the image side did use macRoman, so that explains the legacy code. But such legacy has become a drag, let's get rid of it! TODO: same changes required on legacy Mac OS But I might apply those change after merging the compile_legacy_Mac_OS code in order to avoid potential conflicts. Commit: cd50cd4d1b743c718651182c4809f47499e52864 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cd50cd4d1b743c718651182c4809f47499e52864 Author: Nicolas Cellier Date: 2019-12-23 (Mon, 23 Dec 2019) Changed paths: M platforms/unix/vm/sqUnixCharConv.c Log Message: ----------- Let default sqTextEncoding be latin1 instead of macRoman on unix VM sqTextEncoding is supposed to match the encoding used at image side. Why macRoman? It was to support legacy (last century?) images that did use macRoman encoded strings Why latin1? Now images (squeak+pharo) uses unicode code-points that matches latin1 up to 256 Commit: 134b8f74a5d32226402ffd675e3845b5d4da7d9e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/134b8f74a5d32226402ffd675e3845b5d4da7d9e Author: Nicolas Cellier Date: 2019-12-24 (Tue, 24 Dec 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Nuke recode entirely from unix X11 `recode` is used to translate the `charCode`... charCode is keyboard `event at: 3`. >From which encoding to which encoding? Err... charCode should be a keycode (keysym on X11). So it should not be UTF8 or whatever. It's a keycode not a character code (code point). Beside, charCode will use a single sqInt event slot, and a single byte is expected by image side. Currently with my `fr_FR.UTF-8` locale, the VM is trying to translate a multi-byte encoded Character into 1-byte `charCode`. This does not make sense. Once upon a time, we used to encode the character into macRoman encoding, and used only the charCode at image side. Now we should always use the ucs4 `event at: 6`, and we should STOP translating the charCode. The charCode should be renamed keycode, and should just be that, a platform independent key code. (including left shift, right shift, etc...). key codes are useful for making lower level handlers at image side, handling key up and key down events. Commit: 4d9a39adfbf08a500e021c47b2c7611be919dbfb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4d9a39adfbf08a500e021c47b2c7611be919dbfb Author: Eliot Miranda Date: 2019-12-23 (Mon, 23 Dec 2019) Changed paths: A build.macos64x64/gdbarm32/clean M image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st M platforms/unix/vm-display-null/sqUnixDisplayNull.c Log Message: ----------- Include VMMakerUI in building a VMMaker image. [ci skip] Commit: 9de5feedffd4d860aa67212ee21c890f66e0f489 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9de5feedffd4d860aa67212ee21c890f66e0f489 Author: Levente Uzonyi Date: 2019-12-24 (Tue, 24 Dec 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Fix shift-tab on unix Shift-tab didn't generate a "key char event" on unix, because XK_ISO_Left_Tab was not mapped in xkeysym2ucs4, so its unicode code point was mapped to 0. Map it to tab (9). Commit: 0dbcb71e9c53cb5c60023fa018d03e178117864f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0dbcb71e9c53cb5c60023fa018d03e178117864f Author: Nicolas Cellier Date: 2019-12-24 (Tue, 24 Dec 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Directly use the symbolic (=virtual) key code, that's what we want. With my fr_FR.UTF-8 locale, `buf` did contain a multi-byte sequence for non ASCII, thus putting `buf[0]` in `charCode`did not make much sense. The defunct `recode`function did not improve anything, because it tried to convert `buf[0]`, kind of stupid obsolete code... Note: we still use `translateCode` for having cross platform keycodes for arrows, page up/down and a few other non character keys. We might want to generalize that to other keys! (I mean being cross platform). Commit: af24eab109c8c7dad23eae2219c0f54b85b65527 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/af24eab109c8c7dad23eae2219c0f54b85b65527 Author: Nicolas Cellier Date: 2019-12-24 (Tue, 24 Dec 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Merge pull request #457 from smalltalking/fix-shfit-tab-on-unix Fix shift-tab on unix Commit: f8c78a3f34bf7dea293c6526ae660b98647b2a82 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f8c78a3f34bf7dea293c6526ae660b98647b2a82 Author: Nicolas Cellier Date: 2019-12-24 (Tue, 24 Dec 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Use translateCode primarily for translating symbolic X11 keysym to OSVM keycode For this purpose, enhance `translateCode` to handle classical Tab/Esc/Return/BS/Del keys (otherwise, we get 16rFFxx keycodes) Note: currently, we do not differentiate Return from KeyPad Enter keys... Move `mapDelBs` hack in `translateCode`. Note: IMO we should nuke this heresy once for all... It only make sense if we build the VM input layer above a deficient programming layer. We shall better not do that! The added complexity is minor, but how many such useless "features" do we carry, for what added value exactly? Note: if `translateCode` does not handle the keysym (it `return -1`) then we try to convert the key into a character using `XLookupString`. If it converts to one (or more) byte characters (`buf` may be encoded UTF8 for example), then simply use the `*symbolic` keysym. Else return -1, meaning that we do not recognize the key. I did not change that last part, one change at a time, but it might be a better idea to just pass the `*symbolic` verbatim to the image in all cases. Commit: afd70d645c5e40a76953742f4f2beaebdeb21331 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/afd70d645c5e40a76953742f4f2beaebdeb21331 Author: Nicolas Cellier Date: 2019-12-24 (Tue, 24 Dec 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Remove ux2st & st2ux deadcode My pleasure: we get enough legacy code to handle and understand. No need for additional `#if 0` diversion. Commit: c10131f02a806e8d67cca95c9f5ba6ec8927a4d6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c10131f02a806e8d67cca95c9f5ba6ec8927a4d6 Author: Nicolas Cellier Date: 2019-12-24 (Tue, 24 Dec 2019) Changed paths: A .editorconfig A platforms/win32/.editorconfig Log Message: ----------- Initiate .editorconfig files [ci skip] These files enable automatic configuration of text editors regarding indentation, encoding, line-ending etc... Please install the editorconfig plugin if not supported natively See https://editorconfig.org Commit: b7e5fec665c9b1b4b3d85dbcf3525892770d4ed7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b7e5fec665c9b1b4b3d85dbcf3525892770d4ed7 Author: Nicolas Cellier Date: 2019-12-25 (Wed, 25 Dec 2019) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Align windows behavior with other platforms in response to mouse wheel events - Set all the meta bits to distinguish from a real arrow key, rather than just control - Set the utf32Code to the same arrow code rather than 0, not only on PharoVM Yet do not translate horizontal mouse wheels to left/right arrows Such events are troublesome if TextEditors are not ready to filter them out. This is a partial fix for https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/456 Commit: 25c8a59fd844cf5d53d8db0b84035d588c33af06 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/25c8a59fd844cf5d53d8db0b84035d588c33af06 Author: Nicolas Cellier Date: 2019-12-25 (Wed, 25 Dec 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Merge pull request #446 from tom95/x11-scroll-distances-fix fix calculation of x11 scroll distances Commit: a4a08f98c17b23ad54b5e361ffc0280e2ea8e0c3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a4a08f98c17b23ad54b5e361ffc0280e2ea8e0c3 Author: Nicolas Cellier Date: 2019-12-25 (Wed, 25 Dec 2019) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #459 from OpenSmalltalk/win_mouse_wheel_alignment Align windows behavior with other platforms in response to mouse wheel events Commit: 08a01a39883fd1cdb39a439f9515dfac03327bd3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/08a01a39883fd1cdb39a439f9515dfac03327bd3 Author: Nicolas Cellier Date: 2019-12-25 (Wed, 25 Dec 2019) Changed paths: M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Nuke NO_WHEEL_MOUSE macro and alternate g_WM_MOUSEWHEEL message Those hacks were workaround for lack of support of mouse wheel events in the 90s from M$ OSes. I'm glad to remind that it's 2020 in a few days, not 1999 anymore, so YAGNI. We do not support those OS for quite some time, and we should stop bothering. See https://devblogs.microsoft.com/oldnewthing/20080806-00/?p=21353 for a bit of history Commit: ce013398add3c45dd207f403f83f2f69c6037875 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ce013398add3c45dd207f403f83f2f69c6037875 Author: Nicolas Cellier Date: 2019-12-25 (Wed, 25 Dec 2019) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Move WM_MOUSEWHEEL message handling as a regular case Now that we simplified the obsolete logic, there no reason to handle this message differently from others Commit: 44ebaf470321f453e966c382536e0289b55b1863 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/44ebaf470321f453e966c382536e0289b55b1863 Author: Nicolas Cellier Date: 2019-12-25 (Wed, 25 Dec 2019) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Use GET_X_LPARAM to decode mouse coordinates from WM_MOUSE messages as recommended here: https://docs.microsoft.com/en-us/windows/win32/inputdev/wm-mousemove `(int)(short) LOWORD(lParam)` is OK, but `LOWORD(lParam)` is not because position can be signed in case of multi-monitor Commit: 95e821968134e1030d3d37a22279f22207aa647a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/95e821968134e1030d3d37a22279f22207aa647a Author: Nicolas Cellier Date: 2019-12-26 (Thu, 26 Dec 2019) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Implement mousewheel events if sendWheelEvents is true (non zero) Note that this VM parameter is saved in the image and controlled via `Smalltalk sendMouseWheelEvents: true.` WARNING: unlike Unix and OSX, fill both `buttons` and `modifiers` fields of the event structure. Unix and OSX only fill `buttons` field with modifiers states! (???) I'd rather change the others. Note: with my MacBook trackpad, there are many events generated with small scroll deltas (not multiple of 120, but down to 1 unit...) I don't know why, but it gives sluggish scroll behavior, which does not happen when we emulate via arrow keys. Commit: 975c82d8ba7f398429ae2da92e4422f6c21d245f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/975c82d8ba7f398429ae2da92e4422f6c21d245f Author: Nicolas Cellier Date: 2019-12-26 (Thu, 26 Dec 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Revert "Use translateCode primarily for translating symbolic X11 keysym to OSVM keycode" This reverts commit f8c78a3f34bf7dea293c6526ae660b98647b2a82. Commit: d0e455d643139c449c7d9636c491f7e400a8a8f2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d0e455d643139c449c7d9636c491f7e400a8a8f2 Author: Nicolas Cellier Date: 2019-12-26 (Thu, 26 Dec 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Revert "Directly use the symbolic (=virtual) key code, that's what we want." This reverts commit 0dbcb71e9c53cb5c60023fa018d03e178117864f. Commit: 929bf65da31c7f98dc93b095f361c5e5c870c84d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/929bf65da31c7f98dc93b095f361c5e5c870c84d Author: Nicolas Cellier Date: 2019-12-26 (Thu, 26 Dec 2019) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c Log Message: ----------- Let unix Squeak VM generate ASCII control characters like it always did Note: I have reverted my deeper changes that did always used the `KeySym *symbolic`as event `charCode`. This will be for another branch and will require coordinated cross platform support and image changes. This makes Nuke-MacRoman branch a good candidate for fixing https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/456 ...at least for ctrl+a to ctrl+z Commit: 6a00809326e3e161e4057bb1e8c6386185e4b6e1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6a00809326e3e161e4057bb1e8c6386185e4b6e1 Author: Nicolas Cellier Date: 2019-12-26 (Thu, 26 Dec 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/iOS/vm/iPhone/Classes/SqueakUIView.m M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm/sqUnixCharConv.c Log Message: ----------- Merge pull request #460 from OpenSmalltalk/Nuke-MacRoman Nuke mac roman Commit: f70cf5f34041e0e197542651e90505a0b86325f6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f70cf5f34041e0e197542651e90505a0b86325f6 Author: Nicolas Cellier Date: 2019-12-26 (Thu, 26 Dec 2019) Changed paths: M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c Log Message: ----------- Merge pull request #458 from smalltalking/Cog Improved local address support on linux Commit: b982355886cfb5505151edb1e35c7df6432a9c30 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b982355886cfb5505151edb1e35c7df6432a9c30 Author: Nicolas Cellier Date: 2019-12-26 (Thu, 26 Dec 2019) Changed paths: M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Deliver mouse wheel events only once they reach a threshold On some devices (example Mac trackpad), many events are generated with small deltas. This is overwhelming the EventSensor loop at image side to the detriment of user experience. Workaround by letting the VM accumulate those deltas until they reach a threshold before delivering. In case of high delta values, we generate a single value. It's up to image side to handle those values (until now, Squeak 5.3 just ignored them, VM is not to be blamed for that). Note: 2 values are hardcoded for now - the timeout for stopping accumulation (500ms) - the threshold for delivering the event to the image. The threshold could have been WHEEL_DELTA, but it gives bad sensitivity on my own device, so use only a fraction of that in the hope that it fits other devices too. Please report if those tuning are inappropriate. We may add parameters in the future if necessary... Commit: 9e2b99c2172f686f2c0a7265d8301206c6cf2788 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9e2b99c2172f686f2c0a7265d8301206c6cf2788 Author: Nicolas Cellier Date: 2019-12-27 (Fri, 27 Dec 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/unix/vm/sqUnixEvent.c Log Message: ----------- Handle mouse wheel events like other mouse events Mouse wheel events now have both buttons and modifiers states set correctly, like any other mouse event. Commit: 48af339d0527a3de6ee033bf297237a7034ca840 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/48af339d0527a3de6ee033bf297237a7034ca840 Author: Nicolas Cellier Date: 2019-12-27 (Fri, 27 Dec 2019) Changed paths: M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #461 from OpenSmalltalk/win_generate_mouse_wheel_events Win generate mouse wheel events Commit: cce69c559d93e6fcc158ef64eb6e8030fbd4ce8f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cce69c559d93e6fcc158ef64eb6e8030fbd4ce8f Author: Nicolas Cellier Date: 2019-12-27 (Fri, 27 Dec 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Use precise scrolling deltas if available on OSX Commit: 92fa6f8a6d3688633ae142c1482918d9eeaec9bd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/92fa6f8a6d3688633ae142c1482918d9eeaec9bd Author: Nicolas Cellier Date: 2019-12-27 (Fri, 27 Dec 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- OSX: accumulate enough delta before sending the wheel event to the image Commit: 9d26c9785d6fce76c69095f51c57309c65afa6e1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9d26c9785d6fce76c69095f51c57309c65afa6e1 Author: Nicolas Cellier Date: 2019-12-27 (Fri, 27 Dec 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Convert OSX point units into scrolling units Set the limit to 20 scrolling units to restrain the flow of events delivered to image That's about 7 points (1/10 inch), not exactly the smoothest. But if we want smoother scroll, we have to accelerate event handling at image side first. The threshold might become a parameter, but for now YAGNI. Note: the scrolling unit of 120 units per mouse wheel notch comes from moz.dev. The fact that we convert a single notch to 3 lines is a Squeak convention See https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/41 Commit: 83e43ee7138f8a1b76ed774c3972f2691776778a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/83e43ee7138f8a1b76ed774c3972f2691776778a Author: Nicolas Cellier Date: 2019-12-28 (Sat, 28 Dec 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/unix/vm/sqUnixEvent.c Log Message: ----------- Merge pull request #462 from OpenSmalltalk/fix_osx_linux_mouse_wheel Fix osx linux mouse wheel Commit: a9c7fd5fc6b9c100bb5e58d09ed3c3d46f461f63 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a9c7fd5fc6b9c100bb5e58d09ed3c3d46f461f63 Author: Eliot Miranda Date: 2019-12-29 (Sun, 29 Dec 2019) Changed paths: M platforms/Cross/plugins/Squeak3D/b3dMain.c Log Message: ----------- Fix the crash in b3dMainLoop when "If the edge is not on top toggle its (back) fills". This fixes several crashes with cases submitted by Stéphane Rolindin. Thanks, Stéph! Commit: 9f4fae8b5bca2869c59d6ecd194a20799b830172 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9f4fae8b5bca2869c59d6ecd194a20799b830172 Author: Fabio Niephaus Date: 2019-12-30 (Mon, 30 Dec 2019) Changed paths: M .travis.yml M deploy/filter-exec.sh M deploy/pharo/filter-exec.sh Log Message: ----------- Only deploy if deployment secrets are provided This avoids build failures when deployment secrets are not provided (e.g. when the repo is forked and tested by someone else). Commit: f219b7218fad8f083c28f645d2e976f9cb826344 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f219b7218fad8f083c28f645d2e976f9cb826344 Author: Nicolas Cellier Date: 2019-12-31 (Tue, 31 Dec 2019) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Fix the sign of x wheel events in OSX to be inline with "natural scrolling" preference. - The VM should generate positive deltaX for Left to Right trackpad motion - The VM should generate positive deltaY for Bottom to Up trackpad motion For historical reasons, if VM does not send mouse wheel events, but fake keyboard arrow events, then: - The VM should generate a left arrow key for Left to Right trackpad motion - The VM should generate a bottom arrow key for Bottom to Up trackpad motion Not that the preferred direction preference of OSX is taken into account by the VM See https://developer.apple.com/documentation/appkit/nsevent/1525151-isdirectioninvertedfromdevice Above description is for "natural scrolling" preference (the trackpad does drag the screen contents). It will be inverted if the preference is unset (the trackpad does drag the scroll bar). Note that the `isFlipped` method of the Cocoa/Quartz view presumably ha an impact on sign of vertical motions See https://developer.apple.com/documentation/appkit/nsview/1483532-isflipped OpenSmalltalk VM does use isFlipped YES. Commit: afbf9e015cf079ebe5e934b8de1e2a3e2304ed09 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/afbf9e015cf079ebe5e934b8de1e2a3e2304ed09 Author: David T. Lewis Date: 2020-01-04 (Sat, 04 Jan 2020) Changed paths: M image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st M image/LoadFFI.st M image/LoadReader.st M image/LoadSistaSupport.st Log Message: ----------- Fix image MC loading glitch in image build scripts when checking package-cache. MCRepository>>includesVersionNamed: does not check explicit version name, so this may do the wrong thing when checking the cache: version := ((MCCacheRepository default includesVersionNamed: latestVersion) ifTrue: [MCCacheRepository default] ifFalse: [repository]) versionNamed: latestVersion. Therefore do this instead: version := (MCCacheRepository default versionNamed: latestVersion) ifNil: [repository versionNamed: latestVersion]. Commit: 0b4551db2e5c00f67502250d0336757ed12ab096 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0b4551db2e5c00f67502250d0336757ed12ab096 Author: Fabio Niephaus Date: 2020-01-06 (Mon, 06 Jan 2020) Changed paths: M image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st M image/LoadFFI.st M image/LoadReader.st M image/LoadSistaSupport.st Log Message: ----------- Merge pull request #466 from OpenSmalltalk/dtl/build-script-patch [ci skip] Fix image MC loading glitch in image build scripts when checking pack… Commit: f5ec3f4fa2b61af86bbc2b82a1dabe5bfafe8f4e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f5ec3f4fa2b61af86bbc2b82a1dabe5bfafe8f4e Author: smalltalking Date: 2020-01-08 (Wed, 08 Jan 2020) Changed paths: M platforms/Cross/plugins/CroquetPlugin/CroquetPlugin.h M platforms/Mac OS/vm/Developer/sqMacMinimal.c M platforms/Mac OS/vm/osExports.c M platforms/Mac OS/vm/sqMacMain.c M platforms/Mac OS/vm/sqMacMain.h M platforms/unix/vm-display-Quartz/zzz/sqUnixQuartz.m M platforms/unix/vm-display-X11/sqUnixMozilla.c M platforms/unix/vm/osExports.c M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c M platforms/win32/vm/sqWin32Exports.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c Log Message: ----------- Fix type inconsistencies (int vs sqInt) (#464) * Fix type inconsistencies (int vs sqInt) Found by trying to compile with LTO enabled. The VM compiles with the updated types on linux with or without LTO enabled (the LTO VM is not functional). Didn't test with the OSes but changed the declarations in their files. Affected functions: - primInIOProcessEventsFlagAddress - ioGatherEntropy - GetAttributeString - primitivePluginBrowserReady - primitivePluginDestroyRequest - primitivePluginRequestFileHandle - primitivePluginRequestState - primitivePluginRequestURL - primitivePluginRequestURLStream - primitivePluginPostURL * Include sqMemoryAccess.h to have sqInt defined Commit: 0f0b5324b6e41cda7f92c335d45e563d41285ccd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0f0b5324b6e41cda7f92c335d45e563d41285ccd Author: Eliot Miranda Date: 2020-01-09 (Thu, 09 Jan 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per Name: VMMaker.oscog-eem.2659 StackInterpreter: Fix awful bug in Context printing (wot I wrote) where the sanitised sp is printed rather than the awful truth. Have the CoInterpreter's interpret use the Cogit;s breakBlock if it has none and the Cogit has one. CoInterpreter: Fix a major policy violation. To make doits fast I had made CoInterpreter>> executeNewMethod always JIT. But executeNewMethod is used in many more places than primitiveExecuteMethod[ArgsArray], which meant that methods were being over-eagerly jitted (such as in perform:). The Cog policy is only to JIT on second use, or several loop iterations, except for executeMewthod, where we need eager jitting to have jit speed doit performance. So introduce executeNewMethodJitting, using it in primitiveExecuteMethod [ArgsArray] to do what it says, and revert executeNewMethod to not JIT (if the method is already jitted it will of course run the jit version). Rename activateCoggedNewMethod: to the more comprehensible activateNewCogMethod:inInterpreter:, requiring all clients to pass in the newMethod methodHeader, which is the pointer to the cogMethod. Cogit: Use LoadEffectiveAddressMw:r:R: in place of MoveR:R:, AddCq:R: in as many places as possible, including to set SmallInteger tags. Improve the IMMUTABILITY store check/immutability trampolines by sharing the stack switch code between the two c ases and oinly taking the branch in the immutable/uncommon case. Hence extract trampoline return in to its own routine. Refactor genWriteCResult[High]IntoReg: to do all the necessary checking. Move genLoadStackPointers to Cogit from the backEnd. Fix old bug in ARM32 LoadEffectiveAddressMwrR Improve the ARM32 trampoline marshalling code fractionally. Fix a slip in Lowcode FFI trampoline generation. Gazillions of registers on ARMv8 => add Extra8Reg Fix bug in genAlignCStackSavingRegisters:numArgs:wordAlignment:. Must ignore register arguments. No need to flush the cache on rewriting prim invocaton if out-of-line literals are used. A number of small improvements to context creation as part of reversing the order of comparison of the SPReg with anythin g else, to suit ARMv8. Implement and use a full set of ShiftCqRR. Use three argument shifts to save an instruction in converting the result of a division primitive into a SmallInteger, and save an instruction getting the format of an object in at:[put:]. In calling machine code primitives on RISCs we must save & restore the link register around the call. We haven't noticed this issue before because we only have one mcprim (hashMultiply) and that gets implemeted entirely in generated machine code if a processor implements MulRR. Since we're interested in performance and there are typically registers to spare, on RISC define saveAndRestoreLinkRegUsingCalleeSavedRegNotLiveAtPointOfSendAround: instead of using saveAndRestoreLinkRegAround: so that the Linkreg gets written and read from an available callee-saved reg (if available). Split the generation of translated hashMultiply into a SmallInteger version and a Large(Positive)Integer version. hashMultiply never fails in SmallInteger. Get the ARMv5 "stop" instruction (BKPT) correct. Generalize OutOfLineLiteralsManager to function for 64 bits via OutOfLineLiteralsManagerFor64Bits. OutOfLineLiteralsManagerFor64Bits's job is to segregate 32-bit from 64-bit literals for better packing. Change the hack of using operand 1 in a literal to hold the "isSharable/isUnique not" flag to holding both the flag (now as an integer in the LSB) and the literal size (in a four bit field above the LSB). Send trampolines must save & restore the link register around the selectorIndexDereferenceRoutine if on a 64-bit RISC. Fix poor code for locating the last jump in the PIC prototype. Commit: cd8567dc22901aea78d47adbb700aef5500dec07 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cd8567dc22901aea78d47adbb700aef5500dec07 Author: Nicolas Cellier Date: 2020-01-10 (Fri, 10 Jan 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3d.h Log Message: ----------- Fix the signature of b3dDrwBufferFunction We instantiate this function pointer with a function taking `sqInt` rather than `int`. In 32 bits VM, it's OK, but on 64bits VM, sqInt is 64bits wide. This prototype mismatch did prevent sign extension of negative int values. Thus an offset of -1 in `yValue` becomes an offset of 2^32-1 in the callee, which then cause a buffer overrun (and most often a SEGV) Commit: d6ca6c105cf29c89147070e039c49d831db42a81 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d6ca6c105cf29c89147070e039c49d831db42a81 Author: Nicolas Cellier Date: 2020-01-11 (Sat, 11 Jan 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3dMain.c Log Message: ----------- Protect against an integer overflow in b3dComputeIntersection Commit: 43cc2445f46f9bffb9e445bdeceb8c9e54fec44e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/43cc2445f46f9bffb9e445bdeceb8c9e54fec44e Author: Nicolas Cellier Date: 2020-01-11 (Sat, 11 Jan 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3dInit.c Log Message: ----------- clamp initial scaledX/Y in int range Commit: f3ef66d13463dd2fc363779d0888798343e81522 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f3ef66d13463dd2fc363779d0888798343e81522 Author: Nicolas Cellier Date: 2020-01-11 (Sat, 11 Jan 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3dMain.c Log Message: ----------- Avoid blitting at negative yValue offset Commit: fc5a09861c0593968da282dd8221f66c0a11ca4a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fc5a09861c0593968da282dd8221f66c0a11ca4a Author: Eliot Miranda Date: 2020-01-12 (Sun, 12 Jan 2020) Changed paths: M platforms/Cross/plugins/BochsIA32Plugin/BochsIA32Plugin.h M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/BochsX64Plugin/BochsX64Plugin.h M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp M platforms/Cross/plugins/GdbARMPlugin/GdbARMPlugin.h M platforms/Cross/plugins/GdbARMPlugin/sqGdbARMPlugin.c M platforms/Cross/plugins/GdbARMv8Plugin/GdbARMv8Plugin.h M platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c Log Message: ----------- Add a "go-faster" integer register state primitive that replaces many Alien invocations with one, and uses an integer array to avoid any store check. Commit: 45c007445180ab0135a14b495f2dc9a76787bf54 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/45c007445180ab0135a14b495f2dc9a76787bf54 Author: Nicolas Cellier Date: 2020-01-14 (Tue, 14 Jan 2020) Changed paths: M platforms/iOS/vm/OSX/SqViewClut.m.inc Log Message: ----------- Avoid a signed int overflow (UB) With compiler option: `-fsanitize=undefined`, we get: > ../../platforms/iOS/vm/OSX/SqViewClut.m.inc:87:52: runtime error: left shift of 65280 by 16 places cannot be represented in type 'int' Commit: d7c138af4988df9fdd63d6796a938c3e84f45193 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d7c138af4988df9fdd63d6796a938c3e84f45193 Author: Nicolas Cellier Date: 2020-01-14 (Tue, 14 Jan 2020) Changed paths: M platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryInterface.m Log Message: ----------- Avoid misaligned memory access Compiler option `-fsanitize=undefined` reports: ../../platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryInterface.m:379:78: runtime error: load of misaligned address 0x0001035ede4b for type 'uint32_t' (aka 'unsigned int'), which requires 4 byte alignment Commit: 80f639a99de57cb016bd3be5d6c53344a8f67ba5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/80f639a99de57cb016bd3be5d6c53344a8f67ba5 Author: Fabio Niephaus Date: 2020-01-14 (Tue, 14 Jan 2020) Changed paths: M build.macos64x64/common/Makefile.flags Log Message: ----------- Add MacOSX10.15.sdk to Makefile.flags [ci skip] This is necessary, but not sufficient (see #470), to be able to build OSVM on macOS Catalina. Commit: 7ddb85b5ff967721dd3bb6ea9059b675d8c96dc6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7ddb85b5ff967721dd3bb6ea9059b675d8c96dc6 Author: johnmci Date: 2020-01-16 (Thu, 16 Jan 2020) Changed paths: M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.h M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.m M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m Log Message: ----------- add logic to place screen on window that will fit, don't downsize squeak window Commit: acdbd34e6c25c7ff1b5f47cb6b3ce91de49cb36a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/acdbd34e6c25c7ff1b5f47cb6b3ce91de49cb36a Author: Eliot Miranda Date: 2020-01-16 (Thu, 16 Jan 2020) Changed paths: M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.h M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.m M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m Log Message: ----------- Merge pull request #471 from OpenSmalltalk/JMM/openWindowOnLargestScreen add logic to place screen on window Commit: 951e31e5f66ddd85b29369ac95741dfeb7b13328 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/951e31e5f66ddd85b29369ac95741dfeb7b13328 Author: Eliot Miranda Date: 2020-01-18 (Sat, 18 Jan 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spur64src/vm/interp.h M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcode64src/vm/interp.h M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/interp.h M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestack64src/vm/interp.h M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spurlowcodestacksrc/vm/interp.h M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursista64src/vm/interp.h M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursistasrc/vm/interp.h M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spursrc/vm/interp.h M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/interp.h M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/interp.h M spurstacksrc/vm/validImage.c M src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/CameraPlugin/CameraPlugin.c M src/plugins/CroquetPlugin/CroquetPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/DropPlugin/DropPlugin.c M src/plugins/FFTPlugin/FFTPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/StarSqueakPlugin/StarSqueakPlugin.c M src/plugins/UUIDPlugin/UUIDPlugin.c M src/plugins/UnicodePlugin/UnicodePlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/WeDoPlugin/WeDoPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVm source as per VMMaker.oscog-eem.2663 Implement 238 primitiveFloatArrayAt & 239 primitiveFloatArrayAtPut for Spur WordArray and DoubleWordArray as higher performance versions of the FloatArrayPlugin. No JIT implementation yet. Add the integer arrays to the plugin API (classDoubleByteArray et al). Reorganize vmProxyMajor/MinorVersion so that different object memories can provide different versions (this API is only really useful in Spur). Comment a non-obvious point with InterpreterPlugin>>setInterpreter:. Remove some annoying Undefined Behavior. When compiling the VM with Makefile.flags CFLAGS,LDFLAGS,BFLAGS,DYFLAGS= -fsanitize=undefined \ we then get annoying undefined behavior warning, like: ../../spursrc/vm/gcc3x-cointerp.c:52198:33: runtime error: signed integer overflow: -1197416510 * 16807 cannot be represented in type 'int' ../../src/plugins/BitBltPlugin/BitBltPlugin.c:4390:34: runtime error: shift exponent 32 is too large for 32-bit type 'usqInt' (aka 'unsigned int') Since we should not rely on UB, let's remove UB. For hash, we simply use unsigned arithmetic (with the final bitAnd: this is strictly equivalent). For BitBlt, we must avoid shifting by 32 positions (replace those trivial case of information fitting a single 32-bit word). Cogit: Fix another slip in CogARMCompiler>>concretizeLoadEffectiveAddressMwrR Commit: 22a32261546a5e2b3b23564206771595683d3398 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/22a32261546a5e2b3b23564206771595683d3398 Author: Eliot Miranda Date: 2020-01-18 (Sat, 18 Jan 2020) Changed paths: M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c Log Message: ----------- ProcessorSimulatorPlugins as per Cog-eem.392 Fix a stupid slip in primitiveIntegerRegisterState. [ci skip] Commit: c02cb7e0d1868316828d1fb9df77b15d6df985b9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c02cb7e0d1868316828d1fb9df77b15d6df985b9 Author: Eliot Miranda Date: 2020-01-21 (Tue, 21 Jan 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3d.h M platforms/Cross/plugins/Squeak3D/b3dInit.c M platforms/Cross/plugins/Squeak3D/b3dMain.c Log Message: ----------- Merge pull request #469 from OpenSmalltalk/fix_issue468_Squeak3D_64bits_crash Fix issue468 squeak3D 64bits crash Commit: ea1a65c66c484df3ee72551695dd8b2148a2f686 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ea1a65c66c484df3ee72551695dd8b2148a2f686 Author: Eliot Miranda Date: 2020-01-22 (Wed, 22 Jan 2020) Changed paths: M processors/ARM/gdb-8.3.1/sim/aarch64/simulator.c Log Message: ----------- Update the cache handling code of the ARMv8 simulator to reflect the RPi 3 Broadcom A72 chip, and to handle more cache flusing instructions. [ci skip] Commit: fc26c6398750a0c72d5341cbd97b342d20bba718 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fc26c6398750a0c72d5341cbd97b342d20bba718 Author: Eliot Miranda Date: 2020-01-22 (Wed, 22 Jan 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2671 Spur: Succumb to temptation and avoid moving the value through the FPU in 64-bit floatAt:[put:]. Rename the primitives to fit the house style (primitiveSpurFoo, not primitiveFooSpur). Refactor smallFloatObjectOf: to avoid duplication. Cogit: Refactor simulation of flushICacheFrom:to: so that it actually runs on processors which we can and do choose to implement this in machine code. The implementation is now in the backEnd and defers to the simulator if required. Compute numTrampolines more accurately, deferring to the backEnd class for backEnd specific trampolines such as ceCheckFeatures. Add AddCqRR (useful for ARMv8 cache flushing). Clean up the definition of the optional trampolines for ZeroCount, low-level locks, processor feature checks and cache flushing. Commit: 2aaf1b919b15e14e01ef083e260e3011150cb6fc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2aaf1b919b15e14e01ef083e260e3011150cb6fc Author: Eliot Miranda Date: 2020-01-23 (Thu, 23 Jan 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/CameraPlugin/CameraPlugin.c M src/plugins/CroquetPlugin/CroquetPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/DropPlugin/DropPlugin.c M src/plugins/FFTPlugin/FFTPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/StarSqueakPlugin/StarSqueakPlugin.c M src/plugins/UUIDPlugin/UUIDPlugin.c M src/plugins/UnicodePlugin/UnicodePlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/WeDoPlugin/WeDoPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2672 Slang/Cogit: Declare the ceTryLockVMOwner & ceUnlockVMOwner routines as conditional on COGMTVM (as they should be). Clean up the variable emission code to handle this kind of (ugly) hack more cleanly. Fixes a regression introduced by VMMaker.oscog-eem.2671 where these variables would be mis-declared as sqInts in COGMTVM=0 compiles. Commit: c21e41a649d95395ec721ef3d47d4031d16f0ffd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c21e41a649d95395ec721ef3d47d4031d16f0ffd Author: Eliot Miranda Date: 2020-01-23 (Thu, 23 Jan 2020) Changed paths: M spurlowcode64src/vm/exampleSqNamedPrims.h M spurlowcodesrc/vm/exampleSqNamedPrims.h M spurlowcodestack64src/vm/exampleSqNamedPrims.h M src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/CameraPlugin/CameraPlugin.c M src/plugins/CroquetPlugin/CroquetPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/DropPlugin/DropPlugin.c M src/plugins/FFTPlugin/FFTPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/StarSqueakPlugin/StarSqueakPlugin.c M src/plugins/UUIDPlugin/UUIDPlugin.c M src/plugins/UnicodePlugin/UnicodePlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/WeDoPlugin/WeDoPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2673 Placate Slang by adding a macro for the internal vs external tag on the end of the plugin moduleName, so that we keep the changes in VMMaker.oscog-eem.2671 & VMMaker.oscog-eem.2672 for hack #if declarations, and don't have to add yet another hack to handle the old style (and more verbose) moduleName declaration. And move declareModuleName: to VMPluginCodeGenerator where it belongs. Alas this means that we regenerate all plugins, but just this once. Fix the unofficial exampleSqNamedPrims.h files in some lowcode dirs. Commit: 57cb3ddae665f332b170bbc7a0d17ba9c7630be7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/57cb3ddae665f332b170bbc7a0d17ba9c7630be7 Author: Eliot Miranda Date: 2020-01-23 (Thu, 23 Jan 2020) Changed paths: M build.linux64ARMv8/pharo.cog.spur/build/mvm M build.linux64ARMv8/pharo.stack.spur/build.debug/mvm M build.linux64ARMv8/pharo.stack.spur/build/mvm A build.linux64ARMv8/squeak.cog.spur/build.assert/mvm A build.linux64ARMv8/squeak.cog.spur/build.debug/mvm A build.linux64ARMv8/squeak.cog.spur/build/mvm A build.linux64ARMv8/squeak.cog.spur/makeallclean A build.linux64ARMv8/squeak.cog.spur/makealldirty A build.linux64ARMv8/squeak.cog.spur/plugins.ext A build.linux64ARMv8/squeak.cog.spur/plugins.int M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M platforms/Cross/vm/sqCogStackAlignment.h M platforms/unix/vm/sqConfig.h M platforms/unix/vm/sqUnixMain.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c Log Message: ----------- CogVM source as per Name: VMMaker.oscog-eem.2675 Cogit: Correct the definition of genPrimitiveHighBit. If there is no implementation of LZCNT then it should return UnimplementedPrimitive, not CompletedPrimitive. Reverse the order of operands in ClzR:R:; this is a left-to-right assembler, not an ATT syntax right-to-left one. Implement OrCq:R:R: to save an instruction in genPrimitiveHighBit. Move genHighBitIn:ofSmallIntegerOopWithSingleTagBit: into the backEnd where it belongs. Nuke the useless genHighBitAlternativeIn:ofSmallIntegerOopWithSingleTagBit:. ARMv8 linux/unix: Make sure there are compilable definitions of getfp & getsp and that the back trace handler can get hold of fp & sp. Builds: Add build directories for squeak.cog.spur on ARMv8. Modify the mvm scripts to install build.linux64ARMv8 builds under a name that doesn't conflict with build.linux64x64. Commit: 6a7f9170f22221bc697a30844591a0ecf299bf3d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6a7f9170f22221bc697a30844591a0ecf299bf3d Author: Nicolas Cellier Date: 2020-01-24 (Fri, 24 Jan 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3dInit.c Log Message: ----------- Fix issue #472 (#473) when `i == j`, there is nothing to sort. If we call this for the first time, there is no stack allocated by `INIT(0)`, but stack is accessed nonetheless thru `PUSH(i,j)`. The best thing todo IMO is to return early. Commit: a120bbe1c68c4c1d4fb08ec52b0e60de60fb5f2a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a120bbe1c68c4c1d4fb08ec52b0e60de60fb5f2a Author: Eliot Miranda Date: 2020-01-24 (Fri, 24 Jan 2020) Changed paths: M build.linux64ARMv8/squeak.cog.spur/build.assert/mvm M build.linux64ARMv8/squeak.cog.spur/build.debug/mvm M build.linux64ARMv8/squeak.cog.spur/build/mvm M platforms/unix/vm/sqUnixMain.c M platforms/unix/vm/sqUnixSpurMemory.c M spur64src/vm/cogit.c Log Message: ----------- Changes for ARMv8 on aarch64-linux-gnu. Get the platform defines right: if __linux__ && (defined(__arm64__) || defined(__aarch64__)) Include cogitARMv8.c in the files to be included by cogit.c (only for one configuration for now; there are serious self-modifying code permission problems to be solved before an ARMv8 JIT can be realized). Configure the build.linux64ARMv8/squeak.cog.spur builds correctly; we should *NOT* manually define platform defines; these are to be left up to the native compiler. (I'll fix the stack builds soon). Commit: 18e358378fb647da7ced9514378c059884ea1a49 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/18e358378fb647da7ced9514378c059884ea1a49 Author: Nicolas Cellier Date: 2020-01-26 (Sun, 26 Jan 2020) Changed paths: M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c Log Message: ----------- Provide some more FFI tests for passing struct by value These tests are related to https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/443 Commit: 4dae90acb85467301be64ff686c29f2c0baa8801 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4dae90acb85467301be64ff686c29f2c0baa8801 Author: Nicolas Cellier Date: 2020-01-26 (Sun, 26 Jan 2020) Changed paths: M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c Log Message: ----------- Add new FFI tests mixing int/float/double parameters with short struct passed by value. The goal is to check cases of struct passed by value when there is no more register available, particularly on X64SysV. Commit: 300c492314f7d80dfbf7ad4b8444874a16ec4ef4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/300c492314f7d80dfbf7ad4b8444874a16ec4ef4 Author: Nicolas Cellier Date: 2020-01-27 (Mon, 27 Jan 2020) Changed paths: M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c Log Message: ----------- Fix declaration of struct ffiTestSl2 it's long long rather than long for LLP64 (WIN64) compatibility Commit: 5aede6849b39b4e55bc57467713f92c723910fbe https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5aede6849b39b4e55bc57467713f92c723910fbe Author: Eliot Miranda Date: 2020-01-29 (Wed, 29 Jan 2020) Changed paths: M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-nice.2680/VMMaker.oscog-eem.2685. ThreradedFFIPlugin: solve passing/returning struct by value on X64 See https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/443 On X64/SysV struct up to 16 byte long can be passed by value (& returned) into a pair of 8-byte registers. The problem is to know whether these are integer (RAX RDX) or float (XMM0 XMM1) registers or eventually a mix of... For each 8-byte, we must know if it contains at least an int (in which case we have to use an int register), or exclusively floating points (a pair of float or a double). Previous algorithm did check first two fields, or last two fields which does not correctly cover all cases... For example int-int-float has last two fields int-float, though it will use RAX XMM0. So we have to know about struct layout... Unfortunately, this information is not included into the compiledSpec. The idea here is to reconstruct the information. See #registerTypeForStructSpecs:OfLength: & It's also impossible to cover the exotic alignments like packed structure cases... if we really want to pass that, this will mean passing the alignment information, a more involved change of #compiledSpec (we need up to 16 bits by field to handle that information since our FFI struct are limited to 65535 bytes anyway). For returning a struct, that's the same problem. We have four possible combinations of int-float registers. Consequently, the idea is to analyze #registerType: and switch to appropriate case. I found convenient to pass the ffiRetSpec compiledSpec object thru CalloutState (it's the Smalltalk WordArray object, not a pointer to its firstIndexableField) for performing this analysis... Not sure if this is the best choice. Since we have 4 different SixteenByte types, I have changed value, since it's what will be used to memcpy to allocated ByteArray handle. Commit: 4e57f60a09801c434fc3642a98e6d00e45e981bf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4e57f60a09801c434fc3642a98e6d00e45e981bf Author: Eliot Miranda Date: 2020-01-29 (Wed, 29 Jan 2020) Changed paths: M build.linux64ARMv8/squeak.cog.spur/build.assert/mvm M build.linux64ARMv8/squeak.cog.spur/build.debug/mvm M build.linux64ARMv8/squeak.cog.spur/build/mvm M platforms/Cross/vm/sq.h M platforms/unix/plugins/SecurityPlugin/sqUnixSecurity.c M platforms/unix/vm/sqUnixMain.c M platforms/unix/vm/sqUnixSpurMemory.c Log Message: ----------- Update the ARMv8 builds to specify DUAL_MAPPED_CODE_ZONE. Fix a security warning in the SecurityPlugin; sqUnixSecurity.c should use getcwd instead of getwd. Fix compilation warnings regarding printfs for ARMv8 in sqUnixMain.c. Change ioAllocateDualMappedCodeZoneOfSize:MethodZone: to ioAllocateDualMappedCodeZone:OfSize:WritableZone: to get around pointer scrambling devices on modern linuxes. Commit: 1cbb668e7f45385357bf7480f44ba5edc17a4bbc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1cbb668e7f45385357bf7480f44ba5edc17a4bbc Author: Eliot Miranda Date: 2020-01-30 (Thu, 30 Jan 2020) Changed paths: M nsspur64src/vm/cogit.c M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sq.h M platforms/Mac OS/vm/sqPlatformSpecific.h M platforms/iOS/vm/OSX/sqPlatformSpecific.h M platforms/iOS/vm/iPhone/sqPlatformSpecific.h M platforms/unix/vm/sqPlatformSpecific.h M platforms/unix/vm/sqUnixSpurMemory.c M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32SpurAlloc.c M scripts/revertIfEssentiallyUnchanged M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2692 ThreadedFFIPlugins: See https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/443 FFI support for returning of a packed struct by value in X64 SysV On X64/SysV struct up to 16 byte long can be passed by value into a pair of 8-byte registers. The problem is to know whether these are int (RAX RDX) or float (XMM0 XMM1) registers or eventually a mix of... For each 8-byte, we must know if it contains at least an int (in which case we have to use an int register), or exclusively floating points (a pair of float or a double). Previous algorithm did check first two fields, or last two fields which does not correctly cover all cases... For example int-int-float has last two fields int-float, though it will use RAX XMM0. So we have to know about struct layout... Unfortunately, this information is not included into the compiledSpec. The idea here is to reconstruct the information. See #registerTypeForStructSpecs:OfLength: It's also impossible to cover the exotic alignments like packed structure cases... But if we really want to pass that, this will mean passing the alignment information, a more involved change of #compiledSpec (we need up to 16 bits by field to handle that information since our FFI struct are limited to 65535 bytes anyway). For returning a struct, that's the same problem. We have four possible combinations of int-float registers. Consequently, the idea is to analyze the ffiRetSpec compiledSpec object thru CalloutState (it's the Smalltalk WordArray object, not a pointer to its firstIndexableField) for performing this analysis... Not sure if the best choice. Since we have 4 different SixteenByte types, I have changed value, since it's what will be used to memcpy to allocated ByteArray handle. Checking the size of a struct is not the only condition for returning a struct via registers. Some ABI like X64 SysV also mandates that struct fields be properly aligned. Therefore, we cannot just rely on #returnStructInRegisters:. Rename #returnStructInRegisters: -> #canReturnInRegistersStructOfSize: Perform a more thorough analysis during the setup in #ffiCheckReturn:With:in: The ABI will #encodeStructReturnTypeIn: a new callout state. This structReturnType is telling how the struct should be returned - via registers (and which registers) - or via pointer to memory allocated by caller This structReturnType will be used at time of: - allocating the memory in caller - see #ffiCall:ArgArrayOrNil:NumArgs: - dispatching to the correct FFI prototype - see ThreadedX64SysVFFIPlugin>>#ffiCalloutTo:SpecOnStack:in: - copying back the struct contents to ExternalStructure handle (a ByteArray) - see #ffiReturnStruct:ofType:in: Since structReturnType is encoded, it is not necessarily accessed directly, but rather via new implementation of #returnStructInRegisters: whch now takes the calloutState and knows how to decode its structReturnType. Check for unaligned struct and pass them in MEMORY (alloca'd memory passed thru a pointer). Use a new (branchless) formulation for aligning the byteSize to next multiple of fieldAlignment. Encode registryType of invalid unaligned candidate as 2r110, and pass the struct address returned by the foreign function in $RAX register in place of callout limit when stuct is returned by MEMORY. CoInterpreter: eliminate all but one compiler warning. Cogit/Slang: fix several C compiler warnings re the Cogits. Cogit: DUAL_MAPPED_CODE_ZONE (require -DDUAL_MAPPED_CODE_ZONE=1 to enable) Fix denial of write/execute facility on modern Linuxes by dual mapping the code zone in to a read/execute address range for code execution and a read/write address range for code editing. Maintain codeToDataDelta and provide codeXXXAt:put: to write at address + codeToDataDelta to the offset writable address range. Hence DUAL_MAPPED_CODE_ZONE requires a new executbale permissions applyer that will also do the dual mapping, sqMakeMemoryExecutableFrom:To:CodeToDataDelta:. Provide writableMethodFor: as a convenience for obtaining a writable cogMethod. No longer have the fillInXXXHeaderYYY: methods answer anything since they're given the writable header, not the actual header. Cogit: Refactor indexForSelector:in:at: to indexForSelector:in: in the back end so it can be inlined (via a macro). Slang: emit constant for (M << N) and (M - N) - L for constant integers. Fix in slang case statement expansion labels. During expansion in case statements, trees are duplicated and expanded. Commit: 0f14516f9ad102125a11b45f0e4a21c98f8272fd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0f14516f9ad102125a11b45f0e4a21c98f8272fd Author: Eliot Miranda Date: 2020-01-30 (Thu, 30 Jan 2020) Changed paths: M platforms/minheadless/unix/sqUnixSpurMemory.c M platforms/minheadless/windows/sqWin32SpurAlloc.c Log Message: ----------- And the minheadless builds need to update from sqMakeMemoryExecutableFromTo to sqMakeMemoryExecutableFromToCodeToDataDelta Commit: f6169e033fba2597f7611a349d5f3520e92e095d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6169e033fba2597f7611a349d5f3520e92e095d Author: Nicolas Cellier Date: 2020-01-31 (Fri, 31 Jan 2020) Changed paths: M platforms/Cross/vm/sq.h Log Message: ----------- Make prototype of new sqMakeMemoryNotExecutableFromTo function LLP64 friendly unsigned long is too short (32 bits) to hold a pointer (64 bits) on WIN64 Commit: 08768500d9cfbbc8509030e0bbe81ce907358a50 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/08768500d9cfbbc8509030e0bbe81ce907358a50 Author: Nicolas Cellier Date: 2020-01-31 (Fri, 31 Jan 2020) Changed paths: M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Make Win32 prototype of ioSetCursorARGB Cross-compatible conflicting prototype make compilation fail Commit: 84ccd0aa7a6bc9b3c4182c3810b678fa89d9e834 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/84ccd0aa7a6bc9b3c4182c3810b678fa89d9e834 Author: Eliot Miranda Date: 2020-01-31 (Fri, 31 Jan 2020) Changed paths: M platforms/Cross/vm/sq.h M platforms/Mac OS/vm/sqMacMemory.c M platforms/iOS/vm/Common/sqMacV2Memory.c M platforms/minheadless/unix/sqPlatformSpecific-Unix.h M platforms/minheadless/unix/sqUnixMemory.c M platforms/minheadless/unix/sqUnixSpurMemory.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.h M platforms/minheadless/windows/sqWin32Alloc.c M platforms/minheadless/windows/sqWin32SpurAlloc.c M platforms/unix/vm/sqUnixMemory.c M platforms/unix/vm/sqUnixSpurMemory.c M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32SpurAlloc.c Log Message: ----------- Change any and all sqMakeMemory...Executable... prototypes and implementations to use usqInt for address arguments (sqInt must be used for teh delta arg). IMO we should use usqInt where it makes sense (our APIs rather than OS APIs). I'm not interested in supporting 64-bit oops in 32-bit hosts, or 32-bit oops in 64-bit hosts, so I think it safe to assume that usqInt is equiavlent to usqIntptr_t, & sqInt to sqIntptr_t, and they're shorter. I'm open to persuasion so if I'm wrong please correct me (and the source). Commit: 8619b6f7e9384acd8066fb2a6f4d691ed126c528 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8619b6f7e9384acd8066fb2a6f4d691ed126c528 Author: Eliot Miranda Date: 2020-01-31 (Fri, 31 Jan 2020) Changed paths: M build.macos64x64/gdbarm64/conf.COG M processors/ARM/gdb-8.3.1/sim/aarch64/cpustate.c M processors/ARM/gdb-8.3.1/sim/aarch64/cpustate.h M processors/ARM/gdb-8.3.1/sim/aarch64/simulator.c Log Message: ----------- ARMv8 simulator: implement 16-byte alignment checking (!!). If the SA0 bit is set in SCTLR_EL0 (and this is the case on e.g. Manjaro ARMv8) then any attempt to load or store throguh the sp if the sp is aligned on other than a 16 byte boundary will produce an illegal instruction fault. [ci skip] Commit: ad4bb0bedc3f95d3676687bf8e443a35f6bd378e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ad4bb0bedc3f95d3676687bf8e443a35f6bd378e Author: Nicolas Cellier Date: 2020-02-01 (Sat, 01 Feb 2020) Changed paths: M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c Log Message: ----------- Add some FFI tests passing/returning union Those tests include struct in union in struct for challenging X64 SysV implementation Commit: c8550351fce3184c81dd76bb966683b46a1d30aa https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c8550351fce3184c81dd76bb966683b46a1d30aa Author: Nicolas Cellier Date: 2020-02-01 (Sat, 01 Feb 2020) Changed paths: M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c Log Message: ----------- Regenerate source for Threaded FFI plugin from VMMaker.oscog-nice.2693 Let X64 SysV FFI handle passing/returning union This can be tricky because we can have union in struct, struct in union etc... So we must correctly peel the union. Commit: bd898a75d5b00b4111595a2646d74bbda1fcc934 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bd898a75d5b00b4111595a2646d74bbda1fcc934 Author: Nicolas Cellier Date: 2020-02-01 (Sat, 01 Feb 2020) Changed paths: M platforms/Cross/vm/sqCogStackAlignment.h M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Try and restore compilation on ARM32 It seems like __arm32__ is not a predefined macro on gcc Maybe __arm__ is also defined in case of __aarch64__ I did not check. But in this case we must first check for __aarch64__, then for __arm__ Commit: 0409c34c26b31f1b7ff6b9c6cf8fcfad114cbf41 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0409c34c26b31f1b7ff6b9c6cf8fcfad114cbf41 Author: Alistair Grant Date: 2020-02-03 (Mon, 03 Feb 2020) Changed paths: M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FileAttributesPlugin/faSupport.h Log Message: ----------- GetFileAttributesExW() workaround If GetFileAttributesExW() fails with a sharing violation, try again using FindFirstFileW(). GetFileAttributesExW() is known to fail for junction files and others such as pagefile.sys, see e.g.: https://github.com/golang/go/commit/d13fa4d2256d6dfd030c03a82db258872e3e646c https://bugs.ruby-lang.org/issues/6845 Addresses: https://github.com/pharo-project/pharo/issues/3571 Commit: 021fc79c1bc5ff70bc03f49318690772ba9f44cf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/021fc79c1bc5ff70bc03f49318690772ba9f44cf Author: Alistair Grant Date: 2020-02-04 (Tue, 04 Feb 2020) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin 2.0.9 GetFileAttributesExW() workaround If GetFileAttributesExW() fails with a sharing violation, try again using FindFirstFileW(). GetFileAttributesExW() is known to fail for junction files and others such as pagefile.sys, see e.g.: https://github.com/golang/go/commit/d13fa4d2256d6dfd030c03a82db258872e3e646c https://bugs.ruby-lang.org/issues/6845 See commit: 0409c34c26b31f1b7ff6b9c6cf8fcfad114cbf41 Addresses: https://github.com/pharo-project/pharo/issues/3571 Commit: 4868d1e8e452ed6b461987182b4418a88712e32f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4868d1e8e452ed6b461987182b4418a88712e32f Author: Alistair Grant Date: 2020-02-04 (Tue, 04 Feb 2020) Changed paths: M build.macos64x64/gdbarm64/conf.COG M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqCogStackAlignment.h M platforms/Mac OS/vm/sqMacMemory.c M platforms/iOS/vm/Common/sqMacV2Memory.c M platforms/minheadless/unix/sqPlatformSpecific-Unix.h M platforms/minheadless/unix/sqUnixMemory.c M platforms/minheadless/unix/sqUnixSpurMemory.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.h M platforms/minheadless/windows/sqWin32Alloc.c M platforms/minheadless/windows/sqWin32SpurAlloc.c M platforms/unix/vm/sqUnixMain.c M platforms/unix/vm/sqUnixMemory.c M platforms/unix/vm/sqUnixSpurMemory.c M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32SpurAlloc.c M platforms/win32/vm/sqWin32Window.c M processors/ARM/gdb-8.3.1/sim/aarch64/cpustate.c M processors/ARM/gdb-8.3.1/sim/aarch64/cpustate.h M processors/ARM/gdb-8.3.1/sim/aarch64/simulator.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c Log Message: ----------- Merge remote-tracking branch 'osvm/Cog' into Issue3571 Commit: 811df757ca9a874b01a1ee5100600ce450e19f50 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/811df757ca9a874b01a1ee5100600ce450e19f50 Author: Eliot Miranda Date: 2020-02-04 (Tue, 04 Feb 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2705 Cogit: Add support for a substitute SPReg to cope with the ARMv8's typical 16-byte stack pointer alignment requirement. Implement NativePopR:& NativePushR:. Fix compilation warnings for cStack/FramePointerAddress access. Fix nextProfileTickAddress for 64-bit simulation. Write stackLimitAddress & vmOwnerLockAddress in the modern style. Move genLoadStackPointers from Cogit to CogAbstractInstruction where it lives with the other stack load/store generartors, allowing ARMv8 to easily override to use ldp/stp as desired. Consequently... - add NativePopR NativePushR NativeRetN abstract instructions (so far only NativeRetN needs to be implemented; see ceCaptureCStackPointers) - add ABICalleeSavedRegisterMask & ABICallerSavedRegisterMask to CogAbstractRegisters - Add ABIResultReg and ABIResultRegHigh and nuke the cResultRegister accessor. - Rename genGetLeafCallStackPointer to genGetLeafCallStackPointers, and have ceGetSP answer the native stack pointer. Add support for cache flushing in the dual mapped regime, hence rename maybeGenerateICacheFlush to maybeGenerateCacheFlush. Slang: Sort variables by size so that they occupy a little less space. reenterInterpreter does *not* need to be exported. Nuke unused Cogit Lowcode vars when not generating a LowcodeVM. FFI Plugins: Let X64 SysV FFI handle passing/returning union This can be tricky because we can have union in struct, struct in union etc... So we must correctly peel the union. Commit: 0f974af6a09ca774a1bd4d24b9f748b9da506ab4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0f974af6a09ca774a1bd4d24b9f748b9da506ab4 Author: Eliot Miranda Date: 2020-02-04 (Tue, 04 Feb 2020) Changed paths: M build.linux32x86/pharo.cog.spur.minheadless/build.assert/mvm M build.linux64ARMv8/squeak.cog.spur/build.assert/mvm M build.linux64ARMv8/squeak.cog.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm M build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur.minheadless/build/mvm M platforms/Cross/vm/sqCogStackAlignment.h Log Message: ----------- Fix frame pointer alignment checking on ARMv8. Fix the target directories and names for several linux builds. [ci skip] Commit: 015d381da7b553f0add8aa53b3f72014b16f5c82 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/015d381da7b553f0add8aa53b3f72014b16f5c82 Author: Nicolas Cellier Date: 2020-02-08 (Sat, 08 Feb 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3dDraw.c M platforms/Cross/plugins/Squeak3D/b3dMain.c Log Message: ----------- Fix some Squeak3D UB: shifting left some negative int A reproducible case of crash provided by Stephane Rollandin gives the following warning with clang `-fsanitize=undefined`: >../../platforms/Cross/plugins/Squeak3D/b3dMain.c:1252:29: runtime error: left shift of negative value -760 >../../platforms/Cross/plugins/Squeak3D/b3dMain.c:1254:25: runtime error: left shift of negative value -751 >../../platforms/Cross/plugins/Squeak3D/b3dDraw.c:317:33: runtime error: left shift of negative value -802 >../../platforms/Cross/plugins/Squeak3D/b3dDraw.c:318:33: runtime error: left shift of negative value -802 >../../platforms/Cross/plugins/Squeak3D/b3dDraw.c:316:33: runtime error: left shift of negative value -114 >../../platforms/Cross/plugins/Squeak3D/b3dMain.c:829:61: runtime error: left shift of negative value -2 On OSX optimized VM, a crash happens in b3dMain.c, in function b3dAddBackFill at line 994 soon after those warnings By protecting the shift with (unsigned) cast, this particular crash disappear. There is still other crash happening related to bad fill list, but one thing at a time... Commit: 81d30f5033605022b493d7fc8725dee30f97b46c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/81d30f5033605022b493d7fc8725dee30f97b46c Author: Nicolas Cellier Date: 2020-02-09 (Sun, 09 Feb 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3dMain.c Log Message: ----------- Respect the tab indentation style rather than space indent Commit: 2ec508a718ca5a00e205c5e0356499ef27d6a87e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2ec508a718ca5a00e205c5e0356499ef27d6a87e Author: Nicolas Cellier Date: 2020-02-09 (Sun, 09 Feb 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3dMain.c Log Message: ----------- Instrument the Squeak3D fill list operations with additional consistency checks Removing a face which is absent from the fill list will break the fill list. Indeed, fill list is a doubly linked list, and remove function is reconnecting prevFace and nextFace of removed face. But if this face has already been removed, we reuse dangling prevFace/nextFace and break the linked list... Same for adding: if the face was already on the list, we ignore the prevFace/nextFace links and thus break the fill list too. Note that this change just instrument, not fix. Commit: 3a0e796dd122fb8f7eb16a11bc1f83d6ab78a10c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3a0e796dd122fb8f7eb16a11bc1f83d6ab78a10c Author: Nicolas Cellier Date: 2020-02-09 (Sun, 09 Feb 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3dMain.c Log Message: ----------- Squeak3D fillList: nullify the prevFace/nextFace chain of removed face This is not a proper fix, just fool-proofing. Commit: 36a1f1e2ef637347ed3b81a2f4cf8df347e4d803 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/36a1f1e2ef637347ed3b81a2f4cf8df347e4d803 Author: Nicolas Cellier Date: 2020-02-09 (Sun, 09 Feb 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3dMain.c Log Message: ----------- Workaround a Squeak3D crash After proper instrumentation, it appears that a reproducible crash case provided by Stephane Rollandin is due to attempt of removing a face which is not in the fillList. This happens in the special case when `leftEdge == lastIntersection`, and the code attempts to remove `leftEdge->rightFace` which seem to not always be on the fillList. It's not obvious to understand if this is really an invariant of the loop, or a wrong expectation. Thus, as a workaround, protect the removal by a preliminary inclusion test. Note that removing or adding a face should change its `B3D_FACE_ACTIVE` flags. Normally, we remove then add, so do not have to toggle the flag. But if we do not remove, then we must toggle, otherwise another invariant will break and cause crash in `b3dToggleTopFills`. Commit: 811c326986a1e933ac4b9998dd7532c650eb0128 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/811c326986a1e933ac4b9998dd7532c650eb0128 Author: Nicolas Cellier Date: 2020-02-09 (Sun, 09 Feb 2020) Changed paths: M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c Log Message: ----------- Try and restore the lowcode capability to return int64 result on various 32bits ABI. The ABIResultRegHigh needs to be defined. *** Hack *** Do not entirely take the regenerated lowcode source from VMMaker.oscog-nice.2709. As there are other changes pending, this may break something else. Instead, just cherry pick the minimal change from the generated code with the goal to let CI pass. We could obtain the exact same result by patching VMMaker.oscog-eem.2705, but this is overkill for a temporary. Commit: bba467e485082764e5b199855ae1e9319e12a7a4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bba467e485082764e5b199855ae1e9319e12a7a4 Author: Ronie Salgado Date: 2020-02-10 (Mon, 10 Feb 2020) Changed paths: M platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h Log Message: ----------- Add some undeclared functions that are used by the HostWindowPlugin. Of particular importance is ioGetWindowHandle whose pointer return value is truncated in 64 bits if undeclared. Commit: ea79c510396eadbeee5a49836d362a785533d404 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ea79c510396eadbeee5a49836d362a785533d404 Author: Nicolas Cellier Date: 2020-02-10 (Mon, 10 Feb 2020) Changed paths: M platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h Log Message: ----------- Merge pull request #475 from ronsaldo/bug/host-window-plugin-undeclared-functions Add some undeclared functions that are used by the HostWindowPlugin Commit: 228d7fccdcd1b602867b01fd1fad97199b421fba https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/228d7fccdcd1b602867b01fd1fad97199b421fba Author: Eliot Miranda Date: 2020-02-14 (Fri, 14 Feb 2020) Changed paths: M build.macos32x86/common/Makefile.app M build.macos64x64/common/Makefile.app Log Message: ----------- Always include a loader_path to Frameworks on macOS (so users can install libraries there-in). Include executable_path also even though this was a harmless mistake. Commit: 32c1473dba2e2c2ad41d160da41462dd67dae063 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/32c1473dba2e2c2ad41d160da41462dd67dae063 Author: Eliot Miranda Date: 2020-02-14 (Fri, 14 Feb 2020) Changed paths: M build.macos32x86/common/Makefile.app M build.macos64x64/common/Makefile.app Log Message: ----------- Update the previous commit to add loader_psths for subdirectories of Frameworks, making sure that a loader_path for Frameworks is included even if Frameworks doesn't exist. Commit: d32dce9cd02406014b04a6bbb32d1c0414017633 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d32dce9cd02406014b04a6bbb32d1c0414017633 Author: Nicolas Cellier Date: 2020-02-17 (Mon, 17 Feb 2020) Changed paths: M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cogmethod.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/exampleSqNamedPrims.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spursrc/vm/interp.h M spursrc/vm/vmCallback.h M src/plugins/LargeIntegers/LargeIntegers.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c Log Message: ----------- Regenerate 32bits Cog/Spur code as of VMMaker.oscog-nice.2712 Fix alternative code generation for highBit via BSR for Spur32: Previous opcode is a Label, so we cannot test if it setsConditionCodesFor: JumpNegative. We have to force a CmpCq:R:. For X64, it's OK, previous opcode is an arithmetic shift. Fix simulation of primitiveHighBit by sending #numSmallIntegerTagBits to the objectMemory which knows this kind of memory layout detail. While at it, change the order of BSR registers maskReg -> destReg, like any other CogRTLOpcodes, rather than destReg <- maskReg. ------- Name: VMMaker.oscog-nice.2711 Accelerate SmallInteger anyBitOfMagnitudeFrom:to: Indeed, there is no need to create a large integer just for checking the bits of a small one; this can be done with a single bit mask. Avoid some undefined behavior warnings related to integerObjectOf(-1) when compiling the VM with clang compiler option -fsanitize=undefined. ------ VMMaker.oscog-eem.2710 Cogit: remove some references to BytesPerOop in Lowcode. There are still lots of references to BytesPerWord we would like to rewrite to objectMemory bytesPerWord. The issue is that using the messages allows us to have 32-bit and 64-bit images open side-by-side and at least have printing working. SitackInterpreterSimulator: Fix a bug in endPCOf: that hence fixes symbolicMethod: Provide a breakBlock somewhat similar to the CogVMSimulator's Have StackInterpreterSimulator>>close close attendant debuggers a la CogVMSimulator Update the arg name in CogVMSimulator>>setBreakBlockFromString: ------ VMMaker.oscog-nice.2709 Try and restore the lowcode capability to return int64 result on various 32bits ABI. The ABIResultRegHigh needs to be defined. ------ VMMaker.oscog-eem.2708 Document the NativeSPReg/SPReg distinction/identity. ------ VMMaker.oscog-eem.2707 Slang: Eliminate one source of unused expressions, the expansions of literal block nodes not used for value with a trailing effectless expression. Dual mapped zone: Make assertValidDualZoneFrom:to: conditional on cppIf: #DUAL_MAPPED_CODE_ZONE ------ VMMaker.oscog-eem.2706 Simulation: Fix printRumpCStack and have it be more informative. Commit: db9149b5bcf92a91b3129311b5a0c606aaa6ca90 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/db9149b5bcf92a91b3129311b5a0c606aaa6ca90 Author: Nicolas Cellier Date: 2020-02-19 (Wed, 19 Feb 2020) Changed paths: M nsspur64src/vm/cogit.c M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M spur64src/vm/cogit.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cogit.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spursista64src/vm/cogit.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M src/plugins/LargeIntegers/LargeIntegers.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c Log Message: ----------- Regenerate code as of VMMaker.oscog-nice.2714 Fix incorrect IA32/X64 encoding of operands LZCNT (ClzRR) and BSR instructions. I did swap the operands, destReg is in reg/opcode (RO) field, and maskReg (source) is in r/m (RM) field. ------ VMMaker.oscog-nice.2713 Fix bug in LargeInteger division: instantiation of quotient (quo) may fail and thus require a proper guard. It may happen: I did report some crash when testing huge integer division at http://smallissimo.blogspot.com/2019/05/tuning-large-arithmetic-thresholds.html Fix a copy/paste glitch JumpCarry/JumpNoCarry in #setsConditionCodesFor: We only ever use JumpZero so far, so it's benign. Commit: 592dc9ee929562b3c5781ffd9dcaaeaed5b80e34 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/592dc9ee929562b3c5781ffd9dcaaeaed5b80e34 Author: Eliot Miranda Date: 2020-02-18 (Tue, 18 Feb 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursrc/vm/cogit.h M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/IA32ABI/IA32ABI.c M src/vm/cogit.h M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Generate the 64-bit platforms at VMMaker.oscog-nice.2715 also. Delets a coupel of unused statements and is harmless. Commit: 74c8159d9ad515af6804c8b926c17bfa644cd1ea https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/74c8159d9ad515af6804c8b926c17bfa644cd1ea Author: Eliot Miranda Date: 2020-02-18 (Tue, 18 Feb 2020) Changed paths: M build.macos32x86/common/Makefile.app M build.macos64x64/common/Makefile.app Log Message: ----------- Fix Newspeak builds. pathapp applies to the unrenamed VM executable and so must precede APPPOST which includes renameExe. (Of course the right fix is for tghe Makefile to be able to handle spaces in the executable, but this gets us up and running more quickly). Commit: 4d5b710a3dc03ab2e006d7096e6466d042c6f403 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4d5b710a3dc03ab2e006d7096e6466d042c6f403 Author: Nicolas Cellier Date: 2020-02-22 (Sat, 22 Feb 2020) Changed paths: M src/plugins/BitBltPlugin/BitBltPlugin.c Log Message: ----------- Fix BitBlt convex shape fill bug See https://source.squeak.org/VMMaker/VMMaker.oscog-nice.2717.diff Commit: 66084d54468c74f15f5133e3566acc18b029db30 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/66084d54468c74f15f5133e3566acc18b029db30 Author: Eliot Miranda Date: 2020-02-23 (Sun, 23 Feb 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/FFTPlugin/FFTPlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/RePlugin/RePlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2719 Slang: type left shifts as either usqInt or sqInt, depending on type of receiver, not #int. These are Smalltalk semantics we're trying to mimic, not C99 semantics we're constrained to follow. Consequently also generate all plugin source (that changes), which implies changes due to VMMaker.oscog-eem.2697, allow the CoInterpreter to specify the clustering of variables by size. Cogit: don't bother to rewrite the selector in a lnked super send; this causes overwriting of the selector index in 64-bit implementations, and hence may cause an assert failure. So it's a waste of effort and provokes an error. Commit: 98f6b50ad40f14e7bfa7bbdf7484610ae8e2aa1f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/98f6b50ad40f14e7bfa7bbdf7484610ae8e2aa1f Author: Eliot Miranda Date: 2020-02-23 (Sun, 23 Feb 2020) Changed paths: M build.macos32x86/common/Makefile.vm Log Message: ----------- Fix recently broken 32-bit Mac builds by adding -Wl,-headerpad_max_install_names to allow for more rpaths in the executable. Commit: 11a812894dd9c9cbb774c8d3d4cf4713936c5640 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/11a812894dd9c9cbb774c8d3d4cf4713936c5640 Author: Nicolas Cellier Date: 2020-02-27 (Thu, 27 Feb 2020) Changed paths: M src/plugins/Squeak3D/Squeak3D.c Log Message: ----------- Hotfix for Squeak3D on 64bits VM The B3DRasterizer state.objects store pointers to B3D objects into a 4-bytes Smalltalk WordArray. This means that appropriate arithmetic has to take place in order to compute the number of objects stored in that WordArray Indeed, on 64bits VM, each object pointer is going to consume 8-bytes (2 words). That also means that proper allocation of Smalltalk WordArray has to take place at image side. A fix to `B3DPrimitiveRasterizerState>>initObjects:` is thus also required objects := B3DPrimitiveRasterizerData new: nObjects * (Smalltalk wordSize / 4) The slang and image Smalltalk code have not been published yet. They are waiting for approval of my Developer status on http://www.squeaksource.com/Balloon3D.html Commit: 06aadbb413b9a85378bfa7a380abe2e4c51b1d64 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/06aadbb413b9a85378bfa7a380abe2e4c51b1d64 Author: Fabio Niephaus Date: 2020-02-28 (Fri, 28 Feb 2020) Changed paths: M build.macos32x86/common/Makefile.plugin M build.macos64x64/common/Makefile.plugin Log Message: ----------- Fix libname in Info.plist for plugin bundles Commit: eb2ee2c9247dbc4c18249435954b4363db88627e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/eb2ee2c9247dbc4c18249435954b4363db88627e Author: Fabio Niephaus Date: 2020-02-28 (Fri, 28 Feb 2020) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m Log Message: ----------- Use NSWindow API for changing fullscreen mode (#478) * Use NSWindow API for changing fullscreen mode instead of going through NSView's API. The latter does offer more options, but messes up the fullscreen mode for some reason (UI becomes unresponsive because input events are no longer received). Using `self.window toggleFullScreen:self` also does not mess with additional displays (only the display showing Squeak is put into fullscreen mode). * Address reviewer feedback Commit: 82c8e40d45336ff0346370515086a8f76f77f515 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/82c8e40d45336ff0346370515086a8f76f77f515 Author: Fabio Niephaus Date: 2020-02-29 (Sat, 29 Feb 2020) Changed paths: M platforms/iOS/vm/English.lproj/MainMenu-cg.xib M platforms/iOS/vm/English.lproj/MainMenu-opengl.xib M platforms/iOS/vm/English.lproj/MainMenu.xib Log Message: ----------- Rename 'SqueakOSXApp' to 'Squeak' in xib files This makes the titles consistent with the previously released Squeak bundles for macOS. Therefore, it is no longer necessary to swap the MainMenu.nib files during the bundling of Squeak. Instead, we can keep the existing file (and therefore, it will stay in sync with OSVM changes). Commit: 1861db582c88417bfe876dc8e47684f3d76d4759 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1861db582c88417bfe876dc8e47684f3d76d4759 Author: Fabio Niephaus Date: 2020-03-01 (Sun, 01 Mar 2020) Changed paths: M platforms/iOS/vm/English.lproj/MainMenu-cg.xib M platforms/iOS/vm/English.lproj/MainMenu-opengl.xib M platforms/iOS/vm/English.lproj/MainMenu.xib Log Message: ----------- Rename and hide help menu item It does not do anything anyway Commit: 081812486daafb2ac25dbf7f448852189c933438 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/081812486daafb2ac25dbf7f448852189c933438 Author: Fabio Niephaus Date: 2020-03-02 (Mon, 02 Mar 2020) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m Log Message: ----------- Make fullscreen mode consistent across Metal and OpenGL Commit: c25b8713647d8bba5264b792654747f7174b0eed https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c25b8713647d8bba5264b792654747f7174b0eed Author: Fabio Niephaus Date: 2020-03-02 (Mon, 02 Mar 2020) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m Log Message: ----------- Minor Metal backend cleanups and improvements Commit: 6a0bc9626276dc58c20246adf5b2cd465af98402 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6a0bc9626276dc58c20246adf5b2cd465af98402 Author: Fabio Niephaus Date: 2020-03-02 (Mon, 02 Mar 2020) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Restore pumpRunLoopEventSendAndSignal: for Squeak @guillep introduced some additional logic to filter out events that do not correspond to the VM window. The about panel and the fullscreen frame are also alien windows, but were not receiving any events because of this change. As a consequence, these events will forever remain in the queue and therefore, the buttons of the fullscreen frame and about panel cannot be clicked. This commit reverts all changes back to the previous version that consumes all events and forwards them to NSApp. In order to avoid breaking PharoVM, we do all of this behind an `#ifdef PharoVM`. Relevant changes: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/295 https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/300 Commit: b0ed4fa33c6b7be20e46f5685d071938ab3d1611 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b0ed4fa33c6b7be20e46f5685d071938ab3d1611 Author: Fabio Niephaus Date: 2020-03-02 (Mon, 02 Mar 2020) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m Log Message: ----------- Move PharoVM-specific comment [ci skip] Commit: 051a0fe56561b586c8e36f8c2950efd391059605 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/051a0fe56561b586c8e36f8c2950efd391059605 Author: Eliot Miranda Date: 2020-03-04 (Wed, 04 Mar 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/dispdbg.h M platforms/Mac OS/vm/sqMacMemory.c M platforms/unix/vm/sqUnixMemory.c M platforms/unix/vm/sqUnixSpurMemory.c M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32SpurAlloc.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVm source as per VMMaker.oscog-eem.2722 Interpreter: Fix compilation of primitiveHighBit on MSVC. We take the address of a variable by using (self addressOf: var), not "var address". Change the signature of the core selector send breakpointing routines from taking the receiver to taking a class tag. (Requires corresponding changes in platforms/Cross/vm/dispdbg.h). Add an accessor for breakLookupClassTag and add couldBeContext:. Comment fetchClassTagOf:. [This was all to track down a bug with ARMv8 do do with register save/restore across the call in ceScheduleScavengeTrampoline that caused contexts to appear where blocks were expected]. Fix printMethodFieldForPrintContext: to always print the method oop frst and the cogMethod, if any, afterwards. Fix asserts in frameCallerContext: and mapStackPages when a frame context may be forwarded as part of scavenging. Cogit: rename the accessor for codeToDataDelta to getCodeToDataDelta to allow codeToDataDelta to be defined as 0 in the non DUAL_MAPPED_CODE_ZONE regime. Consequently find and fix a slip in NewspeakCogMethod class>>initialize. Don't attempt to take the address of 0 in the DUAL_MAPPED_CODE_ZONE regime. Fix genLoadCStackPointer(s) to use NativeSPReg Fix followForwardedLiteralsIn:, mapObjectReferencesInMachineCodeForXXX, and storeLiteral:atAnnotatedAddress:using: for the DUAL_MAPPED_CODE_ZONE regime. Don't bother to rewrite the selector in a linked super send; this causes overwriting of the selector index in 64-bit implementations, and hence may cause an assert failure. So it's a waste of effort and provokes an error. Plugins: Fix the BitBlt bug for convex shape fill. The problem is that we are taking source one word too early (thus from previous row). This happens when taking hdir=-1 and it is related to preload (again!!). Last thing: on 64bits, mask1 and mask2 have been declared int64... But we only want 32 bit masks. That is why I have protected with the bitAnd: AllOnes Commit: aa688da5c4dbe09a4d2e09e3adde54346ed5596f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/aa688da5c4dbe09a4d2e09e3adde54346ed5596f Author: Eliot Miranda Date: 2020-03-09 (Mon, 09 Mar 2020) Changed paths: M build.macos64x64/common/Makefile.vm M image/VM Simulation Workspace.text M image/getlatesttrunk64image.sh M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/StarSqueakPlugin/StarSqueakPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2724 Slang: Fix the right shift: dont convert to usqInt a type longer than usqInt SpurMemoryManager/SpurPlanningCompactor: Fix one bug thrown up by Marcel's EphemeronLink example. The planning compactor failed to update objects in the mournQueue objStack. Make sure prepareObjStacksForPlanningCompactor is actually invoked (!!). Refactor a couple of obj stack routines to take an "also do contents" flag, printObjStack:printContents:, relocateObjStackForPlanningCompactor:andContents:, the last one fixing the bug in question. Refactor runLeakCheckerForFreeSpace: into runLeakCheckerForFreeSpace:ignoring: to allow the most recenty allocated object in clone (the shallowCopy primitive) to be ignored, because its contents are not yet initialized when the free space check is done. Make sure to run the free space integrity check as part of leak checking. VMMaker image: Add MULTIPLEBYTECODESETS true to all launch examples in the VM Simulation workspace. Use Squeak 5.3 to build new VMMaker images. Commit: 102b0fa831e2f793620a9a4cf94369d696e7920f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/102b0fa831e2f793620a9a4cf94369d696e7920f Author: Eliot Miranda Date: 2020-03-17 (Tue, 17 Mar 2020) Changed paths: M build.linux32ARMv6/HowToBuild M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm M build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm M build.linux64ARMv8/squeak.cog.spur/build.assert/mvm M build.linux64ARMv8/squeak.cog.spur/build.debug/mvm M build.linux64ARMv8/squeak.cog.spur/build/mvm M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sqAtomicOps.h M scripts/revertIfEssentiallyUnchanged M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2728 Slang: Fix a bug with value expansions. The original code elided the value[:value:]* send when inlining a literal block evaluation whose block didn't end in return. When dispatchConcretize, and all concretize mehtods invoked there-in were changed to answer the number of bytes of generated code, rather than each concretize mehtod assigning the number of bytes of generated code individually, this bug surfaced, and invalid code was produced. Amazing that this affected only ARMv5. Fix a bogus failing assert over-zealously added to VMMaker.oscog-eem.2724. Commit: b85570231886048ae5e735b9cf83015c9913ccea https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b85570231886048ae5e735b9cf83015c9913ccea Author: Eliot Miranda Date: 2020-03-21 (Sat, 21 Mar 2020) Changed paths: M image/VM Simulation Workspace.text M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Mac OS/vm/sqMacUnixCommandLineInterface.c M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/unix/vm/sqUnixMain.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32Window.c M scripts/revertIfEssentiallyUnchanged M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2731 Cogit: Refactor the compilation breakpoints so they don't take a selector length. Leave it up to CoInterpeeter to derive the byte length of the selector using numBytesOf:. Hence no longer mark lengthOf: as . Use a writable method when setting cpicHasMNUCase: in cogExtendPIC:CaseNMethod:tag:isMNUCase:. ARMv8 is getting there... Slang: do constant folding in left and right shifts. Interpreters: rip out the check alloc filler support in the interests of simplicity. Though useful in theory, this faclity has never been used successfully to find a bug in all the years it's been available (and we can always put it back). Rip out the debugPrimCallStackOffset support. I can't remember what this was supposed to do. It is confusing. Spur: Don't update become effect flags for identical oops that will later be filtered out in the loops oiver the arrays. If newFinalizartion is set, then don't queue a WeakArray for finalization more than once (i.e. if it's already in the queue there's no point adding it again). Cogit: fix genExternalizePointersForPrimitiveCall & genLoadCStackPointersForPrimCall for the SPReg ~= NativeSPReg regime. Localise code to the primitive generator invocation block in compilePrimitive. Commit: 3fa41faef52a157954d706aa5305e756f0f23228 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3fa41faef52a157954d706aa5305e756f0f23228 Author: Nicolas Cellier Date: 2020-03-24 (Tue, 24 Mar 2020) Changed paths: M src/plugins/B2DPlugin/B2DPlugin.c Log Message: ----------- Fix B2DPlugin by regenerating from VMMaker.oscog-nice.2732 This fix bad bad copy/paste error in generateSignedShiftRight:on:indent: The bug was introduced on 10 march 2020 in VMMaker.oscog-nice.2723 Commit: 171e1631b96d87aac42561423a63ff478688a9a2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/171e1631b96d87aac42561423a63ff478688a9a2 Author: Eliot Miranda Date: 2020-03-23 (Mon, 23 Mar 2020) Changed paths: M platforms/Cross/vm/sqAssert.h Log Message: ----------- Clean-up definitions of the inline assert functions for MSVC (who added these?) and provide a hack for external plugins accessing warning in the main program. Commit: 00de584387aecd694a145f95d8e07d37e76c045c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/00de584387aecd694a145f95d8e07d37e76c045c Author: Eliot Miranda Date: 2020-03-23 (Mon, 23 Mar 2020) Changed paths: M src/plugins/B2DPlugin/B2DPlugin.c Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: a91baa70ceacf2db03f0c72e6037ba891cdd2ab3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a91baa70ceacf2db03f0c72e6037ba891cdd2ab3 Author: Eliot Miranda Date: 2020-03-24 (Tue, 24 Mar 2020) Changed paths: M platforms/Cross/vm/sqAssert.h Log Message: ----------- Get the exopensiveAsserts test right in the MSVC assert implementation. Commit: 1a4fbe34725f528208706ee643dd14a8e5bb4413 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1a4fbe34725f528208706ee643dd14a8e5bb4413 Author: Nicolas Cellier Date: 2020-03-25 (Wed, 25 Mar 2020) Changed paths: M build.minheadless.cmake/x64/common/configure_variant.sh M build.minheadless.cmake/x86/common/configure_variant.sh Log Message: ----------- Upgrade minimum minheadless SDK to 10.11 on OSX Indeed, if we want to use `NSMutableArray`, then it can only work with SDK delivered with Xcode >= 7 Otherwise there is a compilation error: >opensmalltalk-vm/platforms/minheadless/mac/sqMain.m:38:5: error: type arguments cannot be applied to > non-parameterized class 'NSMutableArray' > NSMutableArray *filesToOpen; > ^ ~~~~~~~~~~~ Commit: 0222b96ffc697f25aadba4fca0672ccb78a7cb94 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0222b96ffc697f25aadba4fca0672ccb78a7cb94 Author: Nicolas Cellier Date: 2020-03-26 (Thu, 26 Mar 2020) Changed paths: M platforms/minheadless/unix/sqUnixSpurMemory.c M platforms/minheadless/windows/sqWin32Alloc.c M platforms/minheadless/windows/sqWin32SpurAlloc.c Log Message: ----------- Fix minheadless crash at startup The changes to `sqMakeMemoryExecutableFromToCodeToDataDelta` performed in https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/051a0fe56561b586c8e36f8c2950efd391059605 Notably: > Don't attempt to take the address of 0 in the DUAL_MAPPED_CODE_ZONE regime. The minheadless being now mostly unmaintained, and having large duplication of platforms code base, it can only rot... Commit: af1352ff5112e13be314b409ea9c4ab3cc49f889 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/af1352ff5112e13be314b409ea9c4ab3cc49f889 Author: Eliot Miranda Date: 2020-03-25 (Wed, 25 Mar 2020) Changed paths: M build.minheadless.cmake/x64/common/configure_variant.sh M build.minheadless.cmake/x86/common/configure_variant.sh M platforms/minheadless/unix/sqUnixSpurMemory.c M platforms/minheadless/windows/sqWin32Alloc.c M platforms/minheadless/windows/sqWin32SpurAlloc.c Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: 4e933b018d4734e168a17522dbdc5ac8a8d85686 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4e933b018d4734e168a17522dbdc5ac8a8d85686 Author: Nicolas Cellier Date: 2020-03-26 (Thu, 26 Mar 2020) Changed paths: M platforms/minheadless/unix/sqUnixMemory.c Log Message: ----------- Also protect dereferencing NULL codeToDataDelta in squeak.cog.v3 Commit: 8501857dd2acf6bbc7d3454535d878eb3818f724 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8501857dd2acf6bbc7d3454535d878eb3818f724 Author: Nicolas Cellier Date: 2020-03-26 (Thu, 26 Mar 2020) Changed paths: M platforms/iOS/vm/Common/sqMacV2Memory.c Log Message: ----------- Rognutudjuûû! https://eratian.files.wordpress.com/2010/03/rogntudju.jpg?w=584 Fix also squeak.cog.v3 for MacOS Commit: 99d7b9de0cc8e33f2ff57abffe41d8f217af1dac https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/99d7b9de0cc8e33f2ff57abffe41d8f217af1dac Author: Eliot Miranda Date: 2020-03-28 (Sat, 28 Mar 2020) Changed paths: M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.vm M build.macos64x64/common/Makefile.plugin M build.macos64x64/common/Makefile.vm M build.win32x86/common/Makefile.tools M build.win64x64/common/Makefile.tools M scripts/revertUnchangedPlugins Log Message: ----------- Fix some makefiles issues. Automatically run updateSCCSVersions on Mac and Windows when required Use $(MAKE) not make to recursively invoke make on Mac. Allow revertUnchangedPlugins to be used from a remote directory. Commit: 0fd3ae2c1e7e19d6b416565ef1c95686a7146f0c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0fd3ae2c1e7e19d6b416565ef1c95686a7146f0c Author: Nicolas Cellier Date: 2020-03-29 (Sun, 29 Mar 2020) Changed paths: M build.win32x86/common/Makefile.tools M build.win64x64/common/Makefile.tools Log Message: ----------- $(SED) is undefined in Windows Makefiles Commit: 9d52fef2240b7bdf6cfa1a7d6cf8c967220f0e85 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9d52fef2240b7bdf6cfa1a7d6cf8c967220f0e85 Author: Nicolas Cellier Date: 2020-03-29 (Sun, 29 Mar 2020) Changed paths: M platforms/win32/vm/sqWin32Heartbeat.c Log Message: ----------- Thu shalt not cast a FILETIME to unsigned __int64 pointer aliasing apart, such cast is explicitly discouraged in MSDN https://docs.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-filetime > Do not cast a pointer to a FILETIME structure to either a ULARGE_INTEGER* or __int64* value because it can cause alignment faults on 64-bit Windows. Commit: 1ee987969c39b8746e99a6dd3d9aa3818cd788bd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1ee987969c39b8746e99a6dd3d9aa3818cd788bd Author: Eliot Miranda Date: 2020-03-31 (Tue, 31 Mar 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sqMemoryAccess.h M processors/IA32/bochs/cpu/cpu.h M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2736 CoInterpreter: No longer rely on setjmp/longjmp to get back into the interpreter from arbitrary locatons. Instead, since CoInterpreter maintains the base of the C stack in CFramePointer & CStackPointer, it is straight-forward for us to simply call interpret after doing the switch to the C stack, avoiding issues such as stack unwind problems in longjmp. And of course the implementation is simpler thn setjmp/longjmp and so faster." Eliminate reenterInterpreter in the CoInterpreter (keeping it in the StackInterpreter; althoguh the success of the use in the CoInterpreter shows us that we should do the same, e.g. using assembler, in the StackInterpreter). So now reentry into the interpreter from machine code does not use longjmp and we no longer use setjmp to establish the reentry-point. We just use CFramePointer & CStackPointer. Export the warning functions for Windows DLLs that want to use assertions. Get rid of the preambleCCode implementation of invalidCompactClassError: Cogit x64, fix a slip in computing the size of SignExtend32RR. Fix bad bad copy/past error in generateSignedShiftRight:on:indent: Generic: Fix a slip in oopForPointer in the USE_INLINE_MEMORY_ACCESSORS regime when sqMemoryBase is not defined or is non-zero; one cannot perform arithmetic on void pointers so the argument must be cast to char. Bochs simulators: eliminate the TLB; it is not used in our configuration. FileAttributesPlugin generated as per FileAttributesPlugin.oscog-eem.54 Commit: 6f863ff37c32b32f16b6a4ad9d5b90baf5af7b8c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6f863ff37c32b32f16b6a4ad9d5b90baf5af7b8c Author: Eliot Miranda Date: 2020-03-31 (Tue, 31 Mar 2020) Changed paths: M platforms/Cross/vm/sqAssert.h Log Message: ----------- Fix asserta for the MSVC regime. asserta must answer the condition. N.B. MSVC builds (and possibly Windows builds) are broken. I'm working on it. Commit: c49881cc29e265bb30624dad238bc7cc5b53e3c6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c49881cc29e265bb30624dad238bc7cc5b53e3c6 Author: Eliot Miranda Date: 2020-03-31 (Tue, 31 Mar 2020) Changed paths: M platforms/Cross/vm/sqAssert.h Log Message: ----------- Fix sqAssert.h for built-in plugins. Fix eassert for the MSVC regime. Commit: acc4638b237c810df2697a6af1835601316ced28 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/acc4638b237c810df2697a6af1835601316ced28 Author: Eliot Miranda Date: 2020-03-31 (Tue, 31 Mar 2020) Changed paths: A build.win32x86/common/Makefile.msvc A build.win32x86/common/Makefile.msvc.flags A build.win32x86/common/Makefile.msvc.plugin A build.win32x86/common/Makefile.msvc.rules A build.win32x86/common/Makefile.msvc.tools A build.win64x64/common/Makefile.msvc A build.win64x64/common/Makefile.msvc.flags A build.win64x64/common/Makefile.msvc.plugin A build.win64x64/common/Makefile.msvc.rules A build.win64x64/common/Makefile.msvc.tools A platforms/win32/plugins/BitBltPlugin/Makefile.msvc A platforms/win32/plugins/FileAttributesPlugin/Makefile.msvc A platforms/win32/plugins/FloatMathPlugin/Makefile.msvc A platforms/win32/plugins/IA32ABI/Makefile.msvc A platforms/win32/plugins/Mpeg3Plugin/Makefile.msvc A platforms/win32/plugins/SerialPlugin/Makefile.msvc A platforms/win32/plugins/SqueakFFIPrims/Makefile.msvc A platforms/win32/plugins/SqueakSSL/Makefile.msvc A platforms/win32/plugins/Win32OSProcessPlugin/Makefile.msvc Log Message: ----------- Add makefiles for Windows and Visual Studio, verified to work with MSVC Community 2017. To use the Visual Studio debugger with these simply use the Open Folder command, folowed by Open File on the relevant executable. No Visual Studio projects are needed. Thanks to Ron Teitelbaum at 3DICC who has funded this effort. [ci skip] Commit: a9208a784aa3cae0b39d4c33bb912442e342b129 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a9208a784aa3cae0b39d4c33bb912442e342b129 Author: Eliot Miranda Date: 2020-04-01 (Wed, 01 Apr 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/newspeak.cog.spur/Makefile M build.win32x86/newspeak.stack.spur/Makefile M build.win32x86/pharo.cog.spur/Makefile M build.win32x86/pharo.sista.spur/Makefile M build.win32x86/pharo.stack.spur/Makefile M build.win32x86/squeak.cog.spur.lowcode/Makefile M build.win32x86/squeak.cog.spur/Makefile M build.win32x86/squeak.cog.v3/Makefile M build.win32x86/squeak.sista.spur/Makefile M build.win32x86/squeak.stack.spur/Makefile M build.win32x86/squeak.stack.v3/Makefile M build.win64x64/newspeak.cog.spur/Makefile M build.win64x64/newspeak.stack.spur/Makefile M build.win64x64/squeak.cog.spur/Makefile M build.win64x64/squeak.stack.spur/Makefile M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M platforms/Cross/vm/sq.h M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2737 CoInterpreter: Improve on the new simpler invoke interpreter scheme by including the relevant return address so that the C stack looks properly connected after reentering interpret. This depends on getReturnAddress being defined in C. Both MSVC and GCC (and those that support its builtins such as clang and ICC) provide builtins/intrinsics for accessing the return address, so we don't bother to implement it in the Cogit. The implementation of getReturnAddress is in sq.h, not sqPlatformSpecific.h to reduce duplication. But if the current implementations in terms of MSVC or GCC instrinsics don't apply, one may override in sqPlatformSpecific.h. Windows builds: Make most of the windows build makefiles switch hit between the cygwin/mingw and the MSVC variants depending on a variable set by MSVC command prompts. Hence to build using MSVC simply run make in an MSVC prompt. Commit: 3a4ebae28c183dd49ea9e494cd7bcd2ec0d687fa https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3a4ebae28c183dd49ea9e494cd7bcd2ec0d687fa Author: Eliot Miranda Date: 2020-04-01 (Wed, 01 Apr 2020) Changed paths: A build.win32x86/common/MAKEASSERT.BAT A build.win32x86/common/MAKEDEBUG.BAT A build.win32x86/common/MAKEFAST.BAT A build.win32x86/common/SETPATH.BAT A build.win64x64/common/MAKEASSERT.BAT A build.win64x64/common/MAKEDEBUG.BAT A build.win64x64/common/MAKEFAST.BAT M build.win64x64/common/Makefile.msvc.tools A build.win64x64/common/SETPATH.BAT M platforms/Cross/vm/sq.h M platforms/win32/plugins/FileAttributesPlugin/Makefile.msvc M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- FileAttributesPlugin as per FileAttributesPlugin.oscog-eem.55. Get the plugin to build under MSVC. Windows builds: Provide convenience batch files for building under MSVC. Fix the ifdef that selects the MSVC intrinsic, _MSC_VER *not* MSVC. Commit: 2bf0a0dd1057ad5e4d6cf1658ed9308382048eea https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2bf0a0dd1057ad5e4d6cf1658ed9308382048eea Author: Eliot Miranda Date: 2020-04-02 (Thu, 02 Apr 2020) Changed paths: M build.win32x86/HowToBuild M build.win64x64/HowToBuild M build.win64x64/common/Makefile.msvc.tools M platforms/Cross/vm/sq.h Log Message: ----------- Update the Windows HowToBuilds wth info on using MSVC. Correct a couple of file permissions caused by committing under cygwin (sigh). [ci skip] Commit: dfc7542bee4ff6c1a111b6ea24b3c4e35363c9f9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dfc7542bee4ff6c1a111b6ea24b3c4e35363c9f9 Author: Eliot Miranda Date: 2020-04-02 (Thu, 02 Apr 2020) Changed paths: M build.win64x64/common/Makefile.msvc.flags Log Message: ----------- Fix a slip in the 64-bit WIndows MSVC makefiles now that we no longer use setjmp/longjmp to reenter the interpreter. [ci skip] Commit: 8d2169219fa37e3961c55787ead60b2e23fa3c81 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8d2169219fa37e3961c55787ead60b2e23fa3c81 Author: Eliot Miranda Date: 2020-04-02 (Thu, 02 Apr 2020) Changed paths: M build.win32x86/common/Makefile.msvc M build.win32x86/common/Makefile.msvc.plugin M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.plugin Log Message: ----------- Windows MSVC build. The VMLIB must be provided to external plugins if they are to use sqAssert.h. [ci skip] Commit: b8cff0d1fcb6f31032e48eaa612455fdb901db10 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b8cff0d1fcb6f31032e48eaa612455fdb901db10 Author: Eliot Miranda Date: 2020-04-03 (Fri, 03 Apr 2020) Changed paths: M build.win64x64/common/Makefile.msvc.flags M build.win64x64/common/Makefile.msvc.plugin M build.win64x64/common/Makefile.msvc.tools Log Message: ----------- Commit MSVC makefiles so that settings for tools are in Makefile.msvc.tools. This prior to attempting to use CLang/C2. Commit: 3b6e56928ee0677a52c77177f8f0d7332ec975cc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3b6e56928ee0677a52c77177f8f0d7332ec975cc Author: Eliot Miranda Date: 2020-04-03 (Fri, 03 Apr 2020) Changed paths: M build.win64x64/common/MAKEASSERT.BAT M build.win64x64/common/MAKEDEBUG.BAT M build.win64x64/common/MAKEFAST.BAT M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.flags M build.win64x64/common/Makefile.msvc.tools Log Message: ----------- Commit prior to testing -D etc for MSVC, in preparation for move to CLangC2. Commit: 6e2df0d0fccc19a810dffd4fa109a2b9097bb828 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6e2df0d0fccc19a810dffd4fa109a2b9097bb828 Author: Eliot Miranda Date: 2020-04-03 (Fri, 03 Apr 2020) Changed paths: M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2738 CoInterpreter: small tweak for VMMaker.oscog-eem.2737. On every entry to interpret avoid checking CReturnAddress and simply assign it. Once set its value never changes, so an unchecked write will be faster and takes less code. Commit: 3cf2362cff617d3fdbc26a2e5b47b35a567b26e5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3cf2362cff617d3fdbc26a2e5b47b35a567b26e5 Author: Eliot Miranda Date: 2020-04-03 (Fri, 03 Apr 2020) Changed paths: M build.win32x86/common/Makefile.msvc M build.win32x86/common/Makefile.msvc.plugin M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.plugin Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: 9827e12342e02bde36e74175c5a928207596ac13 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9827e12342e02bde36e74175c5a928207596ac13 Author: Eliot Miranda Date: 2020-04-03 (Fri, 03 Apr 2020) Changed paths: M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: e8d286f965dfb8d3fb6c9ad459439ae132797fcf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e8d286f965dfb8d3fb6c9ad459439ae132797fcf Author: Tobias Pape Date: 2020-04-06 (Mon, 06 Apr 2020) Changed paths: M .git_filters/RevDateURL.clean M .git_filters/RevDateURL.smudge Log Message: ----------- Improve git filter compatibility FreeBSD does not have perl in /usr/bin. Nor does it need to, the Linux FHS does not apply. Get around that with /usr/bin/env and env -S [ci skip] Commit: 9191db9b80d3844dfec740ebd17ceb6411753949 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9191db9b80d3844dfec740ebd17ceb6411753949 Author: Tobias Pape Date: 2020-04-06 (Mon, 06 Apr 2020) Changed paths: M .git_filters/RevDateURL.clean Log Message: ----------- Fix portiability of env; use perl w/o -p only slightly longer and already done in the smudge filter [ci skip] Commit: ff5d0f4f83c94ec8d520df8405d0d11c6659ce32 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ff5d0f4f83c94ec8d520df8405d0d11c6659ce32 Author: Eliot Miranda Date: 2020-04-06 (Mon, 06 Apr 2020) Changed paths: M .git_filters/RevDateURL.clean M .git_filters/RevDateURL.smudge Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: 8a8745b4eafaf20ae1d4d896c8ead7f36f32216a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8a8745b4eafaf20ae1d4d896c8ead7f36f32216a Author: Eliot Miranda Date: 2020-04-06 (Mon, 06 Apr 2020) Changed paths: M build.win64x64/common/Makefile.msvc A build.win64x64/common/Makefile.msvc.clang.rules M build.win64x64/common/Makefile.msvc.flags A build.win64x64/common/Makefile.msvc.msvc.rules M build.win64x64/common/Makefile.msvc.plugin M build.win64x64/common/Makefile.msvc.rules M build.win64x64/common/Makefile.msvc.tools M platforms/win32/plugins/FloatMathPlugin/Makefile.msvc M platforms/win32/vm/version.c Log Message: ----------- Update the MSVC makefiles to be able to use ClangC2 (Clang front-end, MSVC back end) instead of MSVC. [ci skip] Commit: 07c58984196882c3e50a2f620eec4567676ab38f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/07c58984196882c3e50a2f620eec4567676ab38f Author: Eliot Miranda Date: 2020-04-06 (Mon, 06 Apr 2020) Changed paths: M build.win32x86/common/Makefile.msvc A build.win32x86/common/Makefile.msvc.clang.rules M build.win32x86/common/Makefile.msvc.flags A build.win32x86/common/Makefile.msvc.msvc.rules M build.win32x86/common/Makefile.msvc.plugin M build.win32x86/common/Makefile.msvc.rules M build.win32x86/common/Makefile.msvc.tools M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.flags M build.win64x64/common/Makefile.msvc.tools Log Message: ----------- Update the 32-bit win32 MSVC makefiles to allow ClangC2 use. Commit: d99bf29773321f5b923b3002681ac1c85dc682ba https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d99bf29773321f5b923b3002681ac1c85dc682ba Author: Eliot Miranda Date: 2020-04-06 (Mon, 06 Apr 2020) Changed paths: M build.win32x86/common/Makefile.msvc.flags Log Message: ----------- Add an unsuccessfl attempt to allow CLangC2 o build the 32-bit VM (can't get GNU Make to compute the right path). [ci skip] Commit: 76139d4bb8dca8e59d46ceaff9fea894ff98dcb9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/76139d4bb8dca8e59d46ceaff9fea894ff98dcb9 Author: Eliot Miranda Date: 2020-04-06 (Mon, 06 Apr 2020) Changed paths: M build.win32x86/common/Makefile.msvc M build.win32x86/common/Makefile.msvc.clang.rules M build.win32x86/common/Makefile.msvc.flags M build.win32x86/common/Makefile.msvc.tools M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.clang.rules M build.win64x64/common/Makefile.msvc.flags M build.win64x64/common/Makefile.msvc.tools M platforms/Cross/vm/sqAtomicOps.h Log Message: ----------- Get ClangC2 to compile the VM on win64. In sqAtomicOps.h all MSVC-specific options must precede gcc/clang alternatives so that when using ClangC2 the Microsoft intrinsics are chosen, not the gcc ones. Commit: c969cdcec2b78dbfb9a29fdc65ec76476de0f60e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c969cdcec2b78dbfb9a29fdc65ec76476de0f60e Author: Tobias Pape Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M platforms/unix/config/aclocal.m4 M platforms/unix/config/configure M platforms/unix/config/ltmain.sh Log Message: ----------- bump configure [ci skip] Commit: 5a3d9d36ce497862ad30b7ed44c5c63cffbe0abd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5a3d9d36ce497862ad30b7ed44c5c63cffbe0abd Author: Tobias Pape Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M platforms/unix/vm/Makefile.in Log Message: ----------- Remove X_INCLUDES from default VM includes X_INCLUDES might contain paths that conflict with normal ones, when there is the same include file availabe; Example is recent FreeBSDs, that have iconv.h in both /usr/include (default) and /usr/local/include which is only in X_INCLUDES for X11 and is hence only necessary for the X11 display plugin and B3D, but _not_ the main VM. These parts include X_INCLUDES anyway. Commit: 3dc2109b9ebb92f3d0f69cfd48e5da77e2ffcfd2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3dc2109b9ebb92f3d0f69cfd48e5da77e2ffcfd2 Author: Tobias Pape Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M platforms/unix/config/configure.ac Log Message: ----------- Do not add local includes/libs by default on freebsd Commit: 788801f883cf0934540f9e445f4cad7a9f2410c3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/788801f883cf0934540f9e445f4cad7a9f2410c3 Author: Tobias Pape Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M platforms/unix/config/configure Log Message: ----------- [gen configure for last commit] Commit: be79ca92956ca9877ba9f78685ff09c190a2cbd0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/be79ca92956ca9877ba9f78685ff09c190a2cbd0 Author: Tobias Pape Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M platforms/unix/plugins/B3DAcceleratorPlugin/Makefile.inc Log Message: ----------- B3D needs the X_INCLUDES in XINCLUDES not just XCFLAGS Commit: 720f5d8cc45f54b343b7672eec604f4390188c94 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/720f5d8cc45f54b343b7672eec604f4390188c94 Author: Tobias Pape Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M platforms/unix/plugins/B3DAcceleratorPlugin/Makefile.inc Log Message: ----------- Revert "B3D needs the X_INCLUDES in XINCLUDES not just XCFLAGS" This reverts commit be79ca92956ca9877ba9f78685ff09c190a2cbd0. Commit: 2bca7541a6c70c67a9a1961106b8404c123cd448 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2bca7541a6c70c67a9a1961106b8404c123cd448 Author: Tobias Pape Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc Log Message: ----------- [squeakssl] [openssl] more portable headefiles necessary for in6_addr, AF_INET6, etc. on non-Linux. N.B. The POSIX Standard is hard to read through Commit: 456eebf36e6241fa87081cbe44dd3cbd6c7a8722 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/456eebf36e6241fa87081cbe44dd3cbd6c7a8722 Author: Tobias Pape Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M platforms/unix/plugins/UUIDPlugin/acinclude.m4 Log Message: ----------- [unix] only link libuuid when actually necessary. Commit: fb465559a5ae4e1009b864fc2b86801ba9e1ebc4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fb465559a5ae4e1009b864fc2b86801ba9e1ebc4 Author: Tobias Pape Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M platforms/unix/config/configure Log Message: ----------- [unix] [generate configure] Commit: 0e5ec0ccb2f23599fa062ff3b32dac2a05aadceb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0e5ec0ccb2f23599fa062ff3b32dac2a05aadceb Author: Tobias Pape Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M platforms/unix/plugins/UUIDPlugin/acinclude.m4 Log Message: ----------- [unix] fix typo in autoconf Commit: 3a6cb00944b9bac678d1e2fb52200939c7297436 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3a6cb00944b9bac678d1e2fb52200939c7297436 Author: Tobias Pape Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M platforms/unix/config/configure Log Message: ----------- [unix] [generate configure] [ci skip] Commit: dc72ba5b62740c8496e0ce29e57a3422c394b614 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dc72ba5b62740c8496e0ce29e57a3422c394b614 Author: Eliot Miranda Date: 2020-04-07 (Tue, 07 Apr 2020) Changed paths: M build.win32x86/common/MAKEASSERT.BAT M build.win32x86/common/MAKEDEBUG.BAT M build.win32x86/common/MAKEFAST.BAT M build.win32x86/common/Makefile.msvc M build.win32x86/common/Makefile.msvc.clang.rules M build.win32x86/common/Makefile.msvc.flags M build.win32x86/common/Makefile.msvc.rules M build.win64x64/common/MAKEASSERT.BAT M build.win64x64/common/MAKEDEBUG.BAT M build.win64x64/common/MAKEFAST.BAT M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.clang.rules M build.win64x64/common/Makefile.msvc.flags M build.win64x64/common/Makefile.msvc.rules M build.win64x64/common/Makefile.msvc.tools M platforms/Cross/plugins/JPEGReadWriter2Plugin/README.6b2 R platforms/Cross/plugins/JPEGReadWriter2Plugin/ReadMe.txt M platforms/Cross/plugins/JPEGReadWriter2Plugin/jdphuff.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/jmorecfg.h M platforms/win32/vm/sqWin32.h Log Message: ----------- Update MSVC makefiles so that at least the 64-bit VM can be built using Clang. Building the 32-bit VM should be as simple as using -m32 and defining LP32. Needed to change a few details in JPEGReadWriter2Plugin and sqWin32.h, nothing harmful or significant. Nuked an ancient content-free file in the JPEG plugin. Commit: 826cfc7d87188b8b5c13a19561ac7872b157469b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/826cfc7d87188b8b5c13a19561ac7872b157469b Author: Eliot Miranda Date: 2020-04-10 (Fri, 10 Apr 2020) Changed paths: M build.win64x64/common/Makefile.msvc.plugin Log Message: ----------- Twak MSVC Wndows makefiles to specify import libs in external plugin link in a more logical order. [ci skip] Commit: 0af38648b5ca6f27acc93e2207702e76e0e9daff https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0af38648b5ca6f27acc93e2207702e76e0e9daff Author: Vincent Blondeau Date: 2020-04-10 (Fri, 10 Apr 2020) Changed paths: M build.win64x64/third-party/Makefile.openssl M third-party/openssl.spec Log Message: ----------- Update OpenSSL Dependencies URL is now https://www.openssl.org/source/openssl-1.1.1f.tar.gz name of the dlls on windows have changed. targets for building are updated according to https://github.com/openssl/openssl/blob/OpenSSL_1_1_1-stable/INSTALL Windows build locally successful but I cannot test the other platforms Commit: 6ea696d9d7b40392cb5ef9554598a53f8dbbc465 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6ea696d9d7b40392cb5ef9554598a53f8dbbc465 Author: Vincent Blondeau Date: 2020-04-10 (Fri, 10 Apr 2020) Changed paths: M build.win64x64/pharo.cog.spur/Makefile M build.win64x64/pharo.stack.spur/Makefile M third-party/openssl.spec A third-party/openssl.spec.win64 Log Message: ----------- Make changes to support win32 Commit: 9322b6a677ccd69b65816fa571c1aab6667a7a35 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9322b6a677ccd69b65816fa571c1aab6667a7a35 Author: Eliot Miranda Date: 2020-04-10 (Fri, 10 Apr 2020) Changed paths: M build.win64x64/common/Makefile M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.tools M build.win64x64/common/Makefile.tools Log Message: ----------- Make sure VM and VM_NAME are defined and passed to the Windows plugin submakes Commit: b1574be161ffafa89c2494f6f84361a96c2e33e2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b1574be161ffafa89c2494f6f84361a96c2e33e2 Author: Eliot Miranda Date: 2020-04-10 (Fri, 10 Apr 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.msvc M build.win64x64/common/Makefile M build.win64x64/common/Makefile.msvc.tools M platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/win32/vm/sqPlatformSpecific.h Log Message: ----------- Remember the 32-bit WIndows Makefiles need to pass VM and VM_NAME to plugin submakes also. Fix window handle parameters for 64-bit Windows ILP64 configuration (use sqIntptr_t). Include Windows.h not windows.h (thank you Clang). [ci skip] because we have to update Mac and Unix HostWIndowPlugin code to match asap. Commit: 750cdbe7f3332e028a4fcf7a148d0e5cc1c2b39e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/750cdbe7f3332e028a4fcf7a148d0e5cc1c2b39e Author: Eliot Miranda Date: 2020-04-10 (Fri, 10 Apr 2020) Changed paths: M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp M platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h M platforms/Mac OS/plugins/HostWindowPlugin/sqMacHostWindow.c M platforms/Mac OS/plugins/HostWindowPlugin/sqMacHostWindow.h M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.h M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.m M platforms/unix/plugins/HostWindowPlugin/sqUnixHostWindowPlugin.c M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm-display-null/sqUnixDisplayNull.c M platforms/unix/vm/SqDisplay.h M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c Log Message: ----------- Update host window plugin support to be compatible with type changes necessary for 64-bit Windows ILP64. Commit: 2cad8eecae572417990af2898e54955079c4498f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2cad8eecae572417990af2898e54955079c4498f Author: Eliot Miranda Date: 2020-04-10 (Fri, 10 Apr 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.h M platforms/iOS/vm/Common/Classes/sqSqueakScreenAPI.m M platforms/iOS/vm/OSX/sqSqueakOSXDropAPI.m M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2739 Add some commentary about an important but substle issue with switching to the C stack. Get the prototype of setInterruptCheckChain: correct. Fix 32-bit macOS Cocoa builds due to slips in the previous HostWindowPlugin commit. Commit: ab241d011b06f50195b5699c78bdaac1fb2ffcac https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ab241d011b06f50195b5699c78bdaac1fb2ffcac Author: Eliot Miranda Date: 2020-04-10 (Fri, 10 Apr 2020) Changed paths: M src/plugins/SqueakFFIPrims/SqueakFFIPrims.c Log Message: ----------- Oops. Revert an inadvertent file change. Commit: 2d4139e52f6a1f988d9c59b4d0027bafb7b7f73e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2d4139e52f6a1f988d9c59b4d0027bafb7b7f73e Author: Vincent Blondeau Date: 2020-04-11 (Sat, 11 Apr 2020) Changed paths: M build.win64x64/pharo.cog.spur/Makefile M build.win64x64/third-party/Makefile.openssl Log Message: ----------- Fix build issue with openssl.win64 Commit: f21d7a2bbf1a6083c3b748456a3155dab50a3784 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f21d7a2bbf1a6083c3b748456a3155dab50a3784 Author: Vincent Blondeau Date: 2020-04-11 (Sat, 11 Apr 2020) Changed paths: M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c Log Message: ----------- Fix Issue when opening heaps of more than MAX DWORD size - Add Writing and Reading by block of MAX_DWORD Commit: 561bea72d0caa699bdd920f786e38b87f137f2a4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/561bea72d0caa699bdd920f786e38b87f137f2a4 Author: Vincent Blondeau Date: 2020-04-11 (Sat, 11 Apr 2020) Changed paths: M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c Log Message: ----------- Add function return test Display an error message if it the amount of bytes that should be written or read is not consistent Commit: 2a7946847dfedae29d1611a6b1bb212f0b83a11c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2a7946847dfedae29d1611a6b1bb212f0b83a11c Author: Eliot Miranda Date: 2020-04-11 (Sat, 11 Apr 2020) Changed paths: M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c Log Message: ----------- Merge pull request #485 from VincentBlondeau/fixMoreThanDWORDSizeImage Fix #484 [Win64]Cannot save and load image files with a heap whose size is more than 0xff ff ff ff (~4.1GB) Commit: ef58d971324ddfffc54d401eb2b0903e9d91b3c3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ef58d971324ddfffc54d401eb2b0903e9d91b3c3 Author: Vincent Blondeau Date: 2020-04-12 (Sun, 12 Apr 2020) Changed paths: M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c Log Message: ----------- Use || instead of | and use MAXDWORD instead of a new constant Fix review of #485 Commit: 2be5c4af6b4979c7e1fbeb40314cce0e48451019 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2be5c4af6b4979c7e1fbeb40314cce0e48451019 Author: Vincent Blondeau Date: 2020-04-12 (Sun, 12 Apr 2020) Changed paths: M build.win32x86/third-party/Makefile.openssl M build.win64x64/third-party/Makefile.openssl Log Message: ----------- Update openSSL files for the win32 build Commit: cc6050cf5b0f08e9cf0c9ee8bcc976b6e62a6702 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cc6050cf5b0f08e9cf0c9ee8bcc976b6e62a6702 Author: David Stes <55844484+cstes at users.noreply.github.com> Date: 2020-04-12 (Sun, 12 Apr 2020) Changed paths: M .git_filters/RevDateURL.clean M .git_filters/RevDateURL.smudge M build.win32x86/HowToBuild A build.win32x86/common/MAKEASSERT.BAT A build.win32x86/common/MAKEDEBUG.BAT A build.win32x86/common/MAKEFAST.BAT M build.win32x86/common/Makefile A build.win32x86/common/Makefile.msvc A build.win32x86/common/Makefile.msvc.clang.rules A build.win32x86/common/Makefile.msvc.flags A build.win32x86/common/Makefile.msvc.msvc.rules A build.win32x86/common/Makefile.msvc.plugin A build.win32x86/common/Makefile.msvc.rules A build.win32x86/common/Makefile.msvc.tools M build.win32x86/common/Makefile.tools A build.win32x86/common/SETPATH.BAT M build.win32x86/newspeak.cog.spur/Makefile M build.win32x86/newspeak.stack.spur/Makefile M build.win32x86/pharo.cog.spur/Makefile M build.win32x86/pharo.sista.spur/Makefile M build.win32x86/pharo.stack.spur/Makefile M build.win32x86/squeak.cog.spur.lowcode/Makefile M build.win32x86/squeak.cog.spur/Makefile M build.win32x86/squeak.cog.v3/Makefile M build.win32x86/squeak.sista.spur/Makefile M build.win32x86/squeak.stack.spur/Makefile M build.win32x86/squeak.stack.v3/Makefile M build.win64x64/HowToBuild A build.win64x64/common/MAKEASSERT.BAT A build.win64x64/common/MAKEDEBUG.BAT A build.win64x64/common/MAKEFAST.BAT M build.win64x64/common/Makefile A build.win64x64/common/Makefile.msvc A build.win64x64/common/Makefile.msvc.clang.rules A build.win64x64/common/Makefile.msvc.flags A build.win64x64/common/Makefile.msvc.msvc.rules A build.win64x64/common/Makefile.msvc.plugin A build.win64x64/common/Makefile.msvc.rules A build.win64x64/common/Makefile.msvc.tools M build.win64x64/common/Makefile.tools A build.win64x64/common/SETPATH.BAT M build.win64x64/newspeak.cog.spur/Makefile M build.win64x64/newspeak.stack.spur/Makefile M build.win64x64/squeak.cog.spur/Makefile M build.win64x64/squeak.stack.spur/Makefile M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp M platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/README.6b2 R platforms/Cross/plugins/JPEGReadWriter2Plugin/ReadMe.txt M platforms/Cross/plugins/JPEGReadWriter2Plugin/jdphuff.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/jmorecfg.h M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqAtomicOps.h M platforms/Cross/vm/sqMemoryAccess.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/Mac OS/plugins/HostWindowPlugin/sqMacHostWindow.c M platforms/Mac OS/plugins/HostWindowPlugin/sqMacHostWindow.h M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.h M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.m M platforms/iOS/vm/Common/Classes/sqSqueakScreenAPI.m M platforms/iOS/vm/OSX/sqSqueakOSXDropAPI.m M platforms/unix/plugins/HostWindowPlugin/sqUnixHostWindowPlugin.c M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm-display-null/sqUnixDisplayNull.c M platforms/unix/vm/SqDisplay.h A platforms/win32/plugins/BitBltPlugin/Makefile.msvc A platforms/win32/plugins/FileAttributesPlugin/Makefile.msvc M platforms/win32/plugins/FileAttributesPlugin/faSupport.c M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c A platforms/win32/plugins/FloatMathPlugin/Makefile.msvc M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c A platforms/win32/plugins/IA32ABI/Makefile.msvc A platforms/win32/plugins/Mpeg3Plugin/Makefile.msvc A platforms/win32/plugins/SerialPlugin/Makefile.msvc A platforms/win32/plugins/SqueakFFIPrims/Makefile.msvc A platforms/win32/plugins/SqueakSSL/Makefile.msvc A platforms/win32/plugins/Win32OSProcessPlugin/Makefile.msvc M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/version.c M processors/IA32/bochs/cpu/cpu.h M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Merge pull request #1 from OpenSmalltalk/Cog import april 12 Commit: e06314bea20388b038ede2c2d1f2e2096f9d1a4c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e06314bea20388b038ede2c2d1f2e2096f9d1a4c Author: Eliot Miranda Date: 2020-04-13 (Mon, 13 Apr 2020) Changed paths: M platforms/Cross/plugins/JPEGReadWriter2Plugin/Error.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/sqJPEGReadWriter2Plugin.c Log Message: ----------- Eliminate the malloc/free of the jmpbuf on every invocation of a JPEGReadWriter2Plugin primitive. The jmpbuf can simply be included in the error_mgr2 struct. Commit: 715b27f3c3eb5257e416a1cdad1d2c3f987e38af https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/715b27f3c3eb5257e416a1cdad1d2c3f987e38af Author: Eliot Miranda Date: 2020-04-13 (Mon, 13 Apr 2020) Changed paths: M platforms/Cross/plugins/JPEGReadWriter2Plugin/Error.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/sqJPEGReadWriter2Plugin.c Log Message: ----------- Undo stupid, stupid, stupid previous commit. Was not reading the code carefully. Apologies. Commit: 92f416147073aa0fd72ff424a53bfa7b0d100c03 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/92f416147073aa0fd72ff424a53bfa7b0d100c03 Author: Eliot Miranda Date: 2020-04-14 (Tue, 14 Apr 2020) Changed paths: M build.win64x64/common/Makefile.msvc.flags M build.win64x64/common/Makefile.msvc.msvc.rules M build.win64x64/common/Makefile.msvc.plugin R platforms/win32/plugins/JPEGReadWriter2Plugin/stub M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Windows: Fix the SqueakCOnsole VMs. They were missing initialization of vmOptions and imageOptions along the main/sqMain path. SOme minor tweaks to the 64-bit MSVC Makefiles to get the VM to compile under Clang-cl.exe (v 10). Commit: 01fdf86530fff0168618046a7a975aad627c4f7e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/01fdf86530fff0168618046a7a975aad627c4f7e Author: Eliot Miranda Date: 2020-04-14 (Tue, 14 Apr 2020) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Windows: Fix starting the console VM when the image name is in the ini file. Commit: 3bb2d8132680f0c934ac276b45d2c6a72d94eeb4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3bb2d8132680f0c934ac276b45d2c6a72d94eeb4 Author: Eliot Miranda Date: 2020-04-15 (Wed, 15 Apr 2020) Changed paths: M build.macos64x64/bochsx64/conf.COG M build.macos64x64/bochsx64/conf.COG.dbg M build.macos64x64/bochsx86/conf.COG M build.macos64x64/bochsx86/conf.COG.dbg M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2741 Spur: Make sure that becomeForward: answers a useful error code for read-only targets (when copyHash is true). Bochs simulators on macos: Have them leave a file that shows the configuration, debug vs "production". Commit: 7e0018d2bda239f11f6b30748de6ac78ca0111d9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7e0018d2bda239f11f6b30748de6ac78ca0111d9 Author: Eliot Miranda Date: 2020-04-15 (Wed, 15 Apr 2020) Changed paths: M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp M platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c M platforms/Cross/plugins/IA32ABI/ia32abi.h R platforms/Cross/plugins/JPEGReadWriter2Plugin/Error.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/jmorecfg.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/sqJPEGReadWriter2Plugin.c A platforms/Cross/vm/sqSetjmpShim.h Log Message: ----------- Abstract all the setjmp/longjmp defines to a common place to avoid duplication and divergence. Specifically use the new sqSetjmpShim.h in the Alien plugin (for callback return), the JPEGReadWriter2Plugin, and the processor simulator plugins. We still need to alter interpreter generation to use sqSetjmpShim.h. N.B. this work is forced by issues with setjmp/longjmp crashing the 64-bit VM on Windows, compiled with MSVC or clang-cl.exe. Even with this "harmonisation", while the Debug and Production VMs work when compiled by clang-cl.exe (work meaning Alien callbacks work and the JPEGReadWriter2Test tests pass), *THE ASSERT VM DOES NOT*. Why this is so will take further investigation. But for the moment being able to use the debug VM for assert checking and having a functional production VM is more valuable than having nothing because the Assert VM isn't working properly. JPEGReadWriter2Plugin: Nuke Error.c and move error_exit to sqJPEGReadWriter2Plugin.c. Eliminate the malloc/free pair for the jmp_buf, simply providing it as a local variable. Streamline some of the code to avoid unnecessary work and duplication. Laura, I miss you, and love your code. Hope you're doing well. Commit: b8384f485dc41a949dc3c2ed6ec8a11bb238730d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b8384f485dc41a949dc3c2ed6ec8a11bb238730d Author: Eliot Miranda Date: 2020-04-15 (Wed, 15 Apr 2020) Changed paths: A build.win32x86/common/MAKEALL.BAT A build.win64x64/common/MAKEALL.BAT Log Message: ----------- Add a couple of convebience build scripts for Windows. [ci skip] Commit: 2d68bdadcb798a274e6488be5bd89c1a0ad5802b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2d68bdadcb798a274e6488be5bd89c1a0ad5802b Author: Eliot Miranda Date: 2020-04-16 (Thu, 16 Apr 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.msvc M build.win64x64/common/Makefile M build.win64x64/common/Makefile.msvc Log Message: ----------- Windows builds: Don't define SQUEAK_BUILTIN_PLUGIN via XDEFS when making a plugin since some plugin Makefiles want to use XDEFS to add their own extra defines. [ci skip] Commit: 27ded576b6bb83fcef0cefdccc0889e43f08f553 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/27ded576b6bb83fcef0cefdccc0889e43f08f553 Author: Eliot Miranda Date: 2020-04-16 (Thu, 16 Apr 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.msvc M build.win32x86/common/Makefile.msvc.plugin M build.win32x86/common/Makefile.plugin M build.win64x64/common/Makefile M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.plugin M build.win64x64/common/Makefile.plugin R platforms/win32/third-party/dx9sdk/Include/Amvideo.h R platforms/win32/third-party/dx9sdk/Include/Bdatif.h R platforms/win32/third-party/dx9sdk/Include/DShow.h R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Bdatif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mpeg2Data.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mpeg2Structs.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mstvca.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mstvgs.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Msvidctl.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Segment.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Videoacc.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Vmrender.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/amstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/austream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/axcore.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/axextend.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/bdaiface.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/control.odl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/ddstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/devenum.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dmodshow.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dshowasf.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dvdif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dxtrans.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dyngraph.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mediaobj.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/medparam.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mixerocx.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mmstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mstve.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/qedit.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/regbag.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/sbe.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/strmif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/tuner.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/tvratings.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/vidcap.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/vmr9.idl R platforms/win32/third-party/dx9sdk/Include/DxDiag.h R platforms/win32/third-party/dx9sdk/Include/Iwstdec.h R platforms/win32/third-party/dx9sdk/Include/Mpeg2Bits.h R platforms/win32/third-party/dx9sdk/Include/Mpeg2Error.h R platforms/win32/third-party/dx9sdk/Include/Mstvca.h R platforms/win32/third-party/dx9sdk/Include/Mstve.h R platforms/win32/third-party/dx9sdk/Include/Msvidctl.h R platforms/win32/third-party/dx9sdk/Include/Msvidctl.tlb R platforms/win32/third-party/dx9sdk/Include/PixPlugin.h R platforms/win32/third-party/dx9sdk/Include/Segment.h R platforms/win32/third-party/dx9sdk/Include/Tuner.tlb R platforms/win32/third-party/dx9sdk/Include/activecf.h R platforms/win32/third-party/dx9sdk/Include/amaudio.h R platforms/win32/third-party/dx9sdk/Include/amparse.h R platforms/win32/third-party/dx9sdk/Include/amstream.h R platforms/win32/third-party/dx9sdk/Include/amva.h R platforms/win32/third-party/dx9sdk/Include/atsmedia.h R platforms/win32/third-party/dx9sdk/Include/audevcod.h R platforms/win32/third-party/dx9sdk/Include/austream.h R platforms/win32/third-party/dx9sdk/Include/aviriff.h R platforms/win32/third-party/dx9sdk/Include/bdaiface.h R platforms/win32/third-party/dx9sdk/Include/bdamedia.h R platforms/win32/third-party/dx9sdk/Include/bdatypes.h R platforms/win32/third-party/dx9sdk/Include/comlite.h R platforms/win32/third-party/dx9sdk/Include/control.h R platforms/win32/third-party/dx9sdk/Include/d3d.h R platforms/win32/third-party/dx9sdk/Include/d3d8.h R platforms/win32/third-party/dx9sdk/Include/d3d8caps.h R platforms/win32/third-party/dx9sdk/Include/d3d8types.h R platforms/win32/third-party/dx9sdk/Include/d3d9.h R platforms/win32/third-party/dx9sdk/Include/d3d9caps.h R platforms/win32/third-party/dx9sdk/Include/d3d9types.h R platforms/win32/third-party/dx9sdk/Include/d3dcaps.h R platforms/win32/third-party/dx9sdk/Include/d3drm.h R platforms/win32/third-party/dx9sdk/Include/d3drmdef.h R platforms/win32/third-party/dx9sdk/Include/d3drmobj.h R platforms/win32/third-party/dx9sdk/Include/d3drmwin.h R platforms/win32/third-party/dx9sdk/Include/d3dtypes.h R platforms/win32/third-party/dx9sdk/Include/d3dvec.inl R platforms/win32/third-party/dx9sdk/Include/d3dx.h R platforms/win32/third-party/dx9sdk/Include/d3dx8.h R platforms/win32/third-party/dx9sdk/Include/d3dx8core.h R platforms/win32/third-party/dx9sdk/Include/d3dx8effect.h R platforms/win32/third-party/dx9sdk/Include/d3dx8math.h R platforms/win32/third-party/dx9sdk/Include/d3dx8math.inl R platforms/win32/third-party/dx9sdk/Include/d3dx8mesh.h R platforms/win32/third-party/dx9sdk/Include/d3dx8shape.h R platforms/win32/third-party/dx9sdk/Include/d3dx8tex.h R platforms/win32/third-party/dx9sdk/Include/d3dx9.h R platforms/win32/third-party/dx9sdk/Include/d3dx9anim.h R platforms/win32/third-party/dx9sdk/Include/d3dx9core.h R platforms/win32/third-party/dx9sdk/Include/d3dx9effect.h R platforms/win32/third-party/dx9sdk/Include/d3dx9math.h R platforms/win32/third-party/dx9sdk/Include/d3dx9math.inl R platforms/win32/third-party/dx9sdk/Include/d3dx9mesh.h R platforms/win32/third-party/dx9sdk/Include/d3dx9shader.h R platforms/win32/third-party/dx9sdk/Include/d3dx9shape.h R platforms/win32/third-party/dx9sdk/Include/d3dx9tex.h R platforms/win32/third-party/dx9sdk/Include/d3dx9xof.h R platforms/win32/third-party/dx9sdk/Include/d3dxcore.h R platforms/win32/third-party/dx9sdk/Include/d3dxerr.h R platforms/win32/third-party/dx9sdk/Include/d3dxmath.h R platforms/win32/third-party/dx9sdk/Include/d3dxmath.inl R platforms/win32/third-party/dx9sdk/Include/d3dxshapes.h R platforms/win32/third-party/dx9sdk/Include/d3dxsprite.h R platforms/win32/third-party/dx9sdk/Include/ddraw.h R platforms/win32/third-party/dx9sdk/Include/ddstream.h R platforms/win32/third-party/dx9sdk/Include/dinput.h R platforms/win32/third-party/dx9sdk/Include/dinputd.h R platforms/win32/third-party/dx9sdk/Include/dls1.h R platforms/win32/third-party/dx9sdk/Include/dls2.h R platforms/win32/third-party/dx9sdk/Include/dmdls.h R platforms/win32/third-party/dx9sdk/Include/dmerror.h R platforms/win32/third-party/dx9sdk/Include/dmksctrl.h R platforms/win32/third-party/dx9sdk/Include/dmo.h R platforms/win32/third-party/dx9sdk/Include/dmodshow.h R platforms/win32/third-party/dx9sdk/Include/dmoimpl.h R platforms/win32/third-party/dx9sdk/Include/dmoreg.h R platforms/win32/third-party/dx9sdk/Include/dmort.h R platforms/win32/third-party/dx9sdk/Include/dmplugin.h R platforms/win32/third-party/dx9sdk/Include/dmusbuff.h R platforms/win32/third-party/dx9sdk/Include/dmusicc.h R platforms/win32/third-party/dx9sdk/Include/dmusicf.h R platforms/win32/third-party/dx9sdk/Include/dmusici.h R platforms/win32/third-party/dx9sdk/Include/dmusics.h R platforms/win32/third-party/dx9sdk/Include/dpaddr.h R platforms/win32/third-party/dx9sdk/Include/dplay.h R platforms/win32/third-party/dx9sdk/Include/dplay8.h R platforms/win32/third-party/dx9sdk/Include/dplobby.h R platforms/win32/third-party/dx9sdk/Include/dplobby8.h R platforms/win32/third-party/dx9sdk/Include/dpnathlp.h R platforms/win32/third-party/dx9sdk/Include/dsconf.h R platforms/win32/third-party/dx9sdk/Include/dsetup.h R platforms/win32/third-party/dx9sdk/Include/dshowasf.h R platforms/win32/third-party/dx9sdk/Include/dsound.h R platforms/win32/third-party/dx9sdk/Include/dv.h R platforms/win32/third-party/dx9sdk/Include/dvdevcod.h R platforms/win32/third-party/dx9sdk/Include/dvdmedia.h R platforms/win32/third-party/dx9sdk/Include/dvoice.h R platforms/win32/third-party/dx9sdk/Include/dvp.h R platforms/win32/third-party/dx9sdk/Include/dx7todx8.h R platforms/win32/third-party/dx9sdk/Include/dxerr8.h R platforms/win32/third-party/dx9sdk/Include/dxerr9.h R platforms/win32/third-party/dx9sdk/Include/dxfile.h R platforms/win32/third-party/dx9sdk/Include/dxtrans.h R platforms/win32/third-party/dx9sdk/Include/dxva.h R platforms/win32/third-party/dx9sdk/Include/edevctrl.h R platforms/win32/third-party/dx9sdk/Include/edevdefs.h R platforms/win32/third-party/dx9sdk/Include/errors.h R platforms/win32/third-party/dx9sdk/Include/evcode.h R platforms/win32/third-party/dx9sdk/Include/il21dec.h R platforms/win32/third-party/dx9sdk/Include/ks.h R platforms/win32/third-party/dx9sdk/Include/ksguid.h R platforms/win32/third-party/dx9sdk/Include/ksmedia.h R platforms/win32/third-party/dx9sdk/Include/ksproxy.h R platforms/win32/third-party/dx9sdk/Include/ksuuids.h R platforms/win32/third-party/dx9sdk/Include/mediaerr.h R platforms/win32/third-party/dx9sdk/Include/mediaobj.h R platforms/win32/third-party/dx9sdk/Include/medparam.h R platforms/win32/third-party/dx9sdk/Include/mixerocx.h R platforms/win32/third-party/dx9sdk/Include/mmstream.h R platforms/win32/third-party/dx9sdk/Include/mpconfig.h R platforms/win32/third-party/dx9sdk/Include/mpeg2data.h R platforms/win32/third-party/dx9sdk/Include/mpegtype.h R platforms/win32/third-party/dx9sdk/Include/multimon.h R platforms/win32/third-party/dx9sdk/Include/playlist.h R platforms/win32/third-party/dx9sdk/Include/qedit.h R platforms/win32/third-party/dx9sdk/Include/qnetwork.h R platforms/win32/third-party/dx9sdk/Include/regbag.h R platforms/win32/third-party/dx9sdk/Include/rmxfguid.h R platforms/win32/third-party/dx9sdk/Include/rmxftmpl.h R platforms/win32/third-party/dx9sdk/Include/sbe.h R platforms/win32/third-party/dx9sdk/Include/strmif.h R platforms/win32/third-party/dx9sdk/Include/strsafe.h R platforms/win32/third-party/dx9sdk/Include/tune.h R platforms/win32/third-party/dx9sdk/Include/tuner.h R platforms/win32/third-party/dx9sdk/Include/tvratings.h R platforms/win32/third-party/dx9sdk/Include/uuids.h R platforms/win32/third-party/dx9sdk/Include/vfwmsgs.h R platforms/win32/third-party/dx9sdk/Include/vidcap.h R platforms/win32/third-party/dx9sdk/Include/videoacc.h R platforms/win32/third-party/dx9sdk/Include/vmr9.h R platforms/win32/third-party/dx9sdk/Include/vpconfig.h R platforms/win32/third-party/dx9sdk/Include/vpnotify.h R platforms/win32/third-party/dx9sdk/Include/vptype.h R platforms/win32/third-party/dx9sdk/Include/xprtdefs.h R platforms/win32/third-party/dx9sdk/Lib/DxErr8.lib R platforms/win32/third-party/dx9sdk/Lib/DxErr9.lib R platforms/win32/third-party/dx9sdk/Lib/amstrmid.lib R platforms/win32/third-party/dx9sdk/Lib/d3d8.lib R platforms/win32/third-party/dx9sdk/Lib/d3d9.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8d.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8dt.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9d.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9dt.lib R platforms/win32/third-party/dx9sdk/Lib/d3dxd.lib R platforms/win32/third-party/dx9sdk/Lib/d3dxof.lib R platforms/win32/third-party/dx9sdk/Lib/ddraw.lib R platforms/win32/third-party/dx9sdk/Lib/dinput.lib R platforms/win32/third-party/dx9sdk/Lib/dinput8.lib R platforms/win32/third-party/dx9sdk/Lib/dmoguids.lib R platforms/win32/third-party/dx9sdk/Lib/dplayx.lib R platforms/win32/third-party/dx9sdk/Lib/dsetup.lib R platforms/win32/third-party/dx9sdk/Lib/dsound.lib R platforms/win32/third-party/dx9sdk/Lib/dxguid.lib R platforms/win32/third-party/dx9sdk/Lib/dxtrans.lib R platforms/win32/third-party/dx9sdk/Lib/encapi.lib R platforms/win32/third-party/dx9sdk/Lib/ksproxy.lib R platforms/win32/third-party/dx9sdk/Lib/ksuser.lib R platforms/win32/third-party/dx9sdk/Lib/msdmo.lib R platforms/win32/third-party/dx9sdk/Lib/quartz.lib R platforms/win32/third-party/dx9sdk/Lib/strmiids.lib R platforms/win32/third-party/dx9sdk/README-TELEPLACE.txt Log Message: ----------- Nuke the ancient and 32-bit only dx9sdk from 2004. Don't know how it snuck in here. It is Qwaq/Teleplace/3DICC only. [ci skip] Commit: 48b8713fa7252d06015a91ffed7892b912ab9979 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/48b8713fa7252d06015a91ffed7892b912ab9979 Author: Eliot Miranda Date: 2020-04-16 (Thu, 16 Apr 2020) Changed paths: R platforms/RiscOS/plugins/JPEGReadWriter2Plugin/stub R platforms/win32/release/stub Log Message: ----------- Nuke CVS stub directories. They have no function these days. [ci skip] Commit: 510337183c8f531e14a1e5e001e992860692c4ae https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/510337183c8f531e14a1e5e001e992860692c4ae Author: Eliot Miranda Date: 2020-04-17 (Fri, 17 Apr 2020) Changed paths: M build.win32x86/common/Makefile.msvc M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.plugin A platforms/win32/misc/qedit.h R platforms/win32/plugins/CameraPlugin/Building Windows CameraPlugin.txt A platforms/win32/plugins/CameraPlugin/Building Windows CameraPlugini Using Visual Studio.txt R platforms/win32/plugins/CameraPlugin/CameraPlugin.cpp R platforms/win32/plugins/CameraPlugin/CameraPlugin.dll A platforms/win32/plugins/CameraPlugin/Makefile.msvc R platforms/win32/plugins/CameraPlugin/STRMBASE.lib M platforms/win32/plugins/CameraPlugin/winCameraOps.cpp Log Message: ----------- Windows: Update the CameraPlugin to build under MSVC 32-bit and 64-bit. Restore a cut-down version of qedit.h from the dx9sdk and put it in platforms.win32/misc. This is hopefully a short-term solution that should be superceded by proper use of the MIDL compiler to generate a fresh file from the SDK in use. Nuke the pre-compiled CameraPlugin.dll, the hack CameraPlugin.cpp, and the 32-bit specific STRMBASE.lib, which is included with Windows SDKs. Add the relevant extern "C" and update interfaces to winCameraOps.cpp so that it mates correctly with platforms/Cross/plugins/CameraPlugin/CameraPlugin.h and src/plugins/CameraPlugin/CameraPlugin.c. Commit: 6e5241eb9cefa3c828376e9e5dec438e652e8a5c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6e5241eb9cefa3c828376e9e5dec438e652e8a5c Author: Eliot Miranda Date: 2020-04-19 (Sun, 19 Apr 2020) Changed paths: M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.m Log Message: ----------- Fix types in currently Terf-specific part of Mac host window plugin. [ci skip] Commit: 810c4fea386bedbae4e077fd36c4667f0c787a6f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/810c4fea386bedbae4e077fd36c4667f0c787a6f Author: Eliot Miranda Date: 2020-04-20 (Mon, 20 Apr 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M processors/IA32/bochs/cpu/cpu.cc M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2742 Cogit: mark the floating-point square root generators (the only non-arithmetic primitives) as notOption: #BIT_IDENTICAL_FLOATING_POINT in preparation for making it possioble to link the VM against Nicolas' revamp of fdlibm. This is for Terf/Croquet. CoInterpreter: rename primitiveArrayBecomeOneWayCopyHash to primitiveArrayBecomeOneWayCopyHashArg to differentiate it from primitiveArrayBecomeOneWayNoCopyHash. Commit: 57aad88504923635796e2a17c4b028b1eecf9434 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/57aad88504923635796e2a17c4b028b1eecf9434 Author: Tobias Pape Date: 2020-04-22 (Wed, 22 Apr 2020) Changed paths: M platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.c M platforms/unix/plugins/HostWindowPlugin/sqUnixHostWindowPlugin.c M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm/SqDisplay.h M platforms/unix/vm/sqUnixMain.c Log Message: ----------- [unix] [opengl,X11] Let's avoid including opengl headers by default but rather opt in for it per-plugin basis. This makes it easier to separate include/lib paths for each plugin, as is necessary for FreeBSD. Commit: 51a95000ebe820dd3de733c75146e4210b42fbac https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/51a95000ebe820dd3de733c75146e4210b42fbac Author: Tobias Pape Date: 2020-04-22 (Wed, 22 Apr 2020) Changed paths: M build.win32x86/third-party/Makefile.openssl M build.win64x64/pharo.stack.spur/Makefile M build.win64x64/third-party/Makefile.openssl M third-party/openssl.spec A third-party/openssl.spec.win64 Log Message: ----------- Merge pull request #482 from VincentBlondeau/fixSSL1.1 Update OpenSSL download to v1.1.1f as v1.0.2q EOLed 1 Jan 2020 Commit: 749c652d213a2a700189f9cb0e462381f76bf6bf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/749c652d213a2a700189f9cb0e462381f76bf6bf Author: Tobias Pape Date: 2020-04-22 (Wed, 22 Apr 2020) Changed paths: M platforms/unix/config/aclocal.m4 M platforms/unix/config/configure M platforms/unix/config/configure.ac M platforms/unix/config/ltmain.sh M platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.c M platforms/unix/plugins/HostWindowPlugin/sqUnixHostWindowPlugin.c M platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc M platforms/unix/plugins/UUIDPlugin/acinclude.m4 M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm/Makefile.in M platforms/unix/vm/SqDisplay.h M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Merge pull request #481 from OpenSmalltalk/krono/freebsd-fixes Improve unix portability Commit: fbfa31926993d1e05d5d988343b54d44a2a718c9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fbfa31926993d1e05d5d988343b54d44a2a718c9 Author: David Stes <55844484+cstes at users.noreply.github.com> Date: 2020-04-22 (Wed, 22 Apr 2020) Changed paths: M build.macos64x64/bochsx64/conf.COG M build.macos64x64/bochsx64/conf.COG.dbg M build.macos64x64/bochsx86/conf.COG M build.macos64x64/bochsx86/conf.COG.dbg A build.win32x86/common/MAKEALL.BAT M build.win32x86/common/Makefile M build.win32x86/common/Makefile.msvc M build.win32x86/common/Makefile.msvc.plugin M build.win32x86/common/Makefile.plugin M build.win32x86/third-party/Makefile.openssl A build.win64x64/common/MAKEALL.BAT M build.win64x64/common/Makefile M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.flags M build.win64x64/common/Makefile.msvc.msvc.rules M build.win64x64/common/Makefile.msvc.plugin M build.win64x64/common/Makefile.plugin M build.win64x64/pharo.stack.spur/Makefile M build.win64x64/third-party/Makefile.openssl M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp M platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c M platforms/Cross/plugins/IA32ABI/ia32abi.h R platforms/Cross/plugins/JPEGReadWriter2Plugin/Error.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/jmorecfg.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/sqJPEGReadWriter2Plugin.c A platforms/Cross/vm/sqSetjmpShim.h R platforms/RiscOS/plugins/JPEGReadWriter2Plugin/stub M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.m M platforms/unix/config/aclocal.m4 M platforms/unix/config/configure M platforms/unix/config/configure.ac M platforms/unix/config/ltmain.sh M platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.c M platforms/unix/plugins/HostWindowPlugin/sqUnixHostWindowPlugin.c M platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc M platforms/unix/plugins/UUIDPlugin/acinclude.m4 M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm/Makefile.in M platforms/unix/vm/SqDisplay.h M platforms/unix/vm/sqUnixMain.c A platforms/win32/misc/qedit.h R platforms/win32/plugins/CameraPlugin/Building Windows CameraPlugin.txt A platforms/win32/plugins/CameraPlugin/Building Windows CameraPlugini Using Visual Studio.txt R platforms/win32/plugins/CameraPlugin/CameraPlugin.cpp R platforms/win32/plugins/CameraPlugin/CameraPlugin.dll A platforms/win32/plugins/CameraPlugin/Makefile.msvc R platforms/win32/plugins/CameraPlugin/STRMBASE.lib M platforms/win32/plugins/CameraPlugin/winCameraOps.cpp R platforms/win32/plugins/JPEGReadWriter2Plugin/stub R platforms/win32/release/stub R platforms/win32/third-party/dx9sdk/Include/Amvideo.h R platforms/win32/third-party/dx9sdk/Include/Bdatif.h R platforms/win32/third-party/dx9sdk/Include/DShow.h R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Bdatif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mpeg2Data.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mpeg2Structs.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mstvca.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mstvgs.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Msvidctl.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Segment.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Videoacc.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Vmrender.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/amstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/austream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/axcore.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/axextend.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/bdaiface.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/control.odl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/ddstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/devenum.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dmodshow.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dshowasf.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dvdif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dxtrans.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dyngraph.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mediaobj.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/medparam.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mixerocx.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mmstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mstve.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/qedit.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/regbag.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/sbe.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/strmif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/tuner.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/tvratings.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/vidcap.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/vmr9.idl R platforms/win32/third-party/dx9sdk/Include/DxDiag.h R platforms/win32/third-party/dx9sdk/Include/Iwstdec.h R platforms/win32/third-party/dx9sdk/Include/Mpeg2Bits.h R platforms/win32/third-party/dx9sdk/Include/Mpeg2Error.h R platforms/win32/third-party/dx9sdk/Include/Mstvca.h R platforms/win32/third-party/dx9sdk/Include/Mstve.h R platforms/win32/third-party/dx9sdk/Include/Msvidctl.h R platforms/win32/third-party/dx9sdk/Include/Msvidctl.tlb R platforms/win32/third-party/dx9sdk/Include/PixPlugin.h R platforms/win32/third-party/dx9sdk/Include/Segment.h R platforms/win32/third-party/dx9sdk/Include/Tuner.tlb R platforms/win32/third-party/dx9sdk/Include/activecf.h R platforms/win32/third-party/dx9sdk/Include/amaudio.h R platforms/win32/third-party/dx9sdk/Include/amparse.h R platforms/win32/third-party/dx9sdk/Include/amstream.h R platforms/win32/third-party/dx9sdk/Include/amva.h R platforms/win32/third-party/dx9sdk/Include/atsmedia.h R platforms/win32/third-party/dx9sdk/Include/audevcod.h R platforms/win32/third-party/dx9sdk/Include/austream.h R platforms/win32/third-party/dx9sdk/Include/aviriff.h R platforms/win32/third-party/dx9sdk/Include/bdaiface.h R platforms/win32/third-party/dx9sdk/Include/bdamedia.h R platforms/win32/third-party/dx9sdk/Include/bdatypes.h R platforms/win32/third-party/dx9sdk/Include/comlite.h R platforms/win32/third-party/dx9sdk/Include/control.h R platforms/win32/third-party/dx9sdk/Include/d3d.h R platforms/win32/third-party/dx9sdk/Include/d3d8.h R platforms/win32/third-party/dx9sdk/Include/d3d8caps.h R platforms/win32/third-party/dx9sdk/Include/d3d8types.h R platforms/win32/third-party/dx9sdk/Include/d3d9.h R platforms/win32/third-party/dx9sdk/Include/d3d9caps.h R platforms/win32/third-party/dx9sdk/Include/d3d9types.h R platforms/win32/third-party/dx9sdk/Include/d3dcaps.h R platforms/win32/third-party/dx9sdk/Include/d3drm.h R platforms/win32/third-party/dx9sdk/Include/d3drmdef.h R platforms/win32/third-party/dx9sdk/Include/d3drmobj.h R platforms/win32/third-party/dx9sdk/Include/d3drmwin.h R platforms/win32/third-party/dx9sdk/Include/d3dtypes.h R platforms/win32/third-party/dx9sdk/Include/d3dvec.inl R platforms/win32/third-party/dx9sdk/Include/d3dx.h R platforms/win32/third-party/dx9sdk/Include/d3dx8.h R platforms/win32/third-party/dx9sdk/Include/d3dx8core.h R platforms/win32/third-party/dx9sdk/Include/d3dx8effect.h R platforms/win32/third-party/dx9sdk/Include/d3dx8math.h R platforms/win32/third-party/dx9sdk/Include/d3dx8math.inl R platforms/win32/third-party/dx9sdk/Include/d3dx8mesh.h R platforms/win32/third-party/dx9sdk/Include/d3dx8shape.h R platforms/win32/third-party/dx9sdk/Include/d3dx8tex.h R platforms/win32/third-party/dx9sdk/Include/d3dx9.h R platforms/win32/third-party/dx9sdk/Include/d3dx9anim.h R platforms/win32/third-party/dx9sdk/Include/d3dx9core.h R platforms/win32/third-party/dx9sdk/Include/d3dx9effect.h R platforms/win32/third-party/dx9sdk/Include/d3dx9math.h R platforms/win32/third-party/dx9sdk/Include/d3dx9math.inl R platforms/win32/third-party/dx9sdk/Include/d3dx9mesh.h R platforms/win32/third-party/dx9sdk/Include/d3dx9shader.h R platforms/win32/third-party/dx9sdk/Include/d3dx9shape.h R platforms/win32/third-party/dx9sdk/Include/d3dx9tex.h R platforms/win32/third-party/dx9sdk/Include/d3dx9xof.h R platforms/win32/third-party/dx9sdk/Include/d3dxcore.h R platforms/win32/third-party/dx9sdk/Include/d3dxerr.h R platforms/win32/third-party/dx9sdk/Include/d3dxmath.h R platforms/win32/third-party/dx9sdk/Include/d3dxmath.inl R platforms/win32/third-party/dx9sdk/Include/d3dxshapes.h R platforms/win32/third-party/dx9sdk/Include/d3dxsprite.h R platforms/win32/third-party/dx9sdk/Include/ddraw.h R platforms/win32/third-party/dx9sdk/Include/ddstream.h R platforms/win32/third-party/dx9sdk/Include/dinput.h R platforms/win32/third-party/dx9sdk/Include/dinputd.h R platforms/win32/third-party/dx9sdk/Include/dls1.h R platforms/win32/third-party/dx9sdk/Include/dls2.h R platforms/win32/third-party/dx9sdk/Include/dmdls.h R platforms/win32/third-party/dx9sdk/Include/dmerror.h R platforms/win32/third-party/dx9sdk/Include/dmksctrl.h R platforms/win32/third-party/dx9sdk/Include/dmo.h R platforms/win32/third-party/dx9sdk/Include/dmodshow.h R platforms/win32/third-party/dx9sdk/Include/dmoimpl.h R platforms/win32/third-party/dx9sdk/Include/dmoreg.h R platforms/win32/third-party/dx9sdk/Include/dmort.h R platforms/win32/third-party/dx9sdk/Include/dmplugin.h R platforms/win32/third-party/dx9sdk/Include/dmusbuff.h R platforms/win32/third-party/dx9sdk/Include/dmusicc.h R platforms/win32/third-party/dx9sdk/Include/dmusicf.h R platforms/win32/third-party/dx9sdk/Include/dmusici.h R platforms/win32/third-party/dx9sdk/Include/dmusics.h R platforms/win32/third-party/dx9sdk/Include/dpaddr.h R platforms/win32/third-party/dx9sdk/Include/dplay.h R platforms/win32/third-party/dx9sdk/Include/dplay8.h R platforms/win32/third-party/dx9sdk/Include/dplobby.h R platforms/win32/third-party/dx9sdk/Include/dplobby8.h R platforms/win32/third-party/dx9sdk/Include/dpnathlp.h R platforms/win32/third-party/dx9sdk/Include/dsconf.h R platforms/win32/third-party/dx9sdk/Include/dsetup.h R platforms/win32/third-party/dx9sdk/Include/dshowasf.h R platforms/win32/third-party/dx9sdk/Include/dsound.h R platforms/win32/third-party/dx9sdk/Include/dv.h R platforms/win32/third-party/dx9sdk/Include/dvdevcod.h R platforms/win32/third-party/dx9sdk/Include/dvdmedia.h R platforms/win32/third-party/dx9sdk/Include/dvoice.h R platforms/win32/third-party/dx9sdk/Include/dvp.h R platforms/win32/third-party/dx9sdk/Include/dx7todx8.h R platforms/win32/third-party/dx9sdk/Include/dxerr8.h R platforms/win32/third-party/dx9sdk/Include/dxerr9.h R platforms/win32/third-party/dx9sdk/Include/dxfile.h R platforms/win32/third-party/dx9sdk/Include/dxtrans.h R platforms/win32/third-party/dx9sdk/Include/dxva.h R platforms/win32/third-party/dx9sdk/Include/edevctrl.h R platforms/win32/third-party/dx9sdk/Include/edevdefs.h R platforms/win32/third-party/dx9sdk/Include/errors.h R platforms/win32/third-party/dx9sdk/Include/evcode.h R platforms/win32/third-party/dx9sdk/Include/il21dec.h R platforms/win32/third-party/dx9sdk/Include/ks.h R platforms/win32/third-party/dx9sdk/Include/ksguid.h R platforms/win32/third-party/dx9sdk/Include/ksmedia.h R platforms/win32/third-party/dx9sdk/Include/ksproxy.h R platforms/win32/third-party/dx9sdk/Include/ksuuids.h R platforms/win32/third-party/dx9sdk/Include/mediaerr.h R platforms/win32/third-party/dx9sdk/Include/mediaobj.h R platforms/win32/third-party/dx9sdk/Include/medparam.h R platforms/win32/third-party/dx9sdk/Include/mixerocx.h R platforms/win32/third-party/dx9sdk/Include/mmstream.h R platforms/win32/third-party/dx9sdk/Include/mpconfig.h R platforms/win32/third-party/dx9sdk/Include/mpeg2data.h R platforms/win32/third-party/dx9sdk/Include/mpegtype.h R platforms/win32/third-party/dx9sdk/Include/multimon.h R platforms/win32/third-party/dx9sdk/Include/playlist.h R platforms/win32/third-party/dx9sdk/Include/qedit.h R platforms/win32/third-party/dx9sdk/Include/qnetwork.h R platforms/win32/third-party/dx9sdk/Include/regbag.h R platforms/win32/third-party/dx9sdk/Include/rmxfguid.h R platforms/win32/third-party/dx9sdk/Include/rmxftmpl.h R platforms/win32/third-party/dx9sdk/Include/sbe.h R platforms/win32/third-party/dx9sdk/Include/strmif.h R platforms/win32/third-party/dx9sdk/Include/strsafe.h R platforms/win32/third-party/dx9sdk/Include/tune.h R platforms/win32/third-party/dx9sdk/Include/tuner.h R platforms/win32/third-party/dx9sdk/Include/tvratings.h R platforms/win32/third-party/dx9sdk/Include/uuids.h R platforms/win32/third-party/dx9sdk/Include/vfwmsgs.h R platforms/win32/third-party/dx9sdk/Include/vidcap.h R platforms/win32/third-party/dx9sdk/Include/videoacc.h R platforms/win32/third-party/dx9sdk/Include/vmr9.h R platforms/win32/third-party/dx9sdk/Include/vpconfig.h R platforms/win32/third-party/dx9sdk/Include/vpnotify.h R platforms/win32/third-party/dx9sdk/Include/vptype.h R platforms/win32/third-party/dx9sdk/Include/xprtdefs.h R platforms/win32/third-party/dx9sdk/Lib/DxErr8.lib R platforms/win32/third-party/dx9sdk/Lib/DxErr9.lib R platforms/win32/third-party/dx9sdk/Lib/amstrmid.lib R platforms/win32/third-party/dx9sdk/Lib/d3d8.lib R platforms/win32/third-party/dx9sdk/Lib/d3d9.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8d.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8dt.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9d.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9dt.lib R platforms/win32/third-party/dx9sdk/Lib/d3dxd.lib R platforms/win32/third-party/dx9sdk/Lib/d3dxof.lib R platforms/win32/third-party/dx9sdk/Lib/ddraw.lib R platforms/win32/third-party/dx9sdk/Lib/dinput.lib R platforms/win32/third-party/dx9sdk/Lib/dinput8.lib R platforms/win32/third-party/dx9sdk/Lib/dmoguids.lib R platforms/win32/third-party/dx9sdk/Lib/dplayx.lib R platforms/win32/third-party/dx9sdk/Lib/dsetup.lib R platforms/win32/third-party/dx9sdk/Lib/dsound.lib R platforms/win32/third-party/dx9sdk/Lib/dxguid.lib R platforms/win32/third-party/dx9sdk/Lib/dxtrans.lib R platforms/win32/third-party/dx9sdk/Lib/encapi.lib R platforms/win32/third-party/dx9sdk/Lib/ksproxy.lib R platforms/win32/third-party/dx9sdk/Lib/ksuser.lib R platforms/win32/third-party/dx9sdk/Lib/msdmo.lib R platforms/win32/third-party/dx9sdk/Lib/quartz.lib R platforms/win32/third-party/dx9sdk/Lib/strmiids.lib R platforms/win32/third-party/dx9sdk/README-TELEPLACE.txt M platforms/win32/vm/sqWin32Main.c M processors/IA32/bochs/cpu/cpu.cc M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M third-party/openssl.spec A third-party/openssl.spec.win64 Log Message: ----------- Merge pull request #2 from OpenSmalltalk/Cog merge apr 22 Commit: eab1bf9a150bdeed596e731ecec54dfd0d6eee61 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/eab1bf9a150bdeed596e731ecec54dfd0d6eee61 Author: Eliot Miranda Date: 2020-04-22 (Wed, 22 Apr 2020) Changed paths: M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.vm M build.win64x64/common/Makefile M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.tools M build.win64x64/common/Makefile.tools A platforms/Cross/third-party/fdlibm/Makefile A platforms/Cross/third-party/fdlibm/Makefile.in A platforms/Cross/third-party/fdlibm/Makefile.remote A platforms/Cross/third-party/fdlibm/README A platforms/Cross/third-party/fdlibm/README.md A platforms/Cross/third-party/fdlibm/configure A platforms/Cross/third-party/fdlibm/configure.in A platforms/Cross/third-party/fdlibm/e_acos.c A platforms/Cross/third-party/fdlibm/e_acosh.c A platforms/Cross/third-party/fdlibm/e_asin.c A platforms/Cross/third-party/fdlibm/e_atan2.c A platforms/Cross/third-party/fdlibm/e_atanh.c A platforms/Cross/third-party/fdlibm/e_cosh.c A platforms/Cross/third-party/fdlibm/e_exp.c A platforms/Cross/third-party/fdlibm/e_fmod.c A platforms/Cross/third-party/fdlibm/e_gamma.c A platforms/Cross/third-party/fdlibm/e_gamma_r.c A platforms/Cross/third-party/fdlibm/e_hypot.c A platforms/Cross/third-party/fdlibm/e_j0.c A platforms/Cross/third-party/fdlibm/e_j1.c A platforms/Cross/third-party/fdlibm/e_jn.c A platforms/Cross/third-party/fdlibm/e_lgamma.c A platforms/Cross/third-party/fdlibm/e_lgamma_r.c A platforms/Cross/third-party/fdlibm/e_log.c A platforms/Cross/third-party/fdlibm/e_log10.c A platforms/Cross/third-party/fdlibm/e_pow.c A platforms/Cross/third-party/fdlibm/e_rem_pio2.c A platforms/Cross/third-party/fdlibm/e_remainder.c A platforms/Cross/third-party/fdlibm/e_scalb.c A platforms/Cross/third-party/fdlibm/e_sinh.c A platforms/Cross/third-party/fdlibm/e_sqrt.c A platforms/Cross/third-party/fdlibm/fdlibm.h A platforms/Cross/third-party/fdlibm/generate_defines A platforms/Cross/third-party/fdlibm/k_cos.c A platforms/Cross/third-party/fdlibm/k_rem_pio2.c A platforms/Cross/third-party/fdlibm/k_sin.c A platforms/Cross/third-party/fdlibm/k_standard.c A platforms/Cross/third-party/fdlibm/k_tan.c A platforms/Cross/third-party/fdlibm/s_asinh.c A platforms/Cross/third-party/fdlibm/s_atan.c A platforms/Cross/third-party/fdlibm/s_cbrt.c A platforms/Cross/third-party/fdlibm/s_ceil.c A platforms/Cross/third-party/fdlibm/s_copysign.c A platforms/Cross/third-party/fdlibm/s_cos.c A platforms/Cross/third-party/fdlibm/s_erf.c A platforms/Cross/third-party/fdlibm/s_expm1.c A platforms/Cross/third-party/fdlibm/s_fabs.c A platforms/Cross/third-party/fdlibm/s_finite.c A platforms/Cross/third-party/fdlibm/s_floor.c A platforms/Cross/third-party/fdlibm/s_frexp.c A platforms/Cross/third-party/fdlibm/s_ilogb.c A platforms/Cross/third-party/fdlibm/s_isnan.c A platforms/Cross/third-party/fdlibm/s_ldexp.c A platforms/Cross/third-party/fdlibm/s_lib_version.c A platforms/Cross/third-party/fdlibm/s_log1p.c A platforms/Cross/third-party/fdlibm/s_logb.c A platforms/Cross/third-party/fdlibm/s_matherr.c A platforms/Cross/third-party/fdlibm/s_modf.c A platforms/Cross/third-party/fdlibm/s_nextafter.c A platforms/Cross/third-party/fdlibm/s_rint.c A platforms/Cross/third-party/fdlibm/s_scalbn.c A platforms/Cross/third-party/fdlibm/s_signgam.c A platforms/Cross/third-party/fdlibm/s_significand.c A platforms/Cross/third-party/fdlibm/s_sin.c A platforms/Cross/third-party/fdlibm/s_tan.c A platforms/Cross/third-party/fdlibm/s_tanh.c A platforms/Cross/third-party/fdlibm/w_acos.c A platforms/Cross/third-party/fdlibm/w_acosh.c A platforms/Cross/third-party/fdlibm/w_asin.c A platforms/Cross/third-party/fdlibm/w_atan2.c A platforms/Cross/third-party/fdlibm/w_atanh.c A platforms/Cross/third-party/fdlibm/w_cosh.c A platforms/Cross/third-party/fdlibm/w_exp.c A platforms/Cross/third-party/fdlibm/w_fmod.c A platforms/Cross/third-party/fdlibm/w_gamma.c A platforms/Cross/third-party/fdlibm/w_gamma_r.c A platforms/Cross/third-party/fdlibm/w_hypot.c A platforms/Cross/third-party/fdlibm/w_j0.c A platforms/Cross/third-party/fdlibm/w_j1.c A platforms/Cross/third-party/fdlibm/w_jn.c A platforms/Cross/third-party/fdlibm/w_lgamma.c A platforms/Cross/third-party/fdlibm/w_lgamma_r.c A platforms/Cross/third-party/fdlibm/w_log.c A platforms/Cross/third-party/fdlibm/w_log10.c A platforms/Cross/third-party/fdlibm/w_pow.c A platforms/Cross/third-party/fdlibm/w_remainder.c A platforms/Cross/third-party/fdlibm/w_scalb.c A platforms/Cross/third-party/fdlibm/w_sinh.c A platforms/Cross/third-party/fdlibm/w_sqrt.c M platforms/Cross/vm/sq.h A platforms/Cross/vm/sqMathShim.h M platforms/Cross/vm/sqVirtualMachine.h Log Message: ----------- Use Nicolas' modernisation of fdlibm to provide cross-platform bit-identical floating-point (CPBIFP) in the standard VM, no longer being dependent on FloatMathPlugin, and hence not having to change image-level primitive definitions to access CPBIFP. This is work in progress, but does not disturb normal builds. To access this code you must define BIT_IDENTICAL_FLOATING_POINT in a Makefile. e.g. here is a Mac makefile: --------8<-------- BIT_IDENTICAL_FLOATING_POINT=BIT_IDENTICAL_FLOATING_POINT VMSRCDIR:= ../../spur64src/vm SOURCEFILE:=SqueakV50.sources include ../common/Makefile.app.squeak --------8<-------- and here is a Windows makefile: --------8<-------- VM:=CROQUET BIT_IDENTICAL_FLOATING_POINT:=BIT_IDENTICAL_FLOATING_POINT VMSRCDIR:=../../spur64src/vm VSCMD_ARG_HOST_ARCH := $(shell echo $$VSCMD_ARG_HOST_ARCH) ifeq ($(VSCMD_ARG_HOST_ARCH),) include ../common/Makefile else include ../common/Makefile.msvc endif --------8<-------- Nothing has been done for linux yet, but it will soon; I have investment in the Pi 4. The strategy is as follows: Nicolas' updated fdlibm code is included in platforms/Cross/third-party/fdlibm. This code is built into a libm.a by each build alongside its internal plugin .libs, and linked into the main VM, iff the Makefile defines BIT_IDENTICAL_FLOATING_POINT. [Nothing has yet been done for external plugins. We either need to construct a shared library/dll for libm for these, or link it statically as per the main VM.] Since sq.h includes it now also includes sqMathShim.h. If BIT_IDENTICAL_FLOATING_POINT is defined as non-zero on the compiler command line, sqMathShim.h pulls in fdlibm.h and redefines all relevant math functions to __ieee754 duals, e.g. # define acos __ieee754_acos. If BIT_IDENTICAL_FLOATING_POINT is not so defined sqMathShim.h does nothing. Hence, unless BIT_IDENTICAL_FLOATING_POINT is not defined in the Makefile the VM builds as before. Commit: eef3cf12c53e56521838b15b7b76048a49320332 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/eef3cf12c53e56521838b15b7b76048a49320332 Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M platforms/unix/config/acinclude.m4 Log Message: ----------- [unix] [configure] make Plugin lib search less invasive [ci skip] Commit: 774216497d5cba30a88be43583b2736d2cbdcb54 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/774216497d5cba30a88be43583b2736d2cbdcb54 Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M platforms/unix/config/acinclude.m4 Log Message: ----------- [unix] [configure] cope for LIBS/plibs difference [ci skip] Commit: fc908eb106cddd05d3764367ee33edd0d771b454 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fc908eb106cddd05d3764367ee33edd0d771b454 Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M platforms/unix/config/acinclude.m4 R platforms/unix/vm-sound-NAS/Makefile.inc R platforms/unix/vm-sound-pulse/Makefile.inc Log Message: ----------- [unix] [configure] fix cut [ci skip] Commit: 2a6699d3d2f887f074710b8d6f44927660647f80 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2a6699d3d2f887f074710b8d6f44927660647f80 Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M platforms/unix/vm-sound-NAS/acinclude.m4 M platforms/unix/vm-sound-pulse/acinclude.m4 Log Message: ----------- [unix] [configure] unify sound plugin detection [ci skip] Commit: 662737eec6e91e3dc6226dca9ebfb2005171552a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/662737eec6e91e3dc6226dca9ebfb2005171552a Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M platforms/unix/config/acinclude.m4 R platforms/unix/vm-sound-sndio/Makefile.inc M platforms/unix/vm-sound-sndio/acinclude.m4 Log Message: ----------- [unix] [configure] unify sound plugin detection, pt2 [ci skip] Commit: f7c6987a1644f28a29db9a97c1e05dc2eb346eb4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f7c6987a1644f28a29db9a97c1e05dc2eb346eb4 Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M platforms/unix/config/acinclude.m4 Log Message: ----------- [unix] [configure] )])] ... [ci skip] Commit: 6bbf37acda4548ce7913d0363f7856aef457a1b7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6bbf37acda4548ce7913d0363f7856aef457a1b7 Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: R platforms/unix/plugins/MIDIPlugin/Makefile.inc M platforms/unix/plugins/MIDIPlugin/acinclude.m4 M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c Log Message: ----------- [unix] [configure] unify sound plugin detection, pt3 [ci skip] Commit: bad2b0133676a477a2ccaa686cd7bad7ccaa1c5a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bad2b0133676a477a2ccaa686cd7bad7ccaa1c5a Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M platforms/unix/config/mkmf Log Message: ----------- [unix] [configure] tweak mkmf with clean slate plibs [ci skip] Commit: 7a499b7c82c05e8ebf45b7d8fa521bb894aa58a3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7a499b7c82c05e8ebf45b7d8fa521bb894aa58a3 Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M platforms/unix/config/config.h.in M platforms/unix/config/configure Log Message: ----------- [unix] [configure] generate [ci skip] Commit: 7e637e329704cdb99d4e075e2dfdf3be59f96c33 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7e637e329704cdb99d4e075e2dfdf3be59f96c33 Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M scripts/ci/travis_install.sh Log Message: ----------- [unix] [travis] allow sndio to be built on linux if available [ci skip] Commit: 55cd19216fb494385dc48895098a5cbb55e46c07 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/55cd19216fb494385dc48895098a5cbb55e46c07 Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: Log Message: ----------- CI! Commit: d7196b1bd86539e3d561c88da7d8d400a65dddfa https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d7196b1bd86539e3d561c88da7d8d400a65dddfa Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M build.linux32ARMv6/pharo.cog.spur/plugins.ext M build.linux32ARMv6/pharo.cog.spur/plugins.int M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.cog.spur/plugins.int M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.int M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.int M build.linux32x86/pharo.cog.spur.lowcode/plugins.ext M build.linux32x86/pharo.cog.spur.lowcode/plugins.int M build.linux32x86/pharo.cog.spur/plugins.ext M build.linux32x86/pharo.cog.spur/plugins.int M build.linux32x86/pharo.sista.spur/plugins.ext M build.linux32x86/pharo.sista.spur/plugins.int M build.linux32x86/pharo.stack.spur.lowcode/plugins.ext M build.linux32x86/pharo.stack.spur.lowcode/plugins.int M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.int M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.int M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.int M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.int M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.int M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.int M build.linux64ARMv8/pharo.cog.spur/plugins.ext M build.linux64ARMv8/pharo.cog.spur/plugins.int M build.linux64ARMv8/pharo.stack.spur/plugins.ext M build.linux64ARMv8/pharo.stack.spur/plugins.int M build.linux64ARMv8/squeak.cog.spur/plugins.ext M build.linux64ARMv8/squeak.cog.spur/plugins.int M build.linux64ARMv8/squeak.stack.spur/plugins.ext M build.linux64ARMv8/squeak.stack.spur/plugins.int M build.linux64x64/pharo.cog.spur/plugins.ext M build.linux64x64/pharo.cog.spur/plugins.int M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/plugins.int M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.int M build.linux64x64/squeak.stack.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.int M src/examplePlugins.ext M src/examplePlugins.int Log Message: ----------- [unix] externalize midi plugin it might depend on libraries we don't want the VM to link against. Commit: 7260b62dedc62471f827f17c3b728698b4deeba9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7260b62dedc62471f827f17c3b728698b4deeba9 Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M .appveyor.yml Log Message: ----------- [ci] Disable win64/pharo.stack.spur [ci skip] recently merged pharo openssl changes may have omitted stuff, but this is not critical for all other builds Commit: d48c1e7794b6c185a1aca73ec8bb0dcafd11433f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d48c1e7794b6c185a1aca73ec8bb0dcafd11433f Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M build.linux32ARMv6/pharo.cog.spur/plugins.ext M build.linux32ARMv6/pharo.cog.spur/plugins.int M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.cog.spur/plugins.int M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.int M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.int M build.linux32x86/pharo.cog.spur.lowcode/plugins.ext M build.linux32x86/pharo.cog.spur.lowcode/plugins.int M build.linux32x86/pharo.cog.spur/plugins.ext M build.linux32x86/pharo.cog.spur/plugins.int M build.linux32x86/pharo.sista.spur/plugins.ext M build.linux32x86/pharo.sista.spur/plugins.int M build.linux32x86/pharo.stack.spur.lowcode/plugins.ext M build.linux32x86/pharo.stack.spur.lowcode/plugins.int M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.int M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.int M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.int M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.int M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.int M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.int M build.linux64ARMv8/pharo.cog.spur/plugins.ext M build.linux64ARMv8/pharo.cog.spur/plugins.int M build.linux64ARMv8/pharo.stack.spur/plugins.ext M build.linux64ARMv8/pharo.stack.spur/plugins.int M build.linux64ARMv8/squeak.cog.spur/plugins.ext M build.linux64ARMv8/squeak.cog.spur/plugins.int M build.linux64ARMv8/squeak.stack.spur/plugins.ext M build.linux64ARMv8/squeak.stack.spur/plugins.int M build.linux64x64/pharo.cog.spur/plugins.ext M build.linux64x64/pharo.cog.spur/plugins.int M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/plugins.int M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.int M build.linux64x64/squeak.stack.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.int M src/examplePlugins.ext M src/examplePlugins.int Log Message: ----------- Merge pull request #492 from OpenSmalltalk/krono/midi-ext [unix] externalize midi plugin Commit: cbd22aa9a3f0d3a45a34f40b5af98d06a1f7f373 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cbd22aa9a3f0d3a45a34f40b5af98d06a1f7f373 Author: Tobias Pape Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M platforms/unix/config/acinclude.m4 M platforms/unix/config/config.h.in M platforms/unix/config/configure M platforms/unix/config/mkmf R platforms/unix/plugins/MIDIPlugin/Makefile.inc M platforms/unix/plugins/MIDIPlugin/acinclude.m4 M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c R platforms/unix/vm-sound-NAS/Makefile.inc M platforms/unix/vm-sound-NAS/acinclude.m4 R platforms/unix/vm-sound-pulse/Makefile.inc M platforms/unix/vm-sound-pulse/acinclude.m4 R platforms/unix/vm-sound-sndio/Makefile.inc M platforms/unix/vm-sound-sndio/acinclude.m4 M scripts/ci/travis_install.sh Log Message: ----------- Merge pull request #491 from OpenSmalltalk/krono/fix-autoconf-again Autoconf fixes Commit: 67c69e0f06eb28941a1993df1363bd27f8db9129 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/67c69e0f06eb28941a1993df1363bd27f8db9129 Author: Eliot Miranda Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVm source as per VMMaker.oscog-eem.2743 BIT_IDENTICAL_FLOATING_POINT: Add a feature flag to vmParameterAt: 65 to show if the VM was compiled with BIT_IDENTICAL_FLOATING_POINT. Revert the exclusion of the machine code square root funcitons if BIT_IDENTICAL_FLOATING_POINT is defined. sqrt is rounded consistently across platforms. Commit: c6eaa7daa1f66f4dce73ff71d13d429cc1f0d638 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c6eaa7daa1f66f4dce73ff71d13d429cc1f0d638 Author: Eliot Miranda Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M platforms/Cross/plugins/FloatMathPlugin/FloatMathPlugin.h R platforms/Cross/plugins/FloatMathPlugin/FloatMathPlugin.st M platforms/Cross/plugins/FloatMathPlugin/acos.c M platforms/Cross/plugins/FloatMathPlugin/acosh.c M platforms/Cross/plugins/FloatMathPlugin/asin.c M platforms/Cross/plugins/FloatMathPlugin/asinh.c M platforms/Cross/plugins/FloatMathPlugin/atan.c M platforms/Cross/plugins/FloatMathPlugin/atan2.c M platforms/Cross/plugins/FloatMathPlugin/atanh.c M platforms/Cross/plugins/FloatMathPlugin/copysign.c M platforms/Cross/plugins/FloatMathPlugin/cos.c M platforms/Cross/plugins/FloatMathPlugin/cosh.c M platforms/Cross/plugins/FloatMathPlugin/exp.c M platforms/Cross/plugins/FloatMathPlugin/expm1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/MD5 R platforms/Cross/plugins/FloatMathPlugin/fdlibm/changes R platforms/Cross/plugins/FloatMathPlugin/fdlibm/configure R platforms/Cross/plugins/FloatMathPlugin/fdlibm/configure.in R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_acos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_acosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_asin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_atan2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_atanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_cosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_exp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_fmod.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_gamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_gamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_hypot.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_j0.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_j1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_jn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_lgamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_lgamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_log.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_log10.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_pow.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_rem_pio2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_remainder.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_scalb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_sinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_sqrt.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/fdlibm.h R platforms/Cross/plugins/FloatMathPlugin/fdlibm/index R platforms/Cross/plugins/FloatMathPlugin/fdlibm/index.html R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_cos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_rem_pio2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_sin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_standard.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_tan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/makefile R platforms/Cross/plugins/FloatMathPlugin/fdlibm/makefile.in R platforms/Cross/plugins/FloatMathPlugin/fdlibm/readme R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_asinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_atan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_cbrt.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ceil.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_copysign.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_cos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_erf.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_expm1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_fabs.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_finite.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_floor.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_frexp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ilogb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_isnan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ldexp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_lib_version.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_log1p.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_logb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_matherr.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_modf.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_nextafter.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_rint.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_scalbn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_signgam.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_significand.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_sin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_tan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_tanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_acos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_acosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_asin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_atan2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_atanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_cosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_exp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_fmod.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_gamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_gamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_hypot.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_j0.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_j1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_jn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_lgamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_lgamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_log.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_log10.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_pow.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_remainder.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_scalb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_sinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_sqrt.c M platforms/Cross/plugins/FloatMathPlugin/finite.c M platforms/Cross/plugins/FloatMathPlugin/fmod.c M platforms/Cross/plugins/FloatMathPlugin/hypot.c M platforms/Cross/plugins/FloatMathPlugin/ieee754names.h M platforms/Cross/plugins/FloatMathPlugin/isnan.c M platforms/Cross/plugins/FloatMathPlugin/k_cos.c M platforms/Cross/plugins/FloatMathPlugin/k_rem_pio2.c M platforms/Cross/plugins/FloatMathPlugin/k_sin.c M platforms/Cross/plugins/FloatMathPlugin/k_tan.c M platforms/Cross/plugins/FloatMathPlugin/ldexp.c M platforms/Cross/plugins/FloatMathPlugin/log.c M platforms/Cross/plugins/FloatMathPlugin/log10.c M platforms/Cross/plugins/FloatMathPlugin/log1p.c M platforms/Cross/plugins/FloatMathPlugin/modf.c M platforms/Cross/plugins/FloatMathPlugin/pow.c M platforms/Cross/plugins/FloatMathPlugin/rem_pio2.c M platforms/Cross/plugins/FloatMathPlugin/rint.c M platforms/Cross/plugins/FloatMathPlugin/scalb.c M platforms/Cross/plugins/FloatMathPlugin/scalbn.c M platforms/Cross/plugins/FloatMathPlugin/sin.c M platforms/Cross/plugins/FloatMathPlugin/sinh.c M platforms/Cross/plugins/FloatMathPlugin/sqrt.c M platforms/Cross/plugins/FloatMathPlugin/tan.c M platforms/Cross/plugins/FloatMathPlugin/tanh.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c Log Message: ----------- Update FloatMathPlugin to accord with the BIT_IDENTICAL_FLOATINT_POINT regime if in effect. N.B. Nicolas, this needs your rebiew. Look at the defines in FloatMathPlugin.h. This check-in contains a provisional hack insertion of sqMathShim.h in FloatMathPlugin.c, which needs VMMaker changes. Commit: c0f63984a22ecc6b638e5846e64765d19c9e1796 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c0f63984a22ecc6b638e5846e64765d19c9e1796 Author: Eliot Miranda Date: 2020-04-23 (Thu, 23 Apr 2020) Changed paths: M src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/CameraPlugin/CameraPlugin.c M src/plugins/CroquetPlugin/CroquetPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/DropPlugin/DropPlugin.c M src/plugins/FFTPlugin/FFTPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/StarSqueakPlugin/StarSqueakPlugin.c M src/plugins/UUIDPlugin/UUIDPlugin.c M src/plugins/UnicodePlugin/UnicodePlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/WeDoPlugin/WeDoPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2744 Slang: Make sure plugins include sqMathShim.h immediately after math.h so that BIT_IDENTICAL_FLOATING_POINT works for plugins too. Commit: 028d18f90a515921e8d5845243341b3ad57cf20e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/028d18f90a515921e8d5845243341b3ad57cf20e Author: David Stes <55844484+cstes at users.noreply.github.com> Date: 2020-04-24 (Fri, 24 Apr 2020) Changed paths: M .appveyor.yml M build.linux32ARMv6/pharo.cog.spur/plugins.ext M build.linux32ARMv6/pharo.cog.spur/plugins.int M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.cog.spur/plugins.int M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.int M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.int M build.linux32x86/pharo.cog.spur.lowcode/plugins.ext M build.linux32x86/pharo.cog.spur.lowcode/plugins.int M build.linux32x86/pharo.cog.spur/plugins.ext M build.linux32x86/pharo.cog.spur/plugins.int M build.linux32x86/pharo.sista.spur/plugins.ext M build.linux32x86/pharo.sista.spur/plugins.int M build.linux32x86/pharo.stack.spur.lowcode/plugins.ext M build.linux32x86/pharo.stack.spur.lowcode/plugins.int M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.int M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.int M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.int M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.int M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.int M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.int M build.linux64ARMv8/pharo.cog.spur/plugins.ext M build.linux64ARMv8/pharo.cog.spur/plugins.int M build.linux64ARMv8/pharo.stack.spur/plugins.ext M build.linux64ARMv8/pharo.stack.spur/plugins.int M build.linux64ARMv8/squeak.cog.spur/plugins.ext M build.linux64ARMv8/squeak.cog.spur/plugins.int M build.linux64ARMv8/squeak.stack.spur/plugins.ext M build.linux64ARMv8/squeak.stack.spur/plugins.int M build.linux64x64/pharo.cog.spur/plugins.ext M build.linux64x64/pharo.cog.spur/plugins.int M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/plugins.int M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.int M build.linux64x64/squeak.stack.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.int M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.vm M build.win64x64/common/Makefile M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.tools M build.win64x64/common/Makefile.tools M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/FloatMathPlugin/FloatMathPlugin.h R platforms/Cross/plugins/FloatMathPlugin/FloatMathPlugin.st M platforms/Cross/plugins/FloatMathPlugin/acos.c M platforms/Cross/plugins/FloatMathPlugin/acosh.c M platforms/Cross/plugins/FloatMathPlugin/asin.c M platforms/Cross/plugins/FloatMathPlugin/asinh.c M platforms/Cross/plugins/FloatMathPlugin/atan.c M platforms/Cross/plugins/FloatMathPlugin/atan2.c M platforms/Cross/plugins/FloatMathPlugin/atanh.c M platforms/Cross/plugins/FloatMathPlugin/copysign.c M platforms/Cross/plugins/FloatMathPlugin/cos.c M platforms/Cross/plugins/FloatMathPlugin/cosh.c M platforms/Cross/plugins/FloatMathPlugin/exp.c M platforms/Cross/plugins/FloatMathPlugin/expm1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/MD5 R platforms/Cross/plugins/FloatMathPlugin/fdlibm/changes R platforms/Cross/plugins/FloatMathPlugin/fdlibm/configure R platforms/Cross/plugins/FloatMathPlugin/fdlibm/configure.in R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_acos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_acosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_asin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_atan2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_atanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_cosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_exp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_fmod.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_gamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_gamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_hypot.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_j0.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_j1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_jn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_lgamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_lgamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_log.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_log10.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_pow.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_rem_pio2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_remainder.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_scalb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_sinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_sqrt.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/fdlibm.h R platforms/Cross/plugins/FloatMathPlugin/fdlibm/index R platforms/Cross/plugins/FloatMathPlugin/fdlibm/index.html R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_cos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_rem_pio2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_sin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_standard.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_tan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/makefile R platforms/Cross/plugins/FloatMathPlugin/fdlibm/makefile.in R platforms/Cross/plugins/FloatMathPlugin/fdlibm/readme R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_asinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_atan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_cbrt.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ceil.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_copysign.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_cos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_erf.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_expm1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_fabs.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_finite.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_floor.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_frexp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ilogb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_isnan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ldexp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_lib_version.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_log1p.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_logb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_matherr.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_modf.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_nextafter.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_rint.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_scalbn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_signgam.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_significand.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_sin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_tan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_tanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_acos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_acosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_asin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_atan2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_atanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_cosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_exp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_fmod.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_gamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_gamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_hypot.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_j0.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_j1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_jn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_lgamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_lgamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_log.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_log10.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_pow.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_remainder.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_scalb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_sinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_sqrt.c M platforms/Cross/plugins/FloatMathPlugin/finite.c M platforms/Cross/plugins/FloatMathPlugin/fmod.c M platforms/Cross/plugins/FloatMathPlugin/hypot.c M platforms/Cross/plugins/FloatMathPlugin/ieee754names.h M platforms/Cross/plugins/FloatMathPlugin/isnan.c M platforms/Cross/plugins/FloatMathPlugin/k_cos.c M platforms/Cross/plugins/FloatMathPlugin/k_rem_pio2.c M platforms/Cross/plugins/FloatMathPlugin/k_sin.c M platforms/Cross/plugins/FloatMathPlugin/k_tan.c M platforms/Cross/plugins/FloatMathPlugin/ldexp.c M platforms/Cross/plugins/FloatMathPlugin/log.c M platforms/Cross/plugins/FloatMathPlugin/log10.c M platforms/Cross/plugins/FloatMathPlugin/log1p.c M platforms/Cross/plugins/FloatMathPlugin/modf.c M platforms/Cross/plugins/FloatMathPlugin/pow.c M platforms/Cross/plugins/FloatMathPlugin/rem_pio2.c M platforms/Cross/plugins/FloatMathPlugin/rint.c M platforms/Cross/plugins/FloatMathPlugin/scalb.c M platforms/Cross/plugins/FloatMathPlugin/scalbn.c M platforms/Cross/plugins/FloatMathPlugin/sin.c M platforms/Cross/plugins/FloatMathPlugin/sinh.c M platforms/Cross/plugins/FloatMathPlugin/sqrt.c M platforms/Cross/plugins/FloatMathPlugin/tan.c M platforms/Cross/plugins/FloatMathPlugin/tanh.c A platforms/Cross/third-party/fdlibm/Makefile A platforms/Cross/third-party/fdlibm/Makefile.in A platforms/Cross/third-party/fdlibm/Makefile.remote A platforms/Cross/third-party/fdlibm/README A platforms/Cross/third-party/fdlibm/README.md A platforms/Cross/third-party/fdlibm/configure A platforms/Cross/third-party/fdlibm/configure.in A platforms/Cross/third-party/fdlibm/e_acos.c A platforms/Cross/third-party/fdlibm/e_acosh.c A platforms/Cross/third-party/fdlibm/e_asin.c A platforms/Cross/third-party/fdlibm/e_atan2.c A platforms/Cross/third-party/fdlibm/e_atanh.c A platforms/Cross/third-party/fdlibm/e_cosh.c A platforms/Cross/third-party/fdlibm/e_exp.c A platforms/Cross/third-party/fdlibm/e_fmod.c A platforms/Cross/third-party/fdlibm/e_gamma.c A platforms/Cross/third-party/fdlibm/e_gamma_r.c A platforms/Cross/third-party/fdlibm/e_hypot.c A platforms/Cross/third-party/fdlibm/e_j0.c A platforms/Cross/third-party/fdlibm/e_j1.c A platforms/Cross/third-party/fdlibm/e_jn.c A platforms/Cross/third-party/fdlibm/e_lgamma.c A platforms/Cross/third-party/fdlibm/e_lgamma_r.c A platforms/Cross/third-party/fdlibm/e_log.c A platforms/Cross/third-party/fdlibm/e_log10.c A platforms/Cross/third-party/fdlibm/e_pow.c A platforms/Cross/third-party/fdlibm/e_rem_pio2.c A platforms/Cross/third-party/fdlibm/e_remainder.c A platforms/Cross/third-party/fdlibm/e_scalb.c A platforms/Cross/third-party/fdlibm/e_sinh.c A platforms/Cross/third-party/fdlibm/e_sqrt.c A platforms/Cross/third-party/fdlibm/fdlibm.h A platforms/Cross/third-party/fdlibm/generate_defines A platforms/Cross/third-party/fdlibm/k_cos.c A platforms/Cross/third-party/fdlibm/k_rem_pio2.c A platforms/Cross/third-party/fdlibm/k_sin.c A platforms/Cross/third-party/fdlibm/k_standard.c A platforms/Cross/third-party/fdlibm/k_tan.c A platforms/Cross/third-party/fdlibm/s_asinh.c A platforms/Cross/third-party/fdlibm/s_atan.c A platforms/Cross/third-party/fdlibm/s_cbrt.c A platforms/Cross/third-party/fdlibm/s_ceil.c A platforms/Cross/third-party/fdlibm/s_copysign.c A platforms/Cross/third-party/fdlibm/s_cos.c A platforms/Cross/third-party/fdlibm/s_erf.c A platforms/Cross/third-party/fdlibm/s_expm1.c A platforms/Cross/third-party/fdlibm/s_fabs.c A platforms/Cross/third-party/fdlibm/s_finite.c A platforms/Cross/third-party/fdlibm/s_floor.c A platforms/Cross/third-party/fdlibm/s_frexp.c A platforms/Cross/third-party/fdlibm/s_ilogb.c A platforms/Cross/third-party/fdlibm/s_isnan.c A platforms/Cross/third-party/fdlibm/s_ldexp.c A platforms/Cross/third-party/fdlibm/s_lib_version.c A platforms/Cross/third-party/fdlibm/s_log1p.c A platforms/Cross/third-party/fdlibm/s_logb.c A platforms/Cross/third-party/fdlibm/s_matherr.c A platforms/Cross/third-party/fdlibm/s_modf.c A platforms/Cross/third-party/fdlibm/s_nextafter.c A platforms/Cross/third-party/fdlibm/s_rint.c A platforms/Cross/third-party/fdlibm/s_scalbn.c A platforms/Cross/third-party/fdlibm/s_signgam.c A platforms/Cross/third-party/fdlibm/s_significand.c A platforms/Cross/third-party/fdlibm/s_sin.c A platforms/Cross/third-party/fdlibm/s_tan.c A platforms/Cross/third-party/fdlibm/s_tanh.c A platforms/Cross/third-party/fdlibm/w_acos.c A platforms/Cross/third-party/fdlibm/w_acosh.c A platforms/Cross/third-party/fdlibm/w_asin.c A platforms/Cross/third-party/fdlibm/w_atan2.c A platforms/Cross/third-party/fdlibm/w_atanh.c A platforms/Cross/third-party/fdlibm/w_cosh.c A platforms/Cross/third-party/fdlibm/w_exp.c A platforms/Cross/third-party/fdlibm/w_fmod.c A platforms/Cross/third-party/fdlibm/w_gamma.c A platforms/Cross/third-party/fdlibm/w_gamma_r.c A platforms/Cross/third-party/fdlibm/w_hypot.c A platforms/Cross/third-party/fdlibm/w_j0.c A platforms/Cross/third-party/fdlibm/w_j1.c A platforms/Cross/third-party/fdlibm/w_jn.c A platforms/Cross/third-party/fdlibm/w_lgamma.c A platforms/Cross/third-party/fdlibm/w_lgamma_r.c A platforms/Cross/third-party/fdlibm/w_log.c A platforms/Cross/third-party/fdlibm/w_log10.c A platforms/Cross/third-party/fdlibm/w_pow.c A platforms/Cross/third-party/fdlibm/w_remainder.c A platforms/Cross/third-party/fdlibm/w_scalb.c A platforms/Cross/third-party/fdlibm/w_sinh.c A platforms/Cross/third-party/fdlibm/w_sqrt.c M platforms/Cross/vm/sq.h A platforms/Cross/vm/sqMathShim.h M platforms/Cross/vm/sqVirtualMachine.h M platforms/unix/config/acinclude.m4 M platforms/unix/config/config.h.in M platforms/unix/config/configure M platforms/unix/config/mkmf R platforms/unix/plugins/MIDIPlugin/Makefile.inc M platforms/unix/plugins/MIDIPlugin/acinclude.m4 M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c R platforms/unix/vm-sound-NAS/Makefile.inc M platforms/unix/vm-sound-NAS/acinclude.m4 R platforms/unix/vm-sound-pulse/Makefile.inc M platforms/unix/vm-sound-pulse/acinclude.m4 R platforms/unix/vm-sound-sndio/Makefile.inc M platforms/unix/vm-sound-sndio/acinclude.m4 M scripts/ci/travis_install.sh M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/examplePlugins.ext M src/examplePlugins.int M src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c M src/plugins/AioPlugin/AioPlugin.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BMPReadWriterPlugin/BMPReadWriterPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/CameraPlugin/CameraPlugin.c M src/plugins/CroquetPlugin/CroquetPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/DropPlugin/DropPlugin.c M src/plugins/FFTPlugin/FFTPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/FloatMathPlugin/FloatMathPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/Klatt/Klatt.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/StarSqueakPlugin/StarSqueakPlugin.c M src/plugins/UUIDPlugin/UUIDPlugin.c M src/plugins/UnicodePlugin/UnicodePlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/WeDoPlugin/WeDoPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Merge pull request #3 from OpenSmalltalk/Cog merge apr 24 Commit: 536a6b7b01361bafae3d057a1498b7dfd6aa82b7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/536a6b7b01361bafae3d057a1498b7dfd6aa82b7 Author: Nicolas Cellier Date: 2020-04-25 (Sat, 25 Apr 2020) Changed paths: M platforms/minheadless/windows/sqWin32Heartbeat.c M platforms/minheadless/windows/sqWin32Time.c M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Time.c Log Message: ----------- Hot fix for issue #488 Win32 DateAndTime I broke it in https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9d52fef2240b7bdf6cfa1a7d6cf8c967220f0e85 While at it, fix the 4 copies of the function (without an IDE, I lost quite some time inspecting the wrong one!). Commit: 61862f35af63f088ddecc49717fce3367c5250e0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/61862f35af63f088ddecc49717fce3367c5250e0 Author: Nicolas Cellier Date: 2020-04-25 (Sat, 25 Apr 2020) Changed paths: M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/Mac OS/vm/sqMacTime.c M platforms/minheadless/common/sqaio.h M platforms/minheadless/generic/sqPlatformSpecific-Generic.c M platforms/minheadless/unix/sqUnixHeartbeat.c M platforms/minheadless/windows/sqWin32Heartbeat.c M platforms/minheadless/windows/sqWin32Time.c M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c M platforms/unix/vm/sqaio.h M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Time.c Log Message: ----------- Function return type should not be declared volatile Only lvalue can be volatile. Eventually, a function can return a pointer to a volatile, but not a volatile (r)value At best, it does nothing, at worse it will cripple the compile LOG with warnings. See -Wignored-qualifiers of gcc or clang Commit: 36270b33202975eee7adab9fa0905dd48421e1ef https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/36270b33202975eee7adab9fa0905dd48421e1ef Author: Eliot Miranda Date: 2020-04-24 (Fri, 24 Apr 2020) Changed paths: M build.win64x64/common/Makefile.msvc.tools Log Message: ----------- Make sure there is 2Mb of stakc size in the MSVC 64-bit WIndows builds. This allows Terf to enter a Forum on Windows in 64-bits (woo hoo!!). [ci skip] Commit: 64c032ac0ef383c634f9ba3897e9793ff453446e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/64c032ac0ef383c634f9ba3897e9793ff453446e Author: Eliot Miranda Date: 2020-04-25 (Sat, 25 Apr 2020) Changed paths: M processors/IA32/bochs/cpu/cpu.cc Log Message: ----------- Undo inadvertent commit of experimental modifications to processors/IA32/bochs/cpu/cpu.cc, [ci skip] Commit: 86da8ca85fe39eeaddb03697e2a3a97d8837490b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/86da8ca85fe39eeaddb03697e2a3a97d8837490b Author: Eliot Miranda Date: 2020-04-25 (Sat, 25 Apr 2020) Changed paths: M processors/IA32/bochs/cpu/proc_ctrl.cc Log Message: ----------- Fix a cvompiler warning in the Bochs sim. [ci skip] Commit: 97bce73cff19e7c526209816ec4911bfb605be0a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/97bce73cff19e7c526209816ec4911bfb605be0a Author: Eliot Miranda Date: 2020-04-25 (Sat, 25 Apr 2020) Changed paths: M processors/IA32/bochs/cpu/cpu.cc Log Message: ----------- And undo yet another inadvertent mod to the Bochs sim. [ci skip] Commit: 99553e018b7bf1ff01c7ad932b17a8e61fcdd9a1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/99553e018b7bf1ff01c7ad932b17a8e61fcdd9a1 Author: Eliot Miranda Date: 2020-04-25 (Sat, 25 Apr 2020) Changed paths: M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp M processors/IA32/bochs/cpu/cpu.cc M processors/IA32/bochs/cpu/proc_ctrl.cc Log Message: ----------- Fix the x86 & x86_64 simulators after the change to the sideways-jump interpret invocation uncovered a bug in them. Simplify the run invocation, eliminating a superfluous setjmp (cpu_loop does a setjmp). Modify the cpu_loop setjmp to set the stop_reason to the longjmp code. Eliminate a compiler warning in bochs/cpu/proc_ctrl.cc which needs different printf strings for 32 & 64 bits. [ci skip] Commit: e36f650636dc3e8d6986689a072e74ccbc78b39a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e36f650636dc3e8d6986689a072e74ccbc78b39a Author: Eliot Miranda Date: 2020-04-27 (Mon, 27 Apr 2020) Changed paths: M build.win32x86/common/SETPATH.BAT M build.win64x64/common/SETPATH.BAT M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/ia32abi.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32DirectInput.c M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32DnsInfo.c M platforms/win32/vm/sqWin32ExternalPrims.c M platforms/win32/vm/sqWin32GUID.c M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32SpurAlloc.c M platforms/win32/vm/sqWin32Threads.c M platforms/win32/vm/sqWin32Time.c M platforms/win32/vm/sqWin32Utils.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c M src/plugins/B2DPlugin/B2DPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2748 Plugins: Add error to the VM proxy API, deleting obsoleteDontUseThisFetchWord: ofObject:. obsoleteDontUseThisFetchWord:ofObject: has never been used by a Cog/Stack VM plugin, and no plugin has sent erro up until now, so this is a safe repurpose of an unused slot. Have BalloonEngineBase>>errorWrongIndex use the VM proxy API's error. Fix the path to cygwin in SETPATH.BAT to contain a drive letter; needed if making e.g. on a network drive. Fix the type of allocateExecutablePage's argument to agree with primAllocateExecutablePage's byteSize var. Placate Clang-cl somewhat by changing files in platforms/win32/vm to include Windows.h rather than windows.h. Commit: b680bc531451fa26df212ce071c2bf2a4c3dacc3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b680bc531451fa26df212ce071c2bf2a4c3dacc3 Author: Eliot Miranda Date: 2020-04-27 (Mon, 27 Apr 2020) Changed paths: M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m Log Message: ----------- Fix module loading on MacOS so that the app bindle's Resources directory is searched for dylibs. Search for .dylib before .so in tryLoadingVariations, unless on PharoVM (I don't want to break anything, but think Pharo should so so too). Eliminate the use of Contents/macOS/Plugins except for Pharo. AFAIA, no one else uses the Contents/MacOS/Plugins sub-directory, and Contents/Frameworks is correct. Commit: 5f075015b83366d3416b12de8b89636581138665 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5f075015b83366d3416b12de8b89636581138665 Author: Tobias Pape Date: 2020-04-28 (Tue, 28 Apr 2020) Changed paths: M platforms/unix/config/config.guess M platforms/unix/config/config.sub Log Message: ----------- [unix] bump GNU system detection scripts [ci skip] Commit: e0e775d5fa31160ec163fa1d7be28d1d6c54a8ff https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e0e775d5fa31160ec163fa1d7be28d1d6c54a8ff Author: Tobias Pape Date: 2020-04-28 (Tue, 28 Apr 2020) Changed paths: M platforms/unix/config/config.guess M platforms/unix/config/config.sub Log Message: ----------- [unix] restore chmod [ci skip] Commit: 728d79ea5643580d010bd3ba169d4ad0524754f6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/728d79ea5643580d010bd3ba169d4ad0524754f6 Author: Eliot Miranda Date: 2020-04-28 (Tue, 28 Apr 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.msvc M build.win64x64/common/Makefile M build.win64x64/common/Makefile.msvc Log Message: ----------- Add an APPPOST hook to the Windows makefiles. [ci skip] Commit: 0715a801b4ae852bfbe7c9b9485feef13776daaf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0715a801b4ae852bfbe7c9b9485feef13776daaf Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/Cross/plugins/IA32ABI/ia32abicc.c Log Message: ----------- SunPRO change Commit: 42000ad5a2ebbc8d76e08b075ff530c02c89e66c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/42000ad5a2ebbc8d76e08b075ff530c02c89e66c Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c Log Message: ----------- SunPRO change Commit: 372e3a78180b66a0833a27f214a0f55e28210c83 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/372e3a78180b66a0833a27f214a0f55e28210c83 Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/Cross/vm/sqAtomicOps.h Log Message: ----------- SunPRO change Commit: d4496d536b2970912393fba474f8b52d5395f323 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d4496d536b2970912393fba474f8b52d5395f323 Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/Cross/vm/sqMemoryFence.h Log Message: ----------- SunPRO change Commit: b118a116b908fca7e34e41ff709585b7a26eb24f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b118a116b908fca7e34e41ff709585b7a26eb24f Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc Log Message: ----------- sun change: define MIN function Commit: 023fefc29d659eb14024ea8f40748a14abe838cf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/023fefc29d659eb14024ea8f40748a14abe838cf Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/unix/vm/aio.c Log Message: ----------- sun change: include to define FASYNC Commit: 279638a5e2f5b73f43a7a8ce0d92caf0681e2968 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/279638a5e2f5b73f43a7a8ce0d92caf0681e2968 Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/unix/vm/include_ucontext.h Log Message: ----------- sun change: include for Commit: 9e5c8569f747880cf30c886f7a74f8aa7c49b8d8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9e5c8569f747880cf30c886f7a74f8aa7c49b8d8 Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/unix/vm/sqUnixHeartbeat.c Log Message: ----------- SunPRO change Commit: f317a846e1ac2ba572dcd5742da861667ee5c9da https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f317a846e1ac2ba572dcd5742da861667ee5c9da Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/unix/vm/sqUnixITimerHeartbeat.c Log Message: ----------- SunPRO change Commit: de13b0a55ab702bfc2b4d29c0f4698dabd704449 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/de13b0a55ab702bfc2b4d29c0f4698dabd704449 Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/unix/vm/sqUnixMain.c Log Message: ----------- sun change: fp and sp in amd64 case Commit: 5953e6305a89cd56b6d2dac54aed7c38e5deaad4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5953e6305a89cd56b6d2dac54aed7c38e5deaad4 Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c Log Message: ----------- sun change: define MIN/MAX functions Commit: a004c1b0661cf021182d6a0b88b7daa7acf49d84 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a004c1b0661cf021182d6a0b88b7daa7acf49d84 Author: stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M scripts/checkSCCSversion Log Message: ----------- sun change: no -q option for fgrep Commit: 8528024f1879dbcf4ed231f90c1363df41a1ef29 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8528024f1879dbcf4ed231f90c1363df41a1ef29 Author: David Stes Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/unix/plugins/SqueakSSL/openssl_overlay.h Log Message: ----------- sqo_SSL_CTX_set_options problem with --disable-dynamicopenssl (openssl 1.0.2) Commit: b06444d79e34d31a77b573e71ef208b43041d3d3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b06444d79e34d31a77b573e71ef208b43041d3d3 Author: Tobias Pape Date: 2020-04-29 (Wed, 29 Apr 2020) Changed paths: M platforms/unix/config/ax_append_flag.m4 M platforms/unix/config/ax_cflags_warn_all.m4 M platforms/unix/config/ax_have_epoll.m4 M platforms/unix/config/ax_pthread.m4 Log Message: ----------- [unix] [config] bump external autoconf scripts [ci skip] Commit: 0c8ab5affc03de86c10058652aaf5036ef5803e8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0c8ab5affc03de86c10058652aaf5036ef5803e8 Author: Tobias Pape Date: 2020-04-30 (Thu, 30 Apr 2020) Changed paths: M platforms/unix/config/Makefile.in M platforms/unix/config/acinclude.m4 A platforms/unix/config/ax_compiler_vendor.m4 M platforms/unix/config/configure.ac Log Message: ----------- [unix] [config] modernize some autoconf [ci skip] Commit: 999d9b63cb16a82f854bcc846e6266a6853af4aa https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/999d9b63cb16a82f854bcc846e6266a6853af4aa Author: Tobias Pape Date: 2020-04-30 (Thu, 30 Apr 2020) Changed paths: M platforms/unix/config/acinclude.m4 A platforms/unix/config/ax_prepend_flag.m4 Log Message: ----------- [unix] [config] missing m4 [ci skip] Commit: 36971473d96daac9fd9ba083c4cdc65a8ce62375 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/36971473d96daac9fd9ba083c4cdc65a8ce62375 Author: Tobias Pape Date: 2020-04-30 (Thu, 30 Apr 2020) Changed paths: M platforms/unix/config/configure.ac Log Message: ----------- [unix] [config] move dependecies around [ci skip] Commit: 3fb0795ac769af74d8bc9cf9865d090838e304ed https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3fb0795ac769af74d8bc9cf9865d090838e304ed Author: Tobias Pape Date: 2020-04-30 (Thu, 30 Apr 2020) Changed paths: M platforms/unix/config/make.cfg.in Log Message: ----------- [unix] [config] fix miss after LT_ stuff [ci skip] Commit: c5faeb7f2ad55a04a60ab61d5541a235cc4902a0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c5faeb7f2ad55a04a60ab61d5541a235cc4902a0 Author: Tobias Pape Date: 2020-04-30 (Thu, 30 Apr 2020) Changed paths: M platforms/unix/config/aclocal.m4 M platforms/unix/config/config.h.in M platforms/unix/config/configure Log Message: ----------- [unix] [config] generate (and test) Commit: 799e0f6dd1a27e73f2c1cd45886bf008fa79b6ab https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/799e0f6dd1a27e73f2c1cd45886bf008fa79b6ab Author: David Stes <55844484+cstes at users.noreply.github.com> Date: 2020-04-30 (Thu, 30 Apr 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.msvc M build.win32x86/common/SETPATH.BAT M build.win64x64/common/Makefile M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.tools M build.win64x64/common/SETPATH.BAT M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/ia32abi.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/Mac OS/vm/sqMacTime.c M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m M platforms/minheadless/common/sqaio.h M platforms/minheadless/generic/sqPlatformSpecific-Generic.c M platforms/minheadless/unix/sqUnixHeartbeat.c M platforms/minheadless/windows/sqWin32Heartbeat.c M platforms/minheadless/windows/sqWin32Time.c M platforms/unix/config/Makefile.in M platforms/unix/config/acinclude.m4 M platforms/unix/config/aclocal.m4 M platforms/unix/config/ax_append_flag.m4 M platforms/unix/config/ax_cflags_warn_all.m4 A platforms/unix/config/ax_compiler_vendor.m4 M platforms/unix/config/ax_have_epoll.m4 A platforms/unix/config/ax_prepend_flag.m4 M platforms/unix/config/ax_pthread.m4 M platforms/unix/config/config.guess M platforms/unix/config/config.h.in M platforms/unix/config/config.sub M platforms/unix/config/configure M platforms/unix/config/configure.ac M platforms/unix/config/make.cfg.in M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c M platforms/unix/vm/sqaio.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32DirectInput.c M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32DnsInfo.c M platforms/win32/vm/sqWin32ExternalPrims.c M platforms/win32/vm/sqWin32GUID.c M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32SpurAlloc.c M platforms/win32/vm/sqWin32Threads.c M platforms/win32/vm/sqWin32Time.c M platforms/win32/vm/sqWin32Utils.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c M processors/IA32/bochs/cpu/cpu.cc M processors/IA32/bochs/cpu/proc_ctrl.cc M src/plugins/B2DPlugin/B2DPlugin.c Log Message: ----------- Merge pull request #4 from OpenSmalltalk/Cog update april 30 Commit: a68e4aa7b24dab83c4f85a6192fa393602e3fe8d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a68e4aa7b24dab83c4f85a6192fa393602e3fe8d Author: stes Date: 2020-04-30 (Thu, 30 Apr 2020) Changed paths: A build.sunos32x86/HowToBuild A build.sunos32x86/squeak.cog.spur/build/mvm A build.sunos32x86/squeak.cog.spur/plugins.ext A build.sunos32x86/squeak.cog.spur/plugins.int A build.sunos32x86/squeak.stack.spur/build/mvm A build.sunos32x86/squeak.stack.spur/plugins.ext A build.sunos32x86/squeak.stack.spur/plugins.int A build.sunos64x64/HowToBuild A build.sunos64x64/squeak.cog.spur/build/mvm A build.sunos64x64/squeak.cog.spur/plugins.ext A build.sunos64x64/squeak.cog.spur/plugins.int A build.sunos64x64/squeak.stack.spur/build/mvm A build.sunos64x64/squeak.stack.spur/plugins.ext A build.sunos64x64/squeak.stack.spur/plugins.int Log Message: ----------- Add build.sunos32x86 and build.sunos64x64 directories Commit: 5fa2f1e44035ab5520317f8712ad39401973fb32 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5fa2f1e44035ab5520317f8712ad39401973fb32 Author: Christian Kellermann Date: 2020-04-30 (Thu, 30 Apr 2020) Changed paths: M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Dump registers on OpenBSD/amd64 platforms Commit: c112b0db966b590361724bbadba49b972bf290c1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c112b0db966b590361724bbadba49b972bf290c1 Author: Tobias Pape Date: 2020-04-30 (Thu, 30 Apr 2020) Changed paths: M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Merge pull request #495 from ckeen/Cog Dump registers on OpenBSD/amd64 platforms Commit: ddf91d5dd68263469f08b0d4f830f82e9b7468e3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ddf91d5dd68263469f08b0d4f830f82e9b7468e3 Author: David Stes Date: 2020-05-01 (Fri, 01 May 2020) Changed paths: M build.sunos64x64/HowToBuild Log Message: ----------- Add a note on uninstall header-audio to avoid OSS and Sun audio build Commit: 8f71c4a19b6ced608d2417210d152d19feb64ae7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8f71c4a19b6ced608d2417210d152d19feb64ae7 Author: David Stes Date: 2020-05-01 (Fri, 01 May 2020) Changed paths: M build.sunos64x64/HowToBuild Log Message: ----------- Note on runtime/tcl-8/tcl-openssl which provides tls.h Commit: 600cfa91e6dbdcd2883cce1631a4c0fe5416d1a0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/600cfa91e6dbdcd2883cce1631a4c0fe5416d1a0 Author: David Stes Date: 2020-05-01 (Fri, 01 May 2020) Changed paths: M build.sunos32x86/squeak.cog.spur/build/mvm M build.sunos32x86/squeak.stack.spur/build/mvm M build.sunos64x64/squeak.cog.spur/build/mvm M build.sunos64x64/squeak.stack.spur/build/mvm Log Message: ----------- Add --without-libtls for SunOS mvm scripts Commit: 774730ad47ee9d0e8a6e868c99327ceba4f456fc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/774730ad47ee9d0e8a6e868c99327ceba4f456fc Author: Eliot Miranda Date: 2020-05-01 (Fri, 01 May 2020) Changed paths: A build.sunos32x86/HowToBuild A build.sunos32x86/squeak.cog.spur/build/mvm A build.sunos32x86/squeak.cog.spur/plugins.ext A build.sunos32x86/squeak.cog.spur/plugins.int A build.sunos32x86/squeak.stack.spur/build/mvm A build.sunos32x86/squeak.stack.spur/plugins.ext A build.sunos32x86/squeak.stack.spur/plugins.int A build.sunos64x64/HowToBuild A build.sunos64x64/squeak.cog.spur/build/mvm A build.sunos64x64/squeak.cog.spur/plugins.ext A build.sunos64x64/squeak.cog.spur/plugins.int A build.sunos64x64/squeak.stack.spur/build/mvm A build.sunos64x64/squeak.stack.spur/plugins.ext A build.sunos64x64/squeak.stack.spur/plugins.int M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/vm/sqAtomicOps.h M platforms/Cross/vm/sqMemoryFence.h M platforms/unix/plugins/SqueakSSL/openssl_overlay.h M platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc M platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c M platforms/unix/vm/aio.c M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixMain.c M scripts/checkSCCSversion Log Message: ----------- Merge pull request #494 from cstes/sun new Sun pull request Commit: 0b051e42357b243e42330c260a43082072fb4224 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0b051e42357b243e42330c260a43082072fb4224 Author: Nicolas Cellier Date: 2020-05-01 (Fri, 01 May 2020) Changed paths: M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h Log Message: ----------- Add isShorts and isLong64s functions in the virtual machine This is necessary for testing corresponding bit arrays in Spur Commit: 6d13e91375b93949c913c454e7dbd9da657809d8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6d13e91375b93949c913c454e7dbd9da657809d8 Author: Eliot Miranda Date: 2020-05-01 (Fri, 01 May 2020) Changed paths: M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c Log Message: ----------- Merge pull request #486 from VincentBlondeau/fixMoreThanDWORDSizeImage2 [Improvment][Win64]Cannot save and load image files with a heap whose size is more than 0xff ff ff ff (~4.1GB) Commit: 5cd3557620083d378f18fbffa6996764867938da https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5cd3557620083d378f18fbffa6996764867938da Author: David Stes <55844484+cstes at users.noreply.github.com> Date: 2020-05-02 (Sat, 02 May 2020) Changed paths: A build.sunos32x86/HowToBuild A build.sunos32x86/squeak.cog.spur/build/mvm A build.sunos32x86/squeak.cog.spur/plugins.ext A build.sunos32x86/squeak.cog.spur/plugins.int A build.sunos32x86/squeak.stack.spur/build/mvm A build.sunos32x86/squeak.stack.spur/plugins.ext A build.sunos32x86/squeak.stack.spur/plugins.int A build.sunos64x64/HowToBuild A build.sunos64x64/squeak.cog.spur/build/mvm A build.sunos64x64/squeak.cog.spur/plugins.ext A build.sunos64x64/squeak.cog.spur/plugins.int A build.sunos64x64/squeak.stack.spur/build/mvm A build.sunos64x64/squeak.stack.spur/plugins.ext A build.sunos64x64/squeak.stack.spur/plugins.int M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/vm/sqAtomicOps.h M platforms/Cross/vm/sqMemoryFence.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/unix/plugins/SqueakSSL/openssl_overlay.h M platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc M platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c M platforms/unix/vm/aio.c M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixMain.c M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M scripts/checkSCCSversion Log Message: ----------- Merge pull request #5 from OpenSmalltalk/Cog may 2 pull request Commit: acaf284cc026022c08bf5a76742226ff4ebe2a41 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/acaf284cc026022c08bf5a76742226ff4ebe2a41 Author: Eliot Miranda Date: 2020-05-07 (Thu, 07 May 2020) Changed paths: M build.win32x86/common/Makefile.msvc.tools M build.win64x64/common/Makefile.msvc.tools M platforms/Cross/third-party/fdlibm/fdlibm.h M platforms/win32/vm/sqWin32ExternalPrims.c Log Message: ----------- Win32: Guard some fdlibm.h defines to avoid warnings on Win32. Make sure the msvc makefile suite builds a UNICODE VM (why doesn't the cygwin makefile suite do the same?!?!?). Don't add ".dll" to the end of module names that already have ".dll" added. Commit: 28d52b59b1f863581b873afb9e096c315e4f0133 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/28d52b59b1f863581b873afb9e096c315e4f0133 Author: Eliot Miranda Date: 2020-05-07 (Thu, 07 May 2020) Changed paths: M build.win32x86/common/Makefile.msvc.tools M build.win64x64/common/Makefile.msvc.tools Log Message: ----------- Turn off INCREMENTAL linking in the win32 msvc makefiles. It's noise we don't need. [ci skip] Commit: 020c80f357c8164e26f37cefea8c50b92bae7fa8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/020c80f357c8164e26f37cefea8c50b92bae7fa8 Author: Eliot Miranda Date: 2020-05-07 (Thu, 07 May 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M scripts/revertIfEssentiallyUnchanged M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spur64src/vm/interp.h M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcode64src/vm/interp.h M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/interp.h M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestack64src/vm/interp.h M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spurlowcodestacksrc/vm/interp.h M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursista64src/vm/interp.h M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursistasrc/vm/interp.h M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spursrc/vm/interp.h M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/interp.h M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/interp.h M spurstacksrc/vm/validImage.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/FileCopyPlugin/FileCopyPlugin.c A src/plugins/Float64ArrayPlugin/Float64ArrayPlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/RePlugin/RePlugin.c M src/plugins/SHA256Plugin/SHA256Plugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/UUIDPlugin/UUIDPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2751 Spur: Fix assert that checks for a valid function pointer on primitive failure that was confiused by FFI calls. Fix potential bug with primitive failure of external and FFI calls, making sure the first literal of the method is followed. The first literal is state used to cache an external call or define the signature of an ffi call. Make sure that FFI calls have a valid accessor depth. Fix a common speeling rorre. Slang: initGlobalStructure is never used; nuke its generator. Commit: 5eb2865595314fc3dc2a147a92d0863a647c3372 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5eb2865595314fc3dc2a147a92d0863a647c3372 Author: Eliot Miranda Date: 2020-05-07 (Thu, 07 May 2020) Changed paths: M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2752 InterpreterProxy API: Add identityHashOf; the PyBridge needs it to avoid hacking around Spur. Commit: 1a4e3ab2c0dcb9be718e3e501d83c5ab7aab3273 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1a4e3ab2c0dcb9be718e3e501d83c5ab7aab3273 Author: Eliot Miranda Date: 2020-05-07 (Thu, 07 May 2020) Changed paths: M platforms/RiscOS/vm/sqRPCMain.c M platforms/minheadless/common/sqVirtualMachineInterface.c M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Oops, there *are* clients of initGlobalStructure. Nuke the usage. We can restore it if someone really wants, but it is effectively dead code. Commit: 920248dc54ecbcadd9121058360081665d3c7460 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/920248dc54ecbcadd9121058360081665d3c7460 Author: Eliot Miranda Date: 2020-05-08 (Fri, 08 May 2020) Changed paths: M build.win32x86/pharo.cog.spur.lowcode/mvm M build.win32x86/pharo.cog.spur.lowcode/plugins.ext M build.win32x86/pharo.cog.spur.lowcode/plugins.int M build.win32x86/pharo.cog.spur/plugins.ext M build.win32x86/pharo.cog.spur/plugins.int M build.win32x86/pharo.sista.spur/plugins.ext M build.win32x86/pharo.sista.spur/plugins.int M build.win32x86/pharo.stack.spur/plugins.ext M build.win32x86/pharo.stack.spur/plugins.int M build.win32x86/squeak.cog.spur.lowcode/mvm M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur.lowcode/plugins.int M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.spur/plugins.int M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.cog.v3/plugins.int M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.sista.spur/plugins.int M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.int M build.win32x86/squeak.stack.v3/plugins.ext M build.win32x86/squeak.stack.v3/plugins.int M build.win64x64/common/Makefile.msvc.plugin M build.win64x64/common/Makefile.msvc.tools M build.win64x64/common/Makefile.tools M build.win64x64/newspeak.cog.spur/mvm M build.win64x64/newspeak.stack.spur/mvm M build.win64x64/pharo.cog.spur/mvm M build.win64x64/pharo.cog.spur/plugins.ext M build.win64x64/pharo.cog.spur/plugins.int M build.win64x64/pharo.stack.spur/mvm M build.win64x64/pharo.stack.spur/plugins.ext M build.win64x64/pharo.stack.spur/plugins.int M build.win64x64/squeak.cog.spur/mvm M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.cog.spur/plugins.int M build.win64x64/squeak.stack.spur/mvm M build.win64x64/squeak.stack.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.int A platforms/win32/plugins/B3DAcceleratorPlugin/Makefile.msvc A platforms/win32/plugins/B3DAcceleratorPlugin/Makefile.plugin M platforms/win32/plugins/CameraPlugin/Makefile.msvc Log Message: ----------- Win32/64: Make the B3DAcceleratorPlugin an external plugin as it is on the other platforms. Make sure the CameraPlugin links. Correct the clang compile so that no stack check code (which odesn't link) is generated. Make sure all win32/64 mvm files are executable. Commit: a5a03cc991db7a170c7f65003db74382750a4b27 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a5a03cc991db7a170c7f65003db74382750a4b27 Author: Nicolas Cellier Date: 2020-05-09 (Sat, 09 May 2020) Changed paths: M build.linux32ARMv6/newspeak.cog.spur/plugins.int M build.linux32ARMv6/newspeak.stack.spur/plugins.int M build.linux32ARMv6/pharo.cog.spur/plugins.int M build.linux32ARMv6/squeak.cog.spur/plugins.int M build.linux32ARMv6/squeak.stack.spur/plugins.int M build.linux32x86/newspeak.cog.spur/plugins.int M build.linux32x86/newspeak.sista.spur/plugins.int M build.linux32x86/newspeak.stack.spur/plugins.int M build.linux32x86/nsnac.cog.spur/plugins.int M build.linux32x86/pharo.cog.spur.lowcode/plugins.int M build.linux32x86/pharo.cog.spur/plugins.int M build.linux32x86/pharo.sista.spur/plugins.int M build.linux32x86/pharo.stack.spur.lowcode/plugins.int M build.linux32x86/squeak.cog.spur.immutability/plugins.int M build.linux32x86/squeak.cog.spur/plugins.int M build.linux32x86/squeak.sista.spur/plugins.int M build.linux32x86/squeak.stack.spur/plugins.int M build.linux64ARMv8/pharo.cog.spur/plugins.int M build.linux64ARMv8/pharo.stack.spur/plugins.int M build.linux64ARMv8/squeak.cog.spur/plugins.int M build.linux64ARMv8/squeak.stack.spur/plugins.int M build.linux64x64/newspeak.cog.spur/plugins.int M build.linux64x64/newspeak.sista.spur/plugins.int M build.linux64x64/newspeak.stack.spur/plugins.int M build.linux64x64/nsnac.cog.spur/plugins.int M build.linux64x64/pharo.cog.spur/plugins.int M build.linux64x64/squeak.cog.spur.immutability/plugins.int M build.linux64x64/squeak.cog.spur/plugins.int M build.linux64x64/squeak.stack.spur/plugins.int M build.macos32x86/newspeak.cog.spur/plugins.int M build.macos32x86/newspeak.stack.spur/plugins.int M build.macos32x86/pharo.cog.spur.lowcode/plugins.int M build.macos32x86/pharo.cog.spur.minheadless/plugins.int M build.macos32x86/pharo.cog.spur/plugins.int M build.macos32x86/pharo.sista.spur/plugins.int M build.macos32x86/pharo.stack.spur.lowcode/plugins.int M build.macos32x86/pharo.stack.spur/plugins.int M build.macos32x86/squeak.cog.spur+immutability/plugins.int M build.macos32x86/squeak.cog.spur/plugins.int M build.macos32x86/squeak.sista.spur/plugins.int M build.macos32x86/squeak.stack.spur/plugins.int M build.macos64x64/newspeak.cog.spur/plugins.int M build.macos64x64/newspeak.stack.spur/plugins.int M build.macos64x64/pharo.cog.spur.lowcode/plugins.int M build.macos64x64/pharo.cog.spur/plugins.int M build.macos64x64/pharo.sista.spur/plugins.int M build.macos64x64/pharo.stack.spur.lowcode/plugins.int M build.macos64x64/pharo.stack.spur/plugins.int M build.macos64x64/squeak.cog.spur.immutability/plugins.int M build.macos64x64/squeak.cog.spur/Makefile M build.macos64x64/squeak.cog.spur/plugins.int M build.macos64x64/squeak.sista.spur/plugins.int M build.macos64x64/squeak.stack.spur/plugins.int M build.sunos32x86/squeak.cog.spur/plugins.int M build.sunos32x86/squeak.stack.spur/plugins.int M build.sunos64x64/squeak.cog.spur/plugins.int M build.sunos64x64/squeak.stack.spur/plugins.int M build.win32x86/newspeak.cog.spur/plugins.int M build.win32x86/newspeak.stack.spur/plugins.int M build.win32x86/pharo.cog.spur.lowcode/plugins.int M build.win32x86/pharo.cog.spur/plugins.int M build.win32x86/pharo.sista.spur/plugins.int M build.win32x86/pharo.stack.spur/plugins.int M build.win32x86/squeak.cog.spur.lowcode/plugins.int M build.win32x86/squeak.cog.spur/plugins.int M build.win32x86/squeak.sista.spur/plugins.int M build.win32x86/squeak.stack.spur/plugins.int M build.win64x64/newspeak.cog.spur/plugins.int M build.win64x64/newspeak.stack.spur/plugins.int M build.win64x64/pharo.cog.spur/plugins.int M build.win64x64/pharo.stack.spur/plugins.int M build.win64x64/squeak.cog.spur/plugins.int M build.win64x64/squeak.stack.spur/plugins.int Log Message: ----------- Build the Float64ArrayPlugin now that it is generated Commit: 1b612e09915700aaa93e31140c386d1ab55db2ea https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1b612e09915700aaa93e31140c386d1ab55db2ea Author: Nicolas Cellier Date: 2020-05-09 (Sat, 09 May 2020) Changed paths: M src/plugins/Float64ArrayPlugin/Float64ArrayPlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c Log Message: ----------- Regenerate Float(64)ArrayPlugin from VMMaker.oscog-nice.2753 This is necessary in order to have correct declaration of isLong64s VM function and avoid tons of warnings Commit: c6cf099b3549aee3025de4c16492ba1683526930 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c6cf099b3549aee3025de4c16492ba1683526930 Author: Eliot Miranda Date: 2020-05-09 (Sat, 09 May 2020) Changed paths: M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.tools M platforms/win32/plugins/FloatMathPlugin/Makefile.msvc M platforms/win32/plugins/SqueakSSL/Makefile.msvc Log Message: ----------- Less noise in the msvc 64-bit makefiles. ALso make the VM_NAME command-line define a little friendlier for copying copile commands to BAT files for testing. Commit: ee89a4dad04442463252b6a368a8ba373288a774 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ee89a4dad04442463252b6a368a8ba373288a774 Author: Eliot Miranda Date: 2020-05-09 (Sat, 09 May 2020) Changed paths: M build.linux32ARMv6/newspeak.cog.spur/plugins.int M build.linux32ARMv6/newspeak.stack.spur/plugins.int M build.linux32ARMv6/pharo.cog.spur/plugins.int M build.linux32ARMv6/squeak.cog.spur/plugins.int M build.linux32ARMv6/squeak.stack.spur/plugins.int M build.linux32x86/newspeak.cog.spur/plugins.int M build.linux32x86/newspeak.sista.spur/plugins.int M build.linux32x86/newspeak.stack.spur/plugins.int M build.linux32x86/nsnac.cog.spur/plugins.int M build.linux32x86/pharo.cog.spur.lowcode/plugins.int M build.linux32x86/pharo.cog.spur/plugins.int M build.linux32x86/pharo.sista.spur/plugins.int M build.linux32x86/pharo.stack.spur.lowcode/plugins.int M build.linux32x86/squeak.cog.spur.immutability/plugins.int M build.linux32x86/squeak.cog.spur/plugins.int M build.linux32x86/squeak.sista.spur/plugins.int M build.linux32x86/squeak.stack.spur/plugins.int M build.linux64ARMv8/pharo.cog.spur/plugins.int M build.linux64ARMv8/pharo.stack.spur/plugins.int M build.linux64ARMv8/squeak.cog.spur/plugins.int M build.linux64ARMv8/squeak.stack.spur/plugins.int M build.linux64x64/newspeak.cog.spur/plugins.int M build.linux64x64/newspeak.sista.spur/plugins.int M build.linux64x64/newspeak.stack.spur/plugins.int M build.linux64x64/nsnac.cog.spur/plugins.int M build.linux64x64/pharo.cog.spur/plugins.int M build.linux64x64/squeak.cog.spur.immutability/plugins.int M build.linux64x64/squeak.cog.spur/plugins.int M build.linux64x64/squeak.stack.spur/plugins.int M build.macos32x86/newspeak.cog.spur/plugins.int M build.macos32x86/newspeak.stack.spur/plugins.int M build.macos32x86/pharo.cog.spur.lowcode/plugins.int M build.macos32x86/pharo.cog.spur.minheadless/plugins.int M build.macos32x86/pharo.cog.spur/plugins.int M build.macos32x86/pharo.sista.spur/plugins.int M build.macos32x86/pharo.stack.spur.lowcode/plugins.int M build.macos32x86/pharo.stack.spur/plugins.int M build.macos32x86/squeak.cog.spur+immutability/plugins.int M build.macos32x86/squeak.cog.spur/plugins.int M build.macos32x86/squeak.sista.spur/plugins.int M build.macos32x86/squeak.stack.spur/plugins.int M build.macos64x64/newspeak.cog.spur/plugins.int M build.macos64x64/newspeak.stack.spur/plugins.int M build.macos64x64/pharo.cog.spur.lowcode/plugins.int M build.macos64x64/pharo.cog.spur/plugins.int M build.macos64x64/pharo.sista.spur/plugins.int M build.macos64x64/pharo.stack.spur.lowcode/plugins.int M build.macos64x64/pharo.stack.spur/plugins.int M build.macos64x64/squeak.cog.spur.immutability/plugins.int M build.macos64x64/squeak.cog.spur/Makefile M build.macos64x64/squeak.cog.spur/plugins.int M build.macos64x64/squeak.sista.spur/plugins.int M build.macos64x64/squeak.stack.spur/plugins.int M build.sunos32x86/squeak.cog.spur/plugins.int M build.sunos32x86/squeak.stack.spur/plugins.int M build.sunos64x64/squeak.cog.spur/plugins.int M build.sunos64x64/squeak.stack.spur/plugins.int M build.win32x86/newspeak.cog.spur/plugins.int M build.win32x86/newspeak.stack.spur/plugins.int M build.win32x86/pharo.cog.spur.lowcode/plugins.int M build.win32x86/pharo.cog.spur/plugins.int M build.win32x86/pharo.sista.spur/plugins.int M build.win32x86/pharo.stack.spur/plugins.int M build.win32x86/squeak.cog.spur.lowcode/plugins.int M build.win32x86/squeak.cog.spur/plugins.int M build.win32x86/squeak.sista.spur/plugins.int M build.win32x86/squeak.stack.spur/plugins.int M build.win64x64/newspeak.cog.spur/plugins.int M build.win64x64/newspeak.stack.spur/plugins.int M build.win64x64/pharo.cog.spur/plugins.int M build.win64x64/pharo.stack.spur/plugins.int M build.win64x64/squeak.cog.spur/plugins.int M build.win64x64/squeak.stack.spur/plugins.int M src/plugins/Float64ArrayPlugin/Float64ArrayPlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: 418b236367cc8ae9bdc111c63ff93900c6589a7f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/418b236367cc8ae9bdc111c63ff93900c6589a7f Author: Marcel Taeumel Date: 2020-05-12 (Tue, 12 May 2020) Changed paths: M platforms/win32/vm/sqConfig.h M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Time.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Removes support for Windows CE The existing support was maybe up to Windows Mobile 5. For a discussion see http://forum.world.st/Supporting-Windows-CE-tp5116478.html Commit: 91fe58cd39689190d87714681f0ee614b3207d34 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/91fe58cd39689190d87714681f0ee614b3207d34 Author: Marcel Taeumel Date: 2020-05-12 (Tue, 12 May 2020) Changed paths: M platforms/win32/plugins/DropPlugin/sqWin32Drop.c M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Removes support for NSPlugin and browser mode on win32 The command line arguments "browserWindow" and "browserWindow:" are no longer recognized. For a discussion, see http://forum.world.st/Supporting-fBrowserMode-on-Windows-td5116489.html Commit: c1cdd0d88a1b937e2ca8dafd5e745da2407aacda https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c1cdd0d88a1b937e2ca8dafd5e745da2407aacda Author: Nicolas Cellier Date: 2020-05-12 (Tue, 12 May 2020) Changed paths: M platforms/win32/vm/sqConfig.h M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Time.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #500 from marceltaeumel/marceltaeumel/patch-2 Removes support for Windows CE Commit: 3b594e1ef865de1b7b9639c9a3992f4f822eb50d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3b594e1ef865de1b7b9639c9a3992f4f822eb50d Author: Marcel Taeumel Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M platforms/win32/vm/sqWin32Prefs.c Log Message: ----------- Removes use of WCE_PREFERENCES, which was part of the Windows CE support. Commit: 39670caf940acef095606ad3adfafdd5c74f60f2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/39670caf940acef095606ad3adfafdd5c74f60f2 Author: Marcel Taeumel Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M platforms/win32/vm/sqConfig.h M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Time.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge branch 'Cog' into marceltaeumel/patch-3 Commit: aa7e03a916a7a52056cc4d6989fd5cac63c36d7e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/aa7e03a916a7a52056cc4d6989fd5cac63c36d7e Author: Nicolas Cellier Date: 2020-05-13 (Wed, 13 May 2020) Changed paths: M platforms/win32/vm/sqWin32Prefs.c Log Message: ----------- Merge pull request #502 from marceltaeumel/marceltaeumel/patch-2 Removes use of WCE_PREFERENCES Commit: 027e3593d2c1082b7e50bb3e28481586c5732cac https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/027e3593d2c1082b7e50bb3e28481586c5732cac Author: Eliot Miranda Date: 2020-05-16 (Sat, 16 May 2020) Changed paths: M platforms/win32/plugins/CameraPlugin/winCameraOps.cpp M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c M platforms/win32/plugins/FT2Plugin/ft2build.h M platforms/win32/plugins/FilePlugin/sqWin32File.h M platforms/win32/plugins/FloatMathPlugin/Makefile M platforms/win32/plugins/FloatMathPlugin/Makefile.plugin M platforms/win32/plugins/FloatMathPlugin/Makefile.win32 M platforms/win32/plugins/FontPlugin/sqWin32FontPlugin.c M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c M platforms/win32/vm/config.h M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32DnsInfo.c M platforms/win32/vm/sqWin32HandleTable.h M platforms/win32/vm/version.c Log Message: ----------- Morph a few win32 files from CRLF/dos to LF/unix lineendings. [ci skip] Commit: 60973ef04730d9a34429c828cfc21cc3d29f4026 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/60973ef04730d9a34429c828cfc21cc3d29f4026 Author: Eliot Miranda Date: 2020-05-16 (Sat, 16 May 2020) Changed paths: M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c Log Message: ----------- Upgrade win32 HostWindowPlugin support to TerfVM specs, in line with the iOS plaform. Commit: 7b1454682e579b0bb76e804ccaadc116e3b3d30d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7b1454682e579b0bb76e804ccaadc116e3b3d30d Author: Marcel Taeumel Date: 2020-05-17 (Sun, 17 May 2020) Changed paths: M platforms/win32/misc/Makefile.mingw32 M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Removes USE_DIB_SECTIONS as part of Windows CE removal See https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-dibsection Commit: 59012bc247014da99a15a6c4de09da28413def97 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/59012bc247014da99a15a6c4de09da28413def97 Author: Marcel Taeumel Date: 2020-05-17 (Sun, 17 May 2020) Changed paths: M platforms/win32/vm/sqWin32.h Log Message: ----------- Removes comment about "NT vs CE" bc. not meaningful anymore. Commit: 9f789851c9b9cc8eaf9b51797b04bf3b249becf8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9f789851c9b9cc8eaf9b51797b04bf3b249becf8 Author: Eliot Miranda Date: 2020-05-31 (Sun, 31 May 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/Float64ArrayPlugin/Float64ArrayPlugin.c M src/plugins/FloatArrayPlugin/FloatArrayPlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2759 Spur: Make sure prim fail codes in primitiveConstantFillSpur are correct. ThreadedFFIPlugin: Add ThreadedFFIPlugin>>primitiveStructureElementAlignment. FloatArrayPlugins: Generate them with an official version stamp. Commit: e4f17ad309450ccebccbab4f98cb0ef5cebdce0d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e4f17ad309450ccebccbab4f98cb0ef5cebdce0d Author: Eliot Miranda Date: 2020-05-31 (Sun, 31 May 2020) Changed paths: M platforms/win32/plugins/CameraPlugin/winCameraOps.cpp M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c M platforms/win32/plugins/FT2Plugin/ft2build.h M platforms/win32/plugins/FilePlugin/sqWin32File.h M platforms/win32/plugins/FloatMathPlugin/Makefile M platforms/win32/plugins/FloatMathPlugin/Makefile.plugin M platforms/win32/plugins/FloatMathPlugin/Makefile.win32 M platforms/win32/plugins/FontPlugin/sqWin32FontPlugin.c M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c M platforms/win32/vm/config.h M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32DnsInfo.c M platforms/win32/vm/sqWin32HandleTable.h M platforms/win32/vm/version.c Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: 82c7c51183b73fa91c8ee7cd73ded32aaa03b8c4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/82c7c51183b73fa91c8ee7cd73ded32aaa03b8c4 Author: Christoph Thiede Date: 2020-06-07 (Sun, 07 Jun 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Fix a typo Commit: 7a6fcd00dea63bdbc2e602245f54d6e50b132734 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7a6fcd00dea63bdbc2e602245f54d6e50b132734 Author: Eliot Miranda Date: 2020-06-11 (Thu, 11 Jun 2020) Changed paths: M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.flags Log Message: ----------- MSVC x64 makefiles. Remove a trailing backslash from the SDK dir. Provide for a variable to pass flags down to sub makes for testing. Commit: 97aa3c72a3bf29ef3cd67d23646152c80b5c98fd https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/97aa3c72a3bf29ef3cd67d23646152c80b5c98fd Author: Christoph Thiede Date: 2020-06-12 (Fri, 12 Jun 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Comment out suspicious line Commit: 0b2d16ee5c4efe12b3014afa753d19c9bd64ccfc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0b2d16ee5c4efe12b3014afa753d19c9bd64ccfc Author: Christoph Thiede Date: 2020-06-12 (Fri, 12 Jun 2020) Changed paths: M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.flags Log Message: ----------- Merge branch 'Cog' into sqUnixXdnd Commit: cb852fe26b0fa1e363bf2e62961da6644ea9833b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cb852fe26b0fa1e363bf2e62961da6644ea9833b Author: Christoph Thiede Date: 2020-06-12 (Fri, 12 Jun 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Refactor changes Commit: e2be1e85adaa5da536f665cf4a05655c0a0658da https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e2be1e85adaa5da536f665cf4a05655c0a0658da Author: Christoph Thiede Date: 2020-06-12 (Fri, 12 Jun 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Don't skip SQDragLeave if XGetSelectionOwner failed Commit: d716e763adc22471f312fecef0c31fc226088744 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d716e763adc22471f312fecef0c31fc226088744 Author: Nicolas Cellier Date: 2020-06-13 (Sat, 13 Jun 2020) Changed paths: M platforms/win32/misc/Makefile.mingw32 M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #503 from marceltaeumel/marceltaeumel/patch-2 Removes USE_DIB_SECTIONS as part of Windows CE removal Commit: 07161bcb145bc4c6b08c617df2c708e3a94597b6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/07161bcb145bc4c6b08c617df2c708e3a94597b6 Author: Nicolas Cellier Date: 2020-06-13 (Sat, 13 Jun 2020) Changed paths: M platforms/win32/plugins/DropPlugin/sqWin32Drop.c M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Merge pull request #501 from marceltaeumel/marceltaeumel/patch-3 Removes support for NSPlugin and browser mode on win32 Commit: cedc9cdd5769846b3d57cbad475ac6bed8d3fb7e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cedc9cdd5769846b3d57cbad475ac6bed8d3fb7e Author: Eliot Miranda Date: 2020-06-13 (Sat, 13 Jun 2020) Changed paths: M platforms/Cross/vm/sqCogStackAlignment.h M platforms/Cross/vm/sqNamedPrims.c Log Message: ----------- CLeanups to sqNamedPrims.c and sqCogStackAlignment.h Commit: eb087cf5610c6ce61de956278d7711ca2f1a205a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/eb087cf5610c6ce61de956278d7711ca2f1a205a Author: Eliot Miranda Date: 2020-06-15 (Mon, 15 Jun 2020) Changed paths: M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2760 ThreadedFFIPlugin: Include the version info in the module name. Commit: 032cecd91c6cf4fdb6549b7e3693648211e513ab https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/032cecd91c6cf4fdb6549b7e3693648211e513ab Author: Eliot Miranda Date: 2020-06-15 (Mon, 15 Jun 2020) Changed paths: M build.macos32x86/common/Makefile.vm R build.macos32x86/common/mkNamedPrims.sh M build.macos64x64/common/Makefile.vm R build.macos64x64/common/mkNamedPrims.sh A platforms/Cross/util/mkIntPluginIndices.sh A platforms/Cross/util/mkNamedPrims.sh Log Message: ----------- Move the mkNamedPrims.sh script to platforms/Cross/util. Add platforms/Cross/util/mkIntPluginIndices.sh, a script to generate defines for builtin plugins such that each builtin plugin name is defined as its position in the sequence of plugins. This is useful for e.g. a common logging facility that needs to output to a different log file for each plugin. Commit: 69a6ef7234ccd60f82135235def7606d56f3ebb1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/69a6ef7234ccd60f82135235def7606d56f3ebb1 Author: Nicolas Cellier Date: 2020-06-17 (Wed, 17 Jun 2020) Changed paths: M .travis.yml Log Message: ----------- Allow build failure of pharo.cog.spur flavor Hi all, for some time and some unknown reason, pharo builds started to fail while building libssh2-1.7.0 on unix OSes There is considerable time and resources wasted building always the same libraries, and fragile cache strategies deployed to workaround the problem. To my knowledge, these failures are completely un-related to VMMaker changes, and probably not to platforms changes either. It might be related to cache handling (rather the success might be due to the cache preserving previous success...). The pharo fork changed their strategy and now download pre-build binaries rather than rebuilding them, which is a very wise decision. So, pharo folks, if you are interested in pharo builds from the root opensmalltalk-vm, please help debug current build and backport those vital changes. If no one speaks up, we consider those builds as non essential. Thanks for eventual support. Commit: eb9686cf731d613d6c8379e5a23dac6e6e4af1f1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/eb9686cf731d613d6c8379e5a23dac6e6e4af1f1 Author: Nicolas Cellier Date: 2020-06-17 (Wed, 17 Jun 2020) Changed paths: M .travis.yml Log Message: ----------- Retry allow failures of individual pharo rows Commit: 32457868b9017b018e1c8a155af34497be34de1f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/32457868b9017b018e1c8a155af34497be34de1f Author: Nicolas Cellier Date: 2020-06-17 (Wed, 17 Jun 2020) Changed paths: M third-party/libssh2.spec Log Message: ----------- Use libssh2 1.9.0 which has been fixed to compile with OpenSSL 1.1 See the release notes https://github.com/libssh2/libssh2/blob/master/RELEASE-NOTES Compilation should have failed since we upgraded OpenSSL. It seems that they succeeded only because they did not happen. That's because the result of previous compilation is cached. The failure is differed until the cache is cleaned, which happens on regular time basis. How fragile... Commit: 72cf325e0ccd3bc6da3c73d12fc1fcfe08a4110d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/72cf325e0ccd3bc6da3c73d12fc1fcfe08a4110d Author: Eliot Miranda Date: 2020-06-24 (Wed, 24 Jun 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m M scripts/revertIfEssentiallyUnchanged M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogV source as per VMMaker.oscog-eem.2761 Author: eem Time: 24 June 2020, 11:15:52.846414 am UUID: 34b29eae-6069-4cb7-8a89-7365fb398dfb Ancestors: VMMaker.oscog-eem.2760 Cherry Picking from various recent commits, but avoiding the extremely desirable, but as yet unfinished, VMMaker.oscog-nice.2761 transformInAssignmentTo: changes.the "thisContext method includes: 42" crash. MiscPrimitivePlugin: fix several uses of sizeOfSTArrayFromCPrimitive: that don''t check for potential failure if e.g. invoked on a CompiledMethod. Returning from a primitive normally when the primtiive has failed leads to disaster since the stack gets cu back but shouldn't be. For CompiledMethod isBytes: is true but isWordsOrBytes: is false. sizeOfSTArrayFromCPrimitive: checks for isWordsOrBytes:. The primtiives check that the argument is isBytes: but don't check if sizeOfSTArrayFromCPrimitive: fails. More general fixes, such as fixing isBytes: to be false for CompiledMethod, or introducing isPureBytes: and using it, are not quick fixes. hence this limited fix here. Primitive infrastructure: consequently guard the various methodReturnXXX''s with an assert to check that a primitive has not failed. Also make sure that the SpurNBitCoMemoryManagers do not follow any reference to a Cog method in the first field of a CompiledMethod. Cosmetic changes for ThreadedFFIPlugins from VMMaker.oscog-nice.2762 Do not try to generate SHA256Plugin, it's obsolete and absent from latest cryptography packages. This from VMMaker.oscog-nice.2761. Slang: Fix TParseNode>>isSameAs: implementations to incluyde an identity check. TReturnNode always answered false to this in the past. Optimize inlineFunctionCall:in: to avoid a rewrite of the copied parse tree being inlined if the actuals match the formals. Uses the improved bindVariablesIn:. Use a setter for variable & expression in TAssignmentNode to ease breakpointing/debugging. Scripts: Fix revertIfEssentiallyUnchanged to handle the threaded FFI plugins now they include version info in the moduleName routine. Commit: 93b9f887c47d0e27104741ff4203f48a648a8f6e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/93b9f887c47d0e27104741ff4203f48a648a8f6e Author: Eliot Miranda Date: 2020-06-24 (Wed, 24 Jun 2020) Changed paths: M .travis.yml M third-party/libssh2.spec Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: 1e815b33ac593758c1834e08fa16aa2ea1e7935e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1e815b33ac593758c1834e08fa16aa2ea1e7935e Author: Eliot Miranda Date: 2020-06-25 (Thu, 25 Jun 2020) Changed paths: M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/MD5Plugin/MD5Plugin.c A src/plugins/SHA2Plugin/SHA2Plugin.c Log Message: ----------- Crypography plugins as per CryptographyPlugins-ul.22 Commit: fdc836edab9bf9fe2a482fe85422e859fc370e51 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fdc836edab9bf9fe2a482fe85422e859fc370e51 Author: Eliot Miranda Date: 2020-06-26 (Fri, 26 Jun 2020) Changed paths: M build.macos32x86/common/Makefile.vm M build.macos64x64/common/Makefile.vm Log Message: ----------- Macos makfiles: move fdlibm.a to the end of the list of static libraries, after the internal plugin libs. Add fdlibm.a and BIT_IDENTICAL_FLOATING_POINT to the 32-bit Makefiles as an option. [ci skip] Commit: aafdc2837074b859c3d392a3f86b3645b12e91d7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/aafdc2837074b859c3d392a3f86b3645b12e91d7 Author: Christoph Thiede Date: 2020-06-28 (Sun, 28 Jun 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Only record SQDragLeave xor SQDragDrop Commit: 4def9a65347638fe002deb5cfb92d00fa532145c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4def9a65347638fe002deb5cfb92d00fa532145c Author: Christoph Thiede Date: 2020-06-28 (Sun, 28 Jun 2020) Changed paths: M .travis.yml M build.macos32x86/common/Makefile.vm R build.macos32x86/common/mkNamedPrims.sh M build.macos64x64/common/Makefile.vm R build.macos64x64/common/mkNamedPrims.sh M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c A platforms/Cross/util/mkIntPluginIndices.sh A platforms/Cross/util/mkNamedPrims.sh M platforms/Cross/vm/sqCogStackAlignment.h M platforms/Cross/vm/sqNamedPrims.c M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m M platforms/win32/misc/Makefile.mingw32 M platforms/win32/plugins/DropPlugin/sqWin32Drop.c M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Window.c M scripts/revertIfEssentiallyUnchanged M spur64src/vm/cogit.h M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/DSAPrims/DSAPrims.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c A src/plugins/SHA2Plugin/SHA2Plugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M third-party/libssh2.spec Log Message: ----------- Merge remote-tracking branch 'origin/Cog' into sqUnixXdnd Commit: 966fd3684be723af872bc36cac7dcf0130b7717c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/966fd3684be723af872bc36cac7dcf0130b7717c Author: Eliot Miranda Date: 2020-06-30 (Tue, 30 Jun 2020) Changed paths: M build.macos32x86/common/Makefile.flags M build.macos64x64/common/Makefile.flags Log Message: ----------- Allow the Mac Makefiles to specify a given SDK and TARGET_MIN_VER. Make sure the 64-bit and 32-bit versions both have EXTRABFLAGS/EXTRADYFLAGS [ci skip] Commit: 11cce8e34a23fed387ed0587c59f18a735cb80a8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/11cce8e34a23fed387ed0587c59f18a735cb80a8 Author: Eliot Miranda Date: 2020-06-30 (Tue, 30 Jun 2020) Changed paths: M platforms/Cross/third-party/fdlibm/fdlibm.h Log Message: ----------- Eliminate redefinition of MAXFLOAT warning on Macos. [ci skip] Commit: 8f9be8b3cb2ea842556e0845abec05523be1559f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8f9be8b3cb2ea842556e0845abec05523be1559f Author: Eliot Miranda Date: 2020-06-30 (Tue, 30 Jun 2020) Changed paths: M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.rules M build.macos32x86/common/Makefile.vm M build.macos64x64/common/Makefile.plugin M build.macos64x64/common/Makefile.rules M build.macos64x64/common/Makefile.vm M platforms/iOS/plugins/BochsIA32Plugin/Makefile M platforms/iOS/plugins/BochsX64Plugin/Makefile Log Message: ----------- MacOS: Support internal plugins that use C++. These need to be linked with clang++ not clang. Use LINK_WITH_CXX not LINK_WITH_CPP as enabling var name. Comment the new parameters to Makefile.vm there-in (SDK,TARGET_MINVER, et al). [ci skip] Commit: 4d655995bef9e63a3c3ed05411efecec37ca7ab3 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4d655995bef9e63a3c3ed05411efecec37ca7ab3 Author: Eliot Miranda Date: 2020-07-02 (Thu, 02 Jul 2020) Changed paths: R build.linux64ARMv8/pharo.cog.spur/apt-get-libs.sh R build.linux64ARMv8/pharo.cog.spur/build/mvm R build.linux64ARMv8/pharo.cog.spur/plugins.ext R build.linux64ARMv8/pharo.cog.spur/plugins.ext.all R build.linux64ARMv8/pharo.cog.spur/plugins.int M nsspur64src/vm/cogit.h A nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M spur64src/vm/cogit.h A spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h A spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spursista64src/vm/cogit.h A spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2769/ClosedVMMaker-eem.90 64-bit ARMv8 cogit for everyone but Pharo. It turns out that Ken Dickey has been using the ARMv8 JIT without any issues in the JIT for months now, so it is about time we released it ;-) Commit: 5d03fae3e9f0383cb6602a5d54c6deba641670d6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5d03fae3e9f0383cb6602a5d54c6deba641670d6 Author: Eliot Miranda Date: 2020-07-04 (Sat, 04 Jul 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2771/ClosedVMMaker-eem.91 ARMv8 Cogit: implement signed integer multiply overflow detection. Commit: b09b99f489e7e97f1ba707124865e43aaa93fe6b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b09b99f489e7e97f1ba707124865e43aaa93fe6b Author: Eliot Miranda Date: 2020-07-06 (Mon, 06 Jul 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2772 VM Parameters primitive(s). Fix the issue with the allocation failure test on 32-bit systems. It really is a VM bug that parameter #67 (maxOldSpaceSize) must be a SmallInteger. It should be a positive machine integer. Commit: 839a5cab095a76160d4b66c2fcd6e13d898ea0c9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/839a5cab095a76160d4b66c2fcd6e13d898ea0c9 Author: Eliot Miranda Date: 2020-07-06 (Mon, 06 Jul 2020) Changed paths: M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos32x86/common/Makefile.lib.extra M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.lib.extra M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m Log Message: ----------- MacOS: Revise the install_name_tool machinations in the light of experience with the Terf plugins and examination of e.g. Xcode,app. When including dylibs from elsewhere in Contents/Frameworks they should have an id of @rpath/foo.M.dylib and access any dylibs they load from Contents/Frameworks should also be named @rpath/bar.N.dylib, etc. Likewise the executable should include an rpath for Contents/Resources (we'd like it to be Contents/PlugIns but this seems to break something), and Contents/Frameworks. It turns out that Xcode.app uses both @executable_path/../Frameworks & @executable_path/../PlugIns. We're close but not quite there yet. Add similar debug printing to tryLoadingLinked as is in tryLoadingInternals. Commit: 371a2707769c8403610c25f59817d2175d458b9f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/371a2707769c8403610c25f59817d2175d458b9f Author: stes Date: 2020-07-09 (Thu, 09 Jul 2020) Changed paths: M build.sunos64x64/HowToBuild M platforms/unix/plugins/SqueakSSL/openssl_overlay.h Log Message: ----------- Change #define sk_GENERAL_NAME_freefunc for SunPRO C compiler Commit: 41115d41e24c7c6d9b1ab059fe312dbdbfb3848c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/41115d41e24c7c6d9b1ab059fe312dbdbfb3848c Author: Eliot Miranda Date: 2020-07-09 (Thu, 09 Jul 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2773/ClosedVMMaker-eem.93 Cogit: Fix the use of the undefined ceFlushDCache function when DUAL_WRITE_CODE_ZONE is not defined and flushDCacheFrom:to: is not a no-op. Make sure any generated check features, and the generated run-time are cache flushed before use. Move maybeGenerateCheckLZCNT later initializeCodeZoneFrom:upTo:; its result is not used until compiling primitives. Commit: 1fde7270c5c3c4bbf7e9d33b8594f9e3ac3f8c92 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1fde7270c5c3c4bbf7e9d33b8594f9e3ac3f8c92 Author: Christoph Thiede Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Add explaining comments Commit: 33df20b6b4e18c5b827bd3da48be3ba0e1a1dcef https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/33df20b6b4e18c5b827bd3da48be3ba0e1a1dcef Author: Christoph Thiede Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Refactor drop event generation In particular, if the dropped content cannot be accepted, record a DragDrop event with numFiles == 0 rather than a DragLeave event. This aligns the behavior to the handling of unsupported drag contents such as texts. Commit: 3100c64c6b770079bdd13888ed8740eff38a8fe7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3100c64c6b770079bdd13888ed8740eff38a8fe7 Author: Christoph Thiede Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Improve comments Commit: 2ff21e28c04f97b3250e8001a6befc33e21ca2b7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2ff21e28c04f97b3250e8001a6befc33e21ca2b7 Author: Christoph Thiede Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Nuke obsolete variable Commit: b992e979b0ddc8f0887e965f411d0a6ca5108282 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b992e979b0ddc8f0887e965f411d0a6ca5108282 Author: Christoph Thiede Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Revert rejected change Commit: 403836b5d07d6036e2855d133d148df9e4602892 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/403836b5d07d6036e2855d133d148df9e4602892 Author: Christoph Thiede Date: 2020-07-10 (Fri, 10 Jul 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Fix a stupid slip Commit: ba263dfef8d925c311e86f166d01811b1c0032c2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ba263dfef8d925c311e86f166d01811b1c0032c2 Author: Eliot Miranda Date: 2020-07-11 (Sat, 11 Jul 2020) Changed paths: M build.macos32x86/makeproduct M nsspur64src/vm/cogitARMv8.c M spur64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitARMv8.c M spursista64src/vm/cogitARMv8.c Log Message: ----------- CogVM source as per ClosedVMMaker-eem.95 ARMv8 Cogit: Add a missing type declaration to noteFollowingConditionalBranch: Better order the two multiplies in MulOverflowRRR. Commit: a2e6daae424789fc2904ed584ef0049391a6b46d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a2e6daae424789fc2904ed584ef0049391a6b46d Author: Eliot Miranda Date: 2020-07-11 (Sat, 11 Jul 2020) Changed paths: M build.linux64ARMv8/squeak.cog.spur/build.assert/mvm M build.linux64ARMv8/squeak.cog.spur/build.debug/mvm M build.linux64ARMv8/squeak.cog.spur/build/mvm Log Message: ----------- Fix install path for linux64ARMv8 squeak cogit builds. [ci skip] Commit: 53b979ff231d91e548e85934530362035d5fa8ef https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/53b979ff231d91e548e85934530362035d5fa8ef Author: Eliot Miranda Date: 2020-07-11 (Sat, 11 Jul 2020) Changed paths: M build.linux64ARMv8/pharo.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm Log Message: ----------- A couple more INSTALL path fixes for linux64ARMv8. [ci skip] Commit: 4540d7e3e5233a0921445783089f5b0f76519b49 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4540d7e3e5233a0921445783089f5b0f76519b49 Author: Levente Uzonyi Date: 2020-07-14 (Tue, 14 Jul 2020) Changed paths: M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux64ARMv8/squeak.cog.spur/plugins.ext M build.linux64ARMv8/squeak.stack.spur/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.cog.spur+immutability/plugins.ext M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos32x86/squeak.cog.v3/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.ext M build.macos32x86/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.stack.v3/plugins.ext M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.ext M build.sunos32x86/squeak.cog.spur/plugins.ext M build.sunos32x86/squeak.stack.spur/plugins.ext M build.sunos64x64/squeak.cog.spur/plugins.ext M build.sunos64x64/squeak.stack.spur/plugins.ext M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.v3/plugins.ext M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.ext Log Message: ----------- Add missing Cryptography plugins to squeak builds DESPlugin, MD5Plugin and SHA2Plugin as external plugins Commit: b543daf0722049a61fbffd3780d02443fff14e12 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b543daf0722049a61fbffd3780d02443fff14e12 Author: Levente Uzonyi Date: 2020-07-15 (Wed, 15 Jul 2020) Changed paths: M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.ext M build.win32x86/squeak.cog.spur.lowcode/plugins.ext Log Message: ----------- Add missing Cryptography plugins to squeak builds part 2 Make sure that all commented out plugins in modified plugins.ext files go to the end. Commit: ae724ff77d9af402c15916b529ee10e3a3db7fcf https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ae724ff77d9af402c15916b529ee10e3a3db7fcf Author: Eliot Miranda Date: 2020-07-16 (Thu, 16 Jul 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2775 Fix a warning from compiling the cogit. ThreadedFFIPlugin: Add primitiveCDataModel which with 0 args answers the C data model name (LLP64, ILP32 et al), and with a ByteArray arg of 9 elements, answers the sizes of char, short, etc, & wchar_t. Slang: Allow TMethod>>typeFor:in: to infer tpes for non-integral constants (integral constants need very special handling, done in the client). Eliminate unnecessary parentheses in ifNil:. Commit: b90d60fc7119d945591ae3e8d66d2ab0108fefc6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b90d60fc7119d945591ae3e8d66d2ab0108fefc6 Author: Eliot Miranda Date: 2020-07-16 (Thu, 16 Jul 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c Log Message: ----------- CogVM source as per Name: VMMaker.oscog-eem.2776 Oops! Fix a regression from VMMaker.oscog-eem.2774. Slang isn't smart enough to emit types for C's funky example typing for functions that return pointers to functions, so we have to manually type genInvokeInterpretTrampoline. Commit: 02a274782dfa1747a846950423ec2bb555c282e9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/02a274782dfa1747a846950423ec2bb555c282e9 Author: Eliot Miranda Date: 2020-07-17 (Fri, 17 Jul 2020) Changed paths: M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m Log Message: ----------- Mac CameraPlugin: Add safety, only copying the minimum of the size of the c framebuffer and the size of the input buffer. Use "grabber" instead of "this" as the variable name for each camera struct, since lldb refuses to allow this to be used, assuming it is being used outside an object context. Commit: 8b209154f6a9fc9e138713da2963797df4ccdbba https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8b209154f6a9fc9e138713da2963797df4ccdbba Author: Eliot Miranda Date: 2020-07-18 (Sat, 18 Jul 2020) Changed paths: A build.linux64ARMv8/makeall A build.linux64ARMv8/makeallclean A build.linux64ARMv8/makeallmakefiles A build.linux64ARMv8/makeallsqueak M build.linux64x64/makeallsqueak Log Message: ----------- Make the linux makeallsqueak scripts do what they claim. Add make scripts for linux64ARMv8. [ci skip] Commit: a3b64322cacbc395fe23f3d8221da90f488f50bc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a3b64322cacbc395fe23f3d8221da90f488f50bc Author: Tobias Pape Date: 2020-07-19 (Sun, 19 Jul 2020) Changed paths: M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux64ARMv8/squeak.cog.spur/plugins.ext M build.linux64ARMv8/squeak.stack.spur/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.cog.spur+immutability/plugins.ext M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos32x86/squeak.cog.v3/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.ext M build.macos32x86/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.stack.v3/plugins.ext M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.ext M build.sunos32x86/squeak.cog.spur/plugins.ext M build.sunos32x86/squeak.stack.spur/plugins.ext M build.sunos64x64/squeak.cog.spur/plugins.ext M build.sunos64x64/squeak.stack.spur/plugins.ext M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.v3/plugins.ext M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.ext Log Message: ----------- Merge pull request #513 from smalltalking/Cog Add missing Cryptography plugins to squeak builds Commit: 666623a5179c0e62b61ea3daf370a9ccf20c0610 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/666623a5179c0e62b61ea3daf370a9ccf20c0610 Author: Eliot Miranda Date: 2020-07-20 (Mon, 20 Jul 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2778 Slang: Infer the correct types for the float/double accessors. Hence correct primitiveSpurFloatArrayAt for Float32Array. Plugins affected by VMMaker.oscog-eem.2775 Eliminate unnecessary parentheses in ifNil:. Commit: 0e1d7ac4c6e41be97b9e8d163c25552b7592d58f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0e1d7ac4c6e41be97b9e8d163c25552b7592d58f Author: Eliot Miranda Date: 2020-07-21 (Tue, 21 Jul 2020) Changed paths: M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m Log Message: ----------- Mac CameraPlugin: Fix a slip in setting the exposure mode. Fix getting the camera extent so that doing so doesn't turn the camera on. Implement accessing parameters a la the Windows CameraPlugin. Commit: 582b86e5211ac8da06c7af9aa5e434a86ee37022 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/582b86e5211ac8da06c7af9aa5e434a86ee37022 Author: Eliot Miranda Date: 2020-07-23 (Thu, 23 Jul 2020) Changed paths: M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m Log Message: ----------- Cleanups/simplifications to the MacOS CameraPlugin. Expecially set the native format correctly. Commit: b046a0a01416fdc97254626d47ccd2ac02906a67 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b046a0a01416fdc97254626d47ccd2ac02906a67 Author: Eliot Miranda Date: 2020-07-23 (Thu, 23 Jul 2020) Changed paths: M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m Log Message: ----------- And of course the Mac CameraPlgin doesn't need to use numberWithDouble: for camera dimensions. Commit: bbbe44d700a83cc3ea336212bd3a8b969a1e2891 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bbbe44d700a83cc3ea336212bd3a8b969a1e2891 Author: Eliot Miranda Date: 2020-07-24 (Fri, 24 Jul 2020) Changed paths: M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m Log Message: ----------- Mac Webcam doc & typo fix. [ci skip] Commit: c53070d0c2e2bb09fe156cb6809b8138e816e22f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c53070d0c2e2bb09fe156cb6809b8138e816e22f Author: Eliot Miranda Date: 2020-07-25 (Sat, 25 Jul 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2780/ClosedVMMaker-eem.96 ARMv8 Cogit: Update initial cache flushing to accomodate Apple silicon. Slang: Implement and support cppIf:ifTrue:cppIf:ifTrue:ifFalse: for ARMv8 cache flushing. Due to the changes to generateInlineCppIfElse:asArgument:on:indent: clean-up generating indents and terminating semicolons. Clean up generating switches, avoiding emitting a bogus newline before hand, and a newline before break jumps. Commit: 097109aa0bf5bf7d19fd4d104e62f9ad7feff769 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/097109aa0bf5bf7d19fd4d104e62f9ad7feff769 Author: Eliot Miranda Date: 2020-07-28 (Tue, 28 Jul 2020) Changed paths: M .gitignore M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqTicker.c M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c A src/ckformat.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2784 StackInterpreter: introspection for the Qwaq Croquet high-priority ticker/tickee mechanism. Simplify checkHighPriorityTickees, eliminating the per-tickee inProgress flag in favour of a single flag preventing reentrancy into checkHighPriorityTickees. Add ckformat.c from ImageFormat. Add the .vs visual studio directory to .gitignore. Commit: dc650af040fdd90f30e9c08d958674522ca89c6a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dc650af040fdd90f30e9c08d958674522ca89c6a Author: Eliot Miranda Date: 2020-07-30 (Thu, 30 Jul 2020) Changed paths: A build.macos64ARMv8/HowToBuild A build.macos64ARMv8/bochsx64/conf.COG A build.macos64ARMv8/bochsx64/conf.COG.dbg A build.macos64ARMv8/bochsx64/exploration/Makefile A build.macos64ARMv8/bochsx64/makeclean A build.macos64ARMv8/bochsx64/makeem A build.macos64ARMv8/bochsx86/conf.COG A build.macos64ARMv8/bochsx86/conf.COG.dbg A build.macos64ARMv8/bochsx86/exploration/Makefile A build.macos64ARMv8/bochsx86/makeclean A build.macos64ARMv8/bochsx86/makeem A build.macos64ARMv8/common/Makefile.app A build.macos64ARMv8/common/Makefile.app.newspeak A build.macos64ARMv8/common/Makefile.app.squeak A build.macos64ARMv8/common/Makefile.flags A build.macos64ARMv8/common/Makefile.lib.extra A build.macos64ARMv8/common/Makefile.plugin A build.macos64ARMv8/common/Makefile.rules A build.macos64ARMv8/common/Makefile.sources A build.macos64ARMv8/common/Makefile.vm A build.macos64ARMv8/gdbarm32/clean A build.macos64ARMv8/gdbarm32/conf.COG A build.macos64ARMv8/gdbarm32/makeem A build.macos64ARMv8/gdbarm64/clean A build.macos64ARMv8/gdbarm64/conf.COG A build.macos64ARMv8/gdbarm64/makeem A build.macos64ARMv8/makeall A build.macos64ARMv8/makeallinstall A build.macos64ARMv8/makeproduct A build.macos64ARMv8/makeproductinstall A build.macos64ARMv8/makesista A build.macos64ARMv8/makespur A build.macos64ARMv8/pharo.stack.spur.lowcode/Makefile A build.macos64ARMv8/pharo.stack.spur.lowcode/mvm A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.ext A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.int A build.macos64ARMv8/pharo.stack.spur/Makefile A build.macos64ARMv8/pharo.stack.spur/mvm A build.macos64ARMv8/pharo.stack.spur/plugins.ext A build.macos64ARMv8/pharo.stack.spur/plugins.int A build.macos64ARMv8/squeak.cog.spur.immutability/Makefile A build.macos64ARMv8/squeak.cog.spur.immutability/mvm A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.ext A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.int A build.macos64ARMv8/squeak.cog.spur/Makefile A build.macos64ARMv8/squeak.cog.spur/mvm A build.macos64ARMv8/squeak.cog.spur/plugins.ext A build.macos64ARMv8/squeak.cog.spur/plugins.int A build.macos64ARMv8/squeak.sista.spur/Makefile A build.macos64ARMv8/squeak.sista.spur/mvm A build.macos64ARMv8/squeak.sista.spur/plugins.ext A build.macos64ARMv8/squeak.sista.spur/plugins.int A build.macos64ARMv8/squeak.stack.spur/Makefile A build.macos64ARMv8/squeak.stack.spur/mvm A build.macos64ARMv8/squeak.stack.spur/plugins.ext A build.macos64ARMv8/squeak.stack.spur/plugins.int Log Message: ----------- Add Apple Silicon build environment [ci skip] Commit: 1ce12f6521f1f344050aeed3234a23efbcefffa6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1ce12f6521f1f344050aeed3234a23efbcefffa6 Author: Eliot Miranda Date: 2020-07-30 (Thu, 30 Jul 2020) Changed paths: M build.macos64ARMv8/common/Makefile.flags Log Message: ----------- Get compilation working on macos64ARMv8 by hacking in the right define for the processor. [ci skip] Commit: 0eecdf0251a4120d9ef5972f5e05c75fea50e3c6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0eecdf0251a4120d9ef5972f5e05c75fea50e3c6 Author: Eliot Miranda Date: 2020-07-30 (Thu, 30 Jul 2020) Changed paths: M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m Log Message: ----------- MacOS SoundPlugin: get/set volume correctly (webrtc has a version of the truth). Commit: 1492758f44d4b68c661f1c48dd0cb868c03960c1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1492758f44d4b68c661f1c48dd0cb868c03960c1 Author: Eliot Miranda Date: 2020-07-30 (Thu, 30 Jul 2020) Changed paths: M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m Log Message: ----------- MacOS SoundPlugin: Make sure the device names are null-terminated. Commit: 3e9a53515b3f28f7de45e587447028f9eddadc0e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3e9a53515b3f28f7de45e587447028f9eddadc0e Author: Eliot Miranda Date: 2020-07-31 (Fri, 31 Jul 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2785 Plugins: Clean up the SoundPlugin, eliminating almost all cCode:'s, making it potentially simulateable once the internal API is implemented. Use the methodRetur...: API to simplify a number of primitives. Change primitiveSoundEnableAEC to take either 0, 1 or a boolean. Fix a bad bug in the Mac SoundPlgin support. The default input and output devices were switched so the names answered were interchanged (!!). Fix a bug setting the device volume; it simply has to follow the scheme used for getting the volume. Slang: eliminate the arguments to addressOf:put: blocks, hence getting rid of quite a few unused valiables. Commit: f62317a5d3a5757ada4a62548b11c73a9b98155a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f62317a5d3a5757ada4a62548b11c73a9b98155a Author: Eliot Miranda Date: 2020-08-03 (Mon, 03 Aug 2020) Changed paths: M build.macos64ARMv8/common/Makefile.flags M build.macos64ARMv8/common/Makefile.vm M build.macos64x64/common/Makefile.flags M platforms/Cross/vm/sqAssert.h Log Message: ----------- MacOS builds: Get Objective-C files to compile with Xcode-beta on arm64. Eliminate a warning for error in sqHeapMap.c Commit: d575211274c3e190f28fe986112092942ea36add https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d575211274c3e190f28fe986112092942ea36add Author: Eliot Miranda Date: 2020-08-03 (Mon, 03 Aug 2020) Changed paths: A build.linux64ARMv8/HowToBuild Log Message: ----------- Add Ken Dickey's build.linux64ARMv8/HowToBuild (thnaks!!). [ci skip] Commit: ab9f3b6cdf6159fcfebeb28c4a0d8ff27bdd19db https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ab9f3b6cdf6159fcfebeb28c4a0d8ff27bdd19db Author: KenDickey Date: 2020-08-03 (Mon, 03 Aug 2020) Changed paths: A platforms/unix/vm-display-fbdev/sqUnixEvdevKeyboard.c A platforms/unix/vm-display-fbdev/sqUnixEvdevKeymap.c A platforms/unix/vm-display-fbdev/sqUnixEvdevMouse.c Log Message: ----------- just a start Commit: 182cc2c9254cd48f1fadbe0baffd565d1abbe66d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/182cc2c9254cd48f1fadbe0baffd565d1abbe66d Author: KenDickey Date: 2020-08-03 (Mon, 03 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixFBDev.c Log Message: ----------- adding Evdev Commit: 0c22aace0488b0b4342a0022eaa0c8ed97731c41 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0c22aace0488b0b4342a0022eaa0c8ed97731c41 Author: KenDickey Date: 2020-08-03 (Mon, 03 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/00_README.fbdev Log Message: ----------- evdev Commit: 10c08041c5c9d7f7ad4f099901970a0964b23880 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/10c08041c5c9d7f7ad4f099901970a0964b23880 Author: Eliot Miranda Date: 2020-08-03 (Mon, 03 Aug 2020) Changed paths: M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.h M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m Log Message: ----------- MacOSX SoundPlugin Change how audio device change is notified (see https://stackoverflow.com/ questions/26070058/ how-to-get-notification-if-system-preferences-default-sound-changed) Clean up initialization to not install the runLoop more than once. Insertion/removal of headphones is now reliably detected. Commit: 9123984a0edb758ed3681d087f4e7287ee5d124d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9123984a0edb758ed3681d087f4e7287ee5d124d Author: Eliot Miranda Date: 2020-08-03 (Mon, 03 Aug 2020) Changed paths: M build.macos64ARMv8/common/Makefile.flags M platforms/iOS/vm/OSX/sqSqueakOSXScreenAndWindow.m M platforms/unix/vm/include_ucontext.h Log Message: ----------- Fix the core VM compilation issues on MacOSX ARMv8. Commit: 0a229a10acc32a8b917054162b25034f612b9a64 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0a229a10acc32a8b917054162b25034f612b9a64 Author: KenDickey Date: 2020-08-04 (Tue, 04 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyboard.c M platforms/unix/vm-display-fbdev/sqUnixEvdevMouse.c Log Message: ----------- much unparsed code Commit: 9549dcb00aa495331962d38b732aa5e6a2a42d71 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9549dcb00aa495331962d38b732aa5e6a2a42d71 Author: KenDickey Date: 2020-08-04 (Tue, 04 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyboard.c M platforms/unix/vm-display-fbdev/sqUnixEvdevMouse.c Log Message: ----------- mumble Commit: ccd863eeda86fbafebd8c14030d1f1054d5a22a4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ccd863eeda86fbafebd8c14030d1f1054d5a22a4 Author: Eliot Miranda Date: 2020-08-05 (Wed, 05 Aug 2020) Changed paths: M src/plugins/SoundPlugin/SoundPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2786 SoundPlugin: Fix a regression in primitiveSoundPlaySamples:from:startingAt: from VMMaker.oscog-eem.2785. Commit: 387d8ebd1f6bab7be9768f63f7a1116616d7fc27 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/387d8ebd1f6bab7be9768f63f7a1116616d7fc27 Author: KenDickey Date: 2020-08-06 (Thu, 06 Aug 2020) Changed paths: A platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c Log Message: ----------- simplify Commit: d9c7be92d4c186b90df508994113aa0091745955 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d9c7be92d4c186b90df508994113aa0091745955 Author: KenDickey Date: 2020-08-06 (Thu, 06 Aug 2020) Changed paths: A platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c Log Message: ----------- commentary Commit: bddaf7e8631bda3194179c000a35bbb01112f208 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bddaf7e8631bda3194179c000a35bbb01112f208 Author: KenDickey Date: 2020-08-07 (Fri, 07 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c Log Message: ----------- a bit closer (unparsed) Commit: 655d536656c25eada39501c7d628ca21f8b7f649 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/655d536656c25eada39501c7d628ca21f8b7f649 Author: KenDickey Date: 2020-08-08 (Sat, 08 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c M platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c Log Message: ----------- parses;untested Commit: abc0cd01896fd7c72560b64b811526c9744faa71 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/abc0cd01896fd7c72560b64b811526c9744faa71 Author: KenDickey Date: 2020-08-09 (Sun, 09 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c Log Message: ----------- basic evdev mouse & keyboard Commit: 43af5aea3594e8d66389777b168a9b64b95e32e0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/43af5aea3594e8d66389777b168a9b64b95e32e0 Author: KenDickey Date: 2020-08-09 (Sun, 09 Aug 2020) Changed paths: M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M platforms/Cross/vm/sqVirtualMachine.c R platforms/unix/vm-display-fbdev/sqUnixEvdevKeyboard.c R platforms/unix/vm-display-fbdev/sqUnixEvdevKeymap.c R platforms/unix/vm-display-fbdev/sqUnixEvdevMouse.c M platforms/unix/vm/debug.h M platforms/unix/vm/sqUnixMain.c Log Message: ----------- build flags - stdoutStack Commit: 5da52efd0335ab475c991969e9daf08e7267a619 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5da52efd0335ab475c991969e9daf08e7267a619 Author: Eliot Miranda Date: 2020-08-09 (Sun, 09 Aug 2020) Changed paths: M platforms/Cross/plugins/FloatMathPlugin/ieee754names.h M platforms/Mac OS/vm/sqMacMain.c M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Extend include_ucontext.h and use it for reportStackState on unix platforms. Commit: d253c9ef5cd7dc44d603aa7ebd6464374144d29e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d253c9ef5cd7dc44d603aa7ebd6464374144d29e Author: Eliot Miranda Date: 2020-08-09 (Sun, 09 Aug 2020) Changed paths: M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m Log Message: ----------- Nuking some doubled semicolons [ci skip] Commit: 3bc7f3e65bb484d236c0d9f0f2b63b60a7021bb9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3bc7f3e65bb484d236c0d9f0f2b63b60a7021bb9 Author: Eliot Miranda Date: 2020-08-09 (Sun, 09 Aug 2020) Changed paths: M platforms/Cross/plugins/FloatMathPlugin/ieee754names.h M platforms/Mac OS/vm/sqMacMain.c M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: 29a3800010c00e3f9177b241ab49fdffa3a0c6dc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/29a3800010c00e3f9177b241ab49fdffa3a0c6dc Author: Eliot Miranda Date: 2020-08-09 (Sun, 09 Aug 2020) Changed paths: M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/dabusiness.h M platforms/Cross/plugins/IA32ABI/dabusinessARM.h M platforms/Cross/plugins/IA32ABI/dabusinessARM32.h M platforms/Cross/plugins/IA32ABI/dabusinessARM64.h M platforms/Cross/plugins/IA32ABI/dabusinessPostLogic.h M platforms/Cross/plugins/IA32ABI/dabusinessppc.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicDouble.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicFloat.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicInteger.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c Log Message: ----------- Get the 64-bit Stack Spur VM to compile on Apple Silicon. This is a matter of eliminating any implciit declarations. Hence observe that getpagesize is deprecated in modern POSIX_C regimes, where sysconf(_SC_PAGESIZE) is to be used. Commit: 8287971ddf53bb17d30a43dff6a7321c7e25823d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8287971ddf53bb17d30a43dff6a7321c7e25823d Author: Eliot Miranda Date: 2020-08-09 (Sun, 09 Aug 2020) Changed paths: M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m Log Message: ----------- Merge branch 'Cog' of https://github.com/OpenSmalltalk/opensmalltalk-vm into Cog Commit: 8eda0134a0308aa84b92e9a444ff8a845f87573e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8eda0134a0308aa84b92e9a444ff8a845f87573e Author: KenDickey Date: 2020-08-10 (Mon, 10 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- display looks good Commit: 396bcfa1b8498eda318ffab7374abc81ba1f6c13 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/396bcfa1b8498eda318ffab7374abc81ba1f6c13 Author: Eliot Miranda Date: 2020-08-10 (Mon, 10 Aug 2020) Changed paths: M build.macos64ARMv8/squeak.cog.spur/plugins.ext M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication+attributes.m M platforms/unix/vm/include_ucontext.h Log Message: ----------- Misc platform changes. Update include_ucontext.h with fp & sp on ARMv8. Side-step CameraPlugin build failure on MacOS 11.x SDK due to deprecated bhvr. Get Mac VMs to answer correcvt processor on ARMv8 (aarch64). Commit: f31fe35c3a18c2e4ab3abf3ef2332e8be60e27e8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f31fe35c3a18c2e4ab3abf3ef2332e8be60e27e8 Author: Eliot Miranda Date: 2020-08-10 (Mon, 10 Aug 2020) Changed paths: M build.macos64ARMv8/makeallinstall M build.macos64ARMv8/makeproduct M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m Log Message: ----------- Avoid deprecation warnings for Gestalt on Mac OS, and lack of definition of gestaltArm on older SDKs. Commit: 2a7b21ed75701388b1689c48636d09777ef582e2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2a7b21ed75701388b1689c48636d09777ef582e2 Author: Eliot Miranda Date: 2020-08-10 (Mon, 10 Aug 2020) Changed paths: M build.macos32x86/common/Makefile.vm M build.macos64ARMv8/common/Makefile.vm M build.macos64x64/common/Makefile.vm Log Message: ----------- Fix a typo [ci skip] Commit: a2a09546f21dd3246349c5cb3e7d1d920ce2fcc7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a2a09546f21dd3246349c5cb3e7d1d920ce2fcc7 Author: KenDickey Date: 2020-08-10 (Mon, 10 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c Log Message: ----------- cursor tracks now; no kbd Commit: ab7cd135dff678acb91da8f0b2340cc43e3bd5c0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ab7cd135dff678acb91da8f0b2340cc43e3bd5c0 Author: KenDickey Date: 2020-08-11 (Tue, 11 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c M platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c Log Message: ----------- still lacking mouse button events Commit: 9a8b6d14c22fd8a20f8fab28ddc0cd6f9cf6f211 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9a8b6d14c22fd8a20f8fab28ddc0cd6f9cf6f211 Author: KenDickey Date: 2020-08-12 (Wed, 12 Aug 2020) Changed paths: A platforms/unix/vm-display-fbdev/Balloon.h M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- because white pixels are boring Commit: cefe64708ba2a2fe162e098b362b820ec924b536 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cefe64708ba2a2fe162e098b362b820ec924b536 Author: KenDickey Date: 2020-08-12 (Wed, 12 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c Log Message: ----------- latest trial Commit: 3803a80dbfbf2623a86f85646a8a0cd4d93bacd7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3803a80dbfbf2623a86f85646a8a0cd4d93bacd7 Author: KenDickey Date: 2020-08-13 (Thu, 13 Aug 2020) Changed paths: M build.linux64ARMv8/squeak.cog.spur/build/mvm M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c Log Message: ----------- mouse buttons seen Commit: 75832b1d606169251c1ad42e9e9a309c4de72993 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/75832b1d606169251c1ad42e9e9a309c4de72993 Author: KenDickey Date: 2020-08-14 (Fri, 14 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c M platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- basics work Commit: db2b422b2438bbf5acee13ad5a35db9ce712951f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/db2b422b2438bbf5acee13ad5a35db9ce712951f Author: KenDickey Date: 2020-08-14 (Fri, 14 Aug 2020) Changed paths: M build.linux64ARMv8/squeak.cog.spur/build/mvm M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c M platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c Log Message: ----------- keymap fixups Commit: 33983b11b2860a49531a7f752cc54c5df3b4930f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/33983b11b2860a49531a7f752cc54c5df3b4930f Author: KenDickey Date: 2020-08-16 (Sun, 16 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c M platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c Log Message: ----------- elided X11 cruft Commit: 985c7706236e8cb34b668496b6883a969875c57b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/985c7706236e8cb34b668496b6883a969875c57b Author: Eliot Miranda Date: 2020-08-16 (Sun, 16 Aug 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sq.h M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication.m M platforms/minheadless/generic/sqPlatformSpecific-Generic.c M platforms/minheadless/unix/sqPlatformSpecific-Unix.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/win32/vm/sqWin32VMProfile.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/ckformat.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2790 Interpreter cleanup Eliminate assertClassOf:is:. Delete obsolete primitiveVMProfileInfoInto. Simplify bytecodePrimPointX/Y to avoid primFailCode. Provide the InterpreterPlugin>>stackStringValue: convenience. Simplify the SecurityPlugin using methodReturnString: Commit: ecb3a853e00dcb1ac04e6395b82738fd16c9c162 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ecb3a853e00dcb1ac04e6395b82738fd16c9c162 Author: KenDickey Date: 2020-08-16 (Sun, 16 Aug 2020) Changed paths: M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- static fbSelf Commit: 8740796c610b002763d5d46ac03a8829cf39c7da https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8740796c610b002763d5d46ac03a8829cf39c7da Author: Linux User Date: 2020-08-18 (Tue, 18 Aug 2020) Changed paths: A AlpineLinux-Notes.txt Log Message: ----------- useful Commit: 48a32528a5e77bccb661159c6a8fa8b005d98526 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/48a32528a5e77bccb661159c6a8fa8b005d98526 Author: Linux User Date: 2020-08-17 (Mon, 17 Aug 2020) Changed paths: A build.linux64ARMv8/HowToBuild Log Message: ----------- dup Commit: b45c7b1d8d8a99f24adf13785a3cbae783ad2d46 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b45c7b1d8d8a99f24adf13785a3cbae783ad2d46 Author: Christoph Thiede Date: 2020-08-19 (Wed, 19 Aug 2020) Changed paths: M .gitignore M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.ext A build.linux64ARMv8/HowToBuild A build.linux64ARMv8/makeall A build.linux64ARMv8/makeallclean A build.linux64ARMv8/makeallmakefiles A build.linux64ARMv8/makeallsqueak R build.linux64ARMv8/pharo.cog.spur/apt-get-libs.sh R build.linux64ARMv8/pharo.cog.spur/build/mvm R build.linux64ARMv8/pharo.cog.spur/plugins.ext R build.linux64ARMv8/pharo.cog.spur/plugins.ext.all R build.linux64ARMv8/pharo.cog.spur/plugins.int M build.linux64ARMv8/pharo.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.cog.spur/build.assert/mvm M build.linux64ARMv8/squeak.cog.spur/build.debug/mvm M build.linux64ARMv8/squeak.cog.spur/build/mvm M build.linux64ARMv8/squeak.cog.spur/plugins.ext M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm M build.linux64ARMv8/squeak.stack.spur/plugins.ext M build.linux64x64/makeallsqueak M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.ext M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos32x86/common/Makefile.lib.extra M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.rules M build.macos32x86/common/Makefile.vm M build.macos32x86/makeproduct M build.macos32x86/squeak.cog.spur+immutability/plugins.ext M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos32x86/squeak.cog.v3/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.ext M build.macos32x86/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.stack.v3/plugins.ext A build.macos64ARMv8/HowToBuild A build.macos64ARMv8/bochsx64/conf.COG A build.macos64ARMv8/bochsx64/conf.COG.dbg A build.macos64ARMv8/bochsx64/exploration/Makefile A build.macos64ARMv8/bochsx64/makeclean A build.macos64ARMv8/bochsx64/makeem A build.macos64ARMv8/bochsx86/conf.COG A build.macos64ARMv8/bochsx86/conf.COG.dbg A build.macos64ARMv8/bochsx86/exploration/Makefile A build.macos64ARMv8/bochsx86/makeclean A build.macos64ARMv8/bochsx86/makeem A build.macos64ARMv8/common/Makefile.app A build.macos64ARMv8/common/Makefile.app.newspeak A build.macos64ARMv8/common/Makefile.app.squeak A build.macos64ARMv8/common/Makefile.flags A build.macos64ARMv8/common/Makefile.lib.extra A build.macos64ARMv8/common/Makefile.plugin A build.macos64ARMv8/common/Makefile.rules A build.macos64ARMv8/common/Makefile.sources A build.macos64ARMv8/common/Makefile.vm A build.macos64ARMv8/gdbarm32/clean A build.macos64ARMv8/gdbarm32/conf.COG A build.macos64ARMv8/gdbarm32/makeem A build.macos64ARMv8/gdbarm64/clean A build.macos64ARMv8/gdbarm64/conf.COG A build.macos64ARMv8/gdbarm64/makeem A build.macos64ARMv8/makeall A build.macos64ARMv8/makeallinstall A build.macos64ARMv8/makeproduct A build.macos64ARMv8/makeproductinstall A build.macos64ARMv8/makesista A build.macos64ARMv8/makespur A build.macos64ARMv8/pharo.stack.spur.lowcode/Makefile A build.macos64ARMv8/pharo.stack.spur.lowcode/mvm A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.ext A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.int A build.macos64ARMv8/pharo.stack.spur/Makefile A build.macos64ARMv8/pharo.stack.spur/mvm A build.macos64ARMv8/pharo.stack.spur/plugins.ext A build.macos64ARMv8/pharo.stack.spur/plugins.int A build.macos64ARMv8/squeak.cog.spur.immutability/Makefile A build.macos64ARMv8/squeak.cog.spur.immutability/mvm A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.ext A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.int A build.macos64ARMv8/squeak.cog.spur/Makefile A build.macos64ARMv8/squeak.cog.spur/mvm A build.macos64ARMv8/squeak.cog.spur/plugins.ext A build.macos64ARMv8/squeak.cog.spur/plugins.int A build.macos64ARMv8/squeak.sista.spur/Makefile A build.macos64ARMv8/squeak.sista.spur/mvm A build.macos64ARMv8/squeak.sista.spur/plugins.ext A build.macos64ARMv8/squeak.sista.spur/plugins.int A build.macos64ARMv8/squeak.stack.spur/Makefile A build.macos64ARMv8/squeak.stack.spur/mvm A build.macos64ARMv8/squeak.stack.spur/plugins.ext A build.macos64ARMv8/squeak.stack.spur/plugins.int M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.lib.extra M build.macos64x64/common/Makefile.plugin M build.macos64x64/common/Makefile.rules M build.macos64x64/common/Makefile.vm M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.ext M build.sunos32x86/squeak.cog.spur/plugins.ext M build.sunos32x86/squeak.stack.spur/plugins.ext M build.sunos64x64/squeak.cog.spur/plugins.ext M build.sunos64x64/squeak.stack.spur/plugins.ext M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.v3/plugins.ext M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.ext M nsspur64src/vm/cogit.h A nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/FloatMathPlugin/ieee754names.h M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/dabusiness.h M platforms/Cross/plugins/IA32ABI/dabusinessARM.h M platforms/Cross/plugins/IA32ABI/dabusinessARM32.h M platforms/Cross/plugins/IA32ABI/dabusinessARM64.h M platforms/Cross/plugins/IA32ABI/dabusinessPostLogic.h M platforms/Cross/plugins/IA32ABI/dabusinessppc.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicDouble.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicFloat.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicInteger.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/third-party/fdlibm/fdlibm.h M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqTicker.c M platforms/Mac OS/vm/sqMacMain.c M platforms/iOS/plugins/BochsIA32Plugin/Makefile M platforms/iOS/plugins/BochsX64Plugin/Makefile M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.h M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m M platforms/iOS/vm/OSX/sqSqueakOSXScreenAndWindow.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication+attributes.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication.m M platforms/minheadless/generic/sqPlatformSpecific-Generic.c M platforms/minheadless/unix/sqPlatformSpecific-Unix.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixMain.c M platforms/win32/vm/sqWin32VMProfile.c M spur64src/vm/cogit.h A spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h A spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h A spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c A src/ckformat.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Matrix2x3Plugin/Matrix2x3Plugin.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.c M src/plugins/VMProfileMacSupportPlugin/VMProfileMacSupportPlugin.c M src/plugins/XDisplayControlPlugin/XDisplayControlPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Merge branch 'Cog' into sqUnixXdnd Commit: a749b6b54909d6f3eea544fdffe17271d00a7f95 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a749b6b54909d6f3eea544fdffe17271d00a7f95 Author: Christoph Thiede Date: 2020-08-19 (Wed, 19 Aug 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- X11 DropPlugin: Don't specify numFiles= 1 before DragDrop Instead, set numFiles= 0 analogously to the Win32 implementation of the plugin. Commit: 27d524cfcde8d23b06319445002e4d220c65b4f2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/27d524cfcde8d23b06319445002e4d220c65b4f2 Author: KenDickey Date: 2020-08-19 (Wed, 19 Aug 2020) Changed paths: M AlpineLinux-Notes.txt Log Message: ----------- added openssl-dev to apk Commit: d44807de5ea5326f3709790d5625ef03182b0445 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d44807de5ea5326f3709790d5625ef03182b0445 Author: KenDickey Date: 2020-08-19 (Wed, 19 Aug 2020) Changed paths: M AlpineLinux-Notes.txt Log Message: ----------- hdmi boot config Commit: 2b2ea2de2af68faf3005ad5d3edbb583b752fc4e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2b2ea2de2af68faf3005ad5d3edbb583b752fc4e Author: KenDickey Date: 2020-08-19 (Wed, 19 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- cruft removal Commit: 2c2a9ea989c83b14f2f398cf9dd68a3d80dedb8d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2c2a9ea989c83b14f2f398cf9dd68a3d80dedb8d Author: KenDickey Date: 2020-08-19 (Wed, 19 Aug 2020) Changed paths: M AlpineLinux-Notes.txt Log Message: ----------- shell vars Commit: 989bee3ab3d023ebb7b41b7e88da1f8b05f3711c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/989bee3ab3d023ebb7b41b7e88da1f8b05f3711c Author: Eliot Miranda Date: 2020-08-20 (Thu, 20 Aug 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2792 General: Eliminate translation time type error warnings for extendedStoreBytecodePop: and fetchLong32:ofFloatObject:. Simplify and correct the comments of some of the integer oop => value conversion routines. These routines can simply return values directly instead of assigning through a variable. Spur: Looking at class indentityHash distributions in my current VMMaker image it is clear that setting the classTableIndex to point at the start of the last used page is not a good strategy, and leads to far too sparse a class table. So change the policy and set the classTableIndex to the first unused slot. Eliminate unintentional duplication in inLineRunLeakCheckerFor:excludeUnmarkedObjs:classIndicesShouldBeValid: Commit: 7a46ec6d1a53bab36787584dc7fbe00b18001cc7 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7a46ec6d1a53bab36787584dc7fbe00b18001cc7 Author: KenDickey Date: 2020-08-20 (Thu, 20 Aug 2020) Changed paths: M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- cursor looks OK now Commit: a9b022f578fdb61119663da6931293513ec3e6a4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a9b022f578fdb61119663da6931293513ec3e6a4 Author: Marcel Taeumel Date: 2020-08-21 (Fri, 21 Aug 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Merge pull request #508 from LinqLover/sqUnixXdnd sqUnixXdnd: Don't record SQDragLeave when XdndDrop is handled Commit: a400bd95c3e52a9d38802bbe0d9bf2473964cebc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a400bd95c3e52a9d38802bbe0d9bf2473964cebc Author: KenDickey Date: 2020-08-21 (Fri, 21 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- platform independent sizes (16ok|32no) Commit: f74203c8d525dd5763b98e1cb3beafa3bf037520 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f74203c8d525dd5763b98e1cb3beafa3bf037520 Author: KenDickey Date: 2020-08-21 (Fri, 21 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- 32bit fb depth OK Commit: 1afa6e6a2755c0790446e774fb85a3c17e574c5e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1afa6e6a2755c0790446e774fb85a3c17e574c5e Author: KenDickey Date: 2020-08-21 (Fri, 21 Aug 2020) Changed paths: M AlpineLinux-Notes.txt Log Message: ----------- reboot lossage fixup Commit: 42be8a22e6721f0b90180b140a4cf671fd26ad8a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/42be8a22e6721f0b90180b140a4cf671fd26ad8a Author: KenDickey Date: 2020-08-21 (Fri, 21 Aug 2020) Changed paths: M AlpineLinux-Notes.txt Log Message: ----------- 32 bit depth works Commit: dae0bf5670efa757c482ada192534244efe2d688 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dae0bf5670efa757c482ada192534244efe2d688 Author: Christoph Thiede Date: 2020-08-21 (Fri, 21 Aug 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/unix/vm-display-X11/sqUnixXdnd.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Merge branch 'Cog' into dnd-unify-numfiles Commit: 276fe4ce40da9559ff47f3b85e968ef5bbf949ab https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/276fe4ce40da9559ff47f3b85e968ef5bbf949ab Author: KenDickey Date: 2020-08-21 (Fri, 21 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c Log Message: ----------- cmd-. works Commit: 204f7b960b1da849869749cb2c73af594c115000 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/204f7b960b1da849869749cb2c73af594c115000 Author: KenDickey Date: 2020-08-21 (Fri, 21 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- shorted splash screen display time Commit: 6278529fa50c03ff62c680358c20674fc3373952 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6278529fa50c03ff62c680358c20674fc3373952 Author: KenDickey Date: 2020-08-22 (Sat, 22 Aug 2020) Changed paths: A Armbian-Notes.txt Log Message: ----------- new Commit: c39f01fc1aa724d58e637c52f1b0e8e0a9ac1c9d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c39f01fc1aa724d58e637c52f1b0e8e0a9ac1c9d Author: KenDickey Date: 2020-08-25 (Tue, 25 Aug 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- Wheel events Commit: d16264b1558d88bdf178ff3d6e12f2fd18e3885c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d16264b1558d88bdf178ff3d6e12f2fd18e3885c Author: Eliot Miranda Date: 2020-08-27 (Thu, 27 Aug 2020) Changed paths: M .gitignore M build.macos64ARMv8/common/Makefile.app A build.macos64ARMv8/common/entitlements.plist Log Message: ----------- Add Apple Silicon entitlements (still no joy with lldb though). Clean up build directory .gitignore hackery. [ci skip] Commit: 5d7098833153f9e03515384dd8c53f6597a7ef93 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5d7098833153f9e03515384dd8c53f6597a7ef93 Author: Eliot Miranda Date: 2020-08-27 (Thu, 27 Aug 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Eliminate some funky Unicode "i" in sqUnixXdnd.c. [ci skip] Commit: 4b17e6e5daec9e302a3bb743016779e2d6d3100b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4b17e6e5daec9e302a3bb743016779e2d6d3100b Author: Eliot Miranda Date: 2020-08-27 (Thu, 27 Aug 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2794 Fix long-standing confusion in generating the interface header files between the CoInterpreter and the Cogit. VM_EXPORT is the marker for export between the VM and external plugins (dlls/shared-objects). Between the CoInterpreter and the Cogit we need nothing more than extern. Commit: 03812efd76a01b3c3d1838ada743f72d985d74b6 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/03812efd76a01b3c3d1838ada743f72d985d74b6 Author: Eliot Miranda Date: 2020-08-27 (Thu, 27 Aug 2020) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/unix/vm/sqUnixMain.c M platforms/win32/vm/sqWin32Window.c Log Message: ----------- Semi-document the failonffiexception command line argument (haven't yet doc'ed nofailonffiexception). Commit: 889a93bfc69ff14fcd2e5820cec22d68cb9b0348 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/889a93bfc69ff14fcd2e5820cec22d68cb9b0348 Author: KenDickey Date: 2020-08-29 (Sat, 29 Aug 2020) Changed paths: R AlpineLinux-Notes.txt R Armbian-Notes.txt A platforms/unix/vm-display-fbdev/AlpineLinux-Notes.txt A platforms/unix/vm-display-fbdev/Armbian-Notes.txt Log Message: ----------- Updated usage notes Commit: 59ad054d8ce5726bd5741280c063d8a1cabe69c1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/59ad054d8ce5726bd5741280c063d8a1cabe69c1 Author: KenDickey Date: 2020-08-29 (Sat, 29 Aug 2020) Changed paths: M build.linux64ARMv8/HowToBuild Log Message: ----------- Works with amd64 as well as aarch64 Commit: c8946a46dd8f70ff04c3e9b464d4c4a37c7e6264 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c8946a46dd8f70ff04c3e9b464d4c4a37c7e6264 Author: Eliot Miranda Date: 2020-08-29 (Sat, 29 Aug 2020) Changed paths: M .gitignore M build.linux64ARMv8/HowToBuild M build.macos32x86/common/Makefile.vm M build.macos64ARMv8/common/Makefile.app M build.macos64ARMv8/common/Makefile.flags M build.macos64ARMv8/common/Makefile.vm A build.macos64ARMv8/common/entitlements.plist M build.macos64ARMv8/makeallinstall M build.macos64ARMv8/makeproduct M build.macos64ARMv8/squeak.cog.spur/plugins.ext M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.vm M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/FloatMathPlugin/ieee754names.h M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/dabusiness.h M platforms/Cross/plugins/IA32ABI/dabusinessARM.h M platforms/Cross/plugins/IA32ABI/dabusinessARM32.h M platforms/Cross/plugins/IA32ABI/dabusinessARM64.h M platforms/Cross/plugins/IA32ABI/dabusinessPostLogic.h M platforms/Cross/plugins/IA32ABI/dabusinessppc.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicDouble.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicFloat.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicInteger.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Mac OS/vm/sqMacMain.c M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.h M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/iOS/vm/OSX/sqSqueakOSXScreenAndWindow.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication+attributes.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication.m M platforms/minheadless/generic/sqPlatformSpecific-Generic.c M platforms/minheadless/unix/sqPlatformSpecific-Unix.c M platforms/minheadless/windows/sqPlatformSpecific-Win32.c M platforms/unix/vm-display-X11/sqUnixXdnd.c M platforms/unix/vm/include_ucontext.h M platforms/unix/vm/sqUnixMain.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/ckformat.c M src/plugins/SecurityPlugin/SecurityPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- Merge branch 'Cog' into Cog Commit: 57d91d0d2f973e09b46fde76f9f1dc2ec302a1f5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/57d91d0d2f973e09b46fde76f9f1dc2ec302a1f5 Author: Eliot Miranda Date: 2020-08-29 (Sat, 29 Aug 2020) Changed paths: M build.linux64ARMv8/HowToBuild M build.linux64ARMv8/squeak.cog.spur/build/mvm M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm M build.linux64ARMv8/squeak.stack.spur/build/mvm M platforms/Cross/vm/sqVirtualMachine.c M platforms/unix/vm-display-fbdev/00_README.fbdev A platforms/unix/vm-display-fbdev/AlpineLinux-Notes.txt A platforms/unix/vm-display-fbdev/Armbian-Notes.txt A platforms/unix/vm-display-fbdev/Balloon.h A platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c A platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c M platforms/unix/vm/debug.h M platforms/unix/vm/sqUnixMain.c Log Message: ----------- Merge pull request #515 from KenDickey/Cog vm-display-fbdev Commit: 671bcff621d1ba87cf868a7f1a0c24fdbcfd020f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/671bcff621d1ba87cf868a7f1a0c24fdbcfd020f Author: Eliot Miranda Date: 2020-08-29 (Sat, 29 Aug 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M scripts/revertIfEssentiallyUnchanged M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/FilePlugin/FilePlugin.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2796 Interpreter: Fix a few storePointer:...withValue: objectMemory nilObject's to be storePointerUnchecked:. ThreadedARM64Plugin: Implement support for Homogenous Float Arrays (HVAs, structs with up to four float fields, or up to four double fields). These are passed and returned in floating-point argument registers, on call if sufficient are available. To implement this the ThreadedARM64Plugin uses a union of a struct containing four doubles, and a struct containing eight floats. All float/double/HVA returns are handled by a call that expects a struct of four doubles. Hence Slang changes are needed (see below) to allow the struct to be conveniently defined with local methods. This fixes about five test cases in the FFI tests. Mark all methods required to be inlined to be in the same function as the alloca as inline: #always. Hence their code will only occur inlined, not a second time in an unused function. Tidy up, pulling the unaligned accessor macros out of the preamble and explicitly into methods, whether Slang has a chance to generate code correctly given their presence. Also make sure that all references to a type spec are typed as unsigned int/unsigned int *, including the callout state's ffiArgSpec. Fix a warning by typing InterpreterProxy>>characterObjectOf:'s argument as int to agree with sqVirtualMachine.h. Slang: Fix several issues with inlining and type inferrence to support the above ThreadedARM64Plugin fixes. Distinguish macros from struct accessors; previously isStructSend: could be confused. Make sure that structTargetKindForDeclaration: answers #pointer only for types endign with a *; previously it could be confused by e.g. a struct containing pointers. Make isTypePointerToStruct: more robust, answering false for anything that isn't a string and then analysing the string. emitCCodeAsFieldReferenceOn:level:generator: must also check for shouldGenerateAsInterpreterProxySend:. tryToInlineMethodsIn: must push the current method's declarations onto the scope stack to allow proper type inferrence while inlining. Since these changes now allow e.g. a structure method to be inlined, extend node:typeCompatibleWith:inliningInto:in: to inline such arguments; it needs to take the address of the argument to derive the lined pointer to the actual argument. Commit: 16ffd5b3c4c6e48968277e40543ca1f96b984473 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/16ffd5b3c4c6e48968277e40543ca1f96b984473 Author: Eliot Miranda Date: 2020-08-30 (Sun, 30 Aug 2020) Changed paths: M build.macos32x86/common/Makefile.flags M build.macos32x86/common/Makefile.rules M build.macos64ARMv8/common/Makefile.flags M build.macos64ARMv8/common/Makefile.rules M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.rules M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2797 Plugins: Squash a few C compiler warnings from the SocketPlugin and ZipPlugin. Eliminate the -fobjc-weak unused command line arg warning for MacOS builds. Commit: 9f73148b8da4bc00278b83faa8da6b1c418fa54f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9f73148b8da4bc00278b83faa8da6b1c418fa54f Author: Eliot Miranda Date: 2020-09-01 (Tue, 01 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2798 Interpreters: Clean up setjmp/longjmp. Use only _setjmp:/_longjmp:_:. To get Win64 working it is easier to use a setjmp/longjmp pair that does not do stack unwinding. It is more difficult to stitch teh stack properly so that Kernel32's checking on stack unwinding does not raise an error. So now we're using _setjmp/longjmp everywhere and can fix things on WIN32 either to to invoke longjmpex or to use a _setjmp/_longjmp replacement a la Win64. [ci skip] Commit: 04266ed7e556efbb12527d09430c5e176971f1f8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/04266ed7e556efbb12527d09430c5e176971f1f8 Author: Eliot Miranda Date: 2020-09-01 (Tue, 01 Sep 2020) Changed paths: M build.win64x64/common/Makefile.msvc M build.win64x64/common/Makefile.msvc.flags R build.win64x64/common/Makefile.msvc.msvc.rules M build.win64x64/common/Makefile.msvc.plugin M build.win64x64/common/Makefile.msvc.rules M build.win64x64/common/Makefile.msvc.tools M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqSetjmpShim.h A platforms/win32/misc/_setjmp-x64.asm Log Message: ----------- Add the minimal _setjmp/_longjmp for Win64 adapted from Julia Lang. Make sure all external plgins use it too. This commit may break the 32-bit WIN32 builds. We'll rescue them when time allows, either by adding a _setjmp-x86.asm or by modifying sqSetjmpShim to map _setjmp/_longjmp to setjmpex/longjmpex. Commit: fc9c3177b2f3021fead719ba444ebba46ecb2446 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fc9c3177b2f3021fead719ba444ebba46ecb2446 Author: Marcel Taeumel Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixXdnd.c Log Message: ----------- Merge pull request #514 from LinqLover/dnd-unify-numfiles DropPlugin: Unify numFiles fallback value before DragDrop has been recorded Commit: f632ee2888014ee88330ee994e13c9c609b57b5f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f632ee2888014ee88330ee994e13c9c609b57b5f Author: Eliot Miranda Date: 2020-09-02 (Wed, 02 Sep 2020) Changed paths: M nsspur64src/vm/cogitARMv8.c M spur64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitARMv8.c M spursista64src/vm/cogitARMv8.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2799/ClosedVMMaker-eem.98 Ha! I am *STUPID*. Integer overflow is not only determined by the upper 64-bits of a 64x64=>128 bit multiply being either all zero or all ones (0 or -1), but by the upper 64-bits being an extension of the most significant bit of the lower 64 bits!! Commit: f02e420fcf47e7d4b8038c740e21fdc8928a8e89 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f02e420fcf47e7d4b8038c740e21fdc8928a8e89 Author: Tobias Pape Date: 2020-09-03 (Thu, 03 Sep 2020) Changed paths: M build.sunos64x64/HowToBuild M platforms/unix/plugins/SqueakSSL/openssl_overlay.h Log Message: ----------- Merge pull request #496 from cstes/sunupdate Let's see if something breaks :D Commit: e58cec1e82b60535dbe666b511c1c2198f7921f9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/e58cec1e82b60535dbe666b511c1c2198f7921f9 Author: Eliot Miranda Date: 2020-09-06 (Sun, 06 Sep 2020) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- CogVM source as per FileAttributesPlugin.oscog-eem.56 Fix regression in FileAttributesPlugin>>primitiveFileMasks in Pharo images. Only Squeak/Cuis can expect WordArray to be present in the specialObjectsArray. Pharo is missing out on native support for the four widths of non-object arrays, but that's its perogative, and the VM has to remain backward-compatible. Mea culpa. Commit: b6f3f2f12e84dfd1c7f4defe27c1cdc909e63e8b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b6f3f2f12e84dfd1c7f4defe27c1cdc909e63e8b Author: Eliot Miranda Date: 2020-09-06 (Sun, 06 Sep 2020) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- CogVM source as per FileAttributesPlugin.oscog-eem.57 Recind the rush of blood to the head. Since the specialObjectsArray was only changed in Squeak in January make primitiveFileMasks use WordArray only when available (a WordArray is smaller and faster to access). Also, thanks to Pierce fix the regression in forgetting to export the first switch-hitting version. Use common code for string return. Commit: 62947b65273df1c9b15754920e62842bfe85b39e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/62947b65273df1c9b15754920e62842bfe85b39e Author: Eliot Miranda Date: 2020-09-06 (Sun, 06 Sep 2020) Changed paths: M src/plugins/FileAttributesPlugin/FileAttributesPlugin.c Log Message: ----------- CogVM source as per FileAttributesPlugin.oscog-eem.59 And fix yet another regression in eliding the first element (S_IFMT) in the Array version by mistake. Commit: 643aabc51911b6c8bd2f901a046332b1bc11ff42 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/643aabc51911b6c8bd2f901a046332b1bc11ff42 Author: Tobias Pape Date: 2020-09-07 (Mon, 07 Sep 2020) Changed paths: M .appveyor.yml R .bintray.json A .clang_complete A .editorconfig M .git_filters/RevDateURL.clean M .git_filters/RevDateURL.smudge M .gitattributes M .gitignore M .travis.yml R .travis_build.sh R .travis_deploy.sh R .travis_install.sh R CHANGES A CMakeLists.txt M CONTRIBUTING.md M README.md R README.old M build.linux32ARMv6/HowToBuild M build.linux32ARMv6/editnewspeakinstall.sh M build.linux32ARMv6/editpharoinstall.sh M build.linux32ARMv6/makeall M build.linux32ARMv6/makeallclean M build.linux32ARMv6/makeallmakefiles M build.linux32ARMv6/makeproduct M build.linux32ARMv6/makeproductclean M build.linux32ARMv6/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv6/newspeak.cog.spur/build/mvm M build.linux32ARMv6/newspeak.cog.spur/plugins.int M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv6/newspeak.stack.spur/build/mvm M build.linux32ARMv6/newspeak.stack.spur/plugins.int M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm M build.linux32ARMv6/pharo.cog.spur/build/mvm M build.linux32ARMv6/pharo.cog.spur/plugins.ext M build.linux32ARMv6/pharo.cog.spur/plugins.int M build.linux32ARMv6/squeak.cog.spur/build.assert/mvm M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm M build.linux32ARMv6/squeak.cog.spur/build/mvm M build.linux32ARMv6/squeak.cog.spur/plugins.ext M build.linux32ARMv6/squeak.cog.spur/plugins.int M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm M build.linux32ARMv6/squeak.stack.spur/build/mvm M build.linux32ARMv6/squeak.stack.spur/plugins.ext M build.linux32ARMv6/squeak.stack.spur/plugins.int M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm M build.linux32ARMv6/squeak.stack.v3/build/mvm M build.linux32ARMv6/squeak.stack.v3/plugins.ext M build.linux32ARMv6/squeak.stack.v3/plugins.int M build.linux32ARMv6/third-party/mvm M build.linux32ARMv7/HowToBuild M build.linux32ARMv7/editnewspeakinstall.sh M build.linux32ARMv7/makeall M build.linux32ARMv7/makeallclean M build.linux32ARMv7/makeproduct M build.linux32ARMv7/makeproductclean M build.linux32ARMv7/newspeak.cog.spur/build.assert/mvm M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm M build.linux32ARMv7/newspeak.cog.spur/build/mvm M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm M build.linux32ARMv7/newspeak.stack.spur/build/mvm M build.linux32x86/HowToBuild M build.linux32x86/bochsx64/makeem M build.linux32x86/bochsx86/makeem M build.linux32x86/editnewspeakinstall.sh M build.linux32x86/editpharoinstall.sh M build.linux32x86/gdbarm32/conf.COG M build.linux32x86/gdbarm32/makeem M build.linux32x86/makeall M build.linux32x86/makeallclean M build.linux32x86/makeallmakefiles M build.linux32x86/makeproduct M build.linux32x86/makeproductclean M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.assert/mvm M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build.debug/mvm M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/newspeak.cog.spur/build/mvm M build.linux32x86/newspeak.cog.spur/plugins.int M build.linux32x86/newspeak.sista.spur/plugins.int M build.linux32x86/newspeak.stack.spur/build.assert/mvm M build.linux32x86/newspeak.stack.spur/build.debug/mvm M build.linux32x86/newspeak.stack.spur/build/mvm M build.linux32x86/newspeak.stack.spur/plugins.int M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.assert/mvm M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build.debug/mvm M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/nsnac.cog.spur/build/mvm M build.linux32x86/nsnac.cog.spur/plugins.int M build.linux32x86/pharo.cog.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur.lowcode/build/mvm M build.linux32x86/pharo.cog.spur.lowcode/plugins.ext M build.linux32x86/pharo.cog.spur.lowcode/plugins.int A build.linux32x86/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.assert/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm A build.linux32x86/pharo.cog.spur.minheadless/build/mvm A build.linux32x86/pharo.cog.spur.minheadless/makeallclean A build.linux32x86/pharo.cog.spur.minheadless/makealldirty M build.linux32x86/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.assert/mvm M build.linux32x86/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build.debug/mvm M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/pharo.cog.spur/build/mvm M build.linux32x86/pharo.cog.spur/plugins.ext M build.linux32x86/pharo.cog.spur/plugins.int A build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm A build.linux32x86/pharo.sista.spur/build.assert/mvm A build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm A build.linux32x86/pharo.sista.spur/build.debug/mvm A build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm A build.linux32x86/pharo.sista.spur/build/mvm A build.linux32x86/pharo.sista.spur/makeallclean A build.linux32x86/pharo.sista.spur/makealldirty A build.linux32x86/pharo.sista.spur/plugins.ext A build.linux32x86/pharo.sista.spur/plugins.int M build.linux32x86/pharo.stack.spur.lowcode/build.assert.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm M build.linux32x86/pharo.stack.spur.lowcode/build/mvm M build.linux32x86/pharo.stack.spur.lowcode/plugins.ext M build.linux32x86/pharo.stack.spur.lowcode/plugins.int M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm M build.linux32x86/squeak.cog.spur.immutability/build/mvm M build.linux32x86/squeak.cog.spur.immutability/plugins.ext M build.linux32x86/squeak.cog.spur.immutability/plugins.int M build.linux32x86/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.assert/mvm M build.linux32x86/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build.debug/mvm M build.linux32x86/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.spur/build/mvm A build.linux32x86/squeak.cog.spur/makethbdirty M build.linux32x86/squeak.cog.spur/plugins.ext M build.linux32x86/squeak.cog.spur/plugins.int M build.linux32x86/squeak.cog.v3/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.assert/mvm M build.linux32x86/squeak.cog.v3/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.debug/mvm M build.linux32x86/squeak.cog.v3/build.itimerheartbeat/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.assert/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded.debug/mvm M build.linux32x86/squeak.cog.v3/build.multithreaded/mvm M build.linux32x86/squeak.cog.v3/build/mvm M build.linux32x86/squeak.cog.v3/plugins.ext M build.linux32x86/squeak.cog.v3/plugins.int M build.linux32x86/squeak.sista.spur/build.assert.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.assert/mvm M build.linux32x86/squeak.sista.spur/build.debug.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build.debug/mvm M build.linux32x86/squeak.sista.spur/build.itimerheartbeat/mvm M build.linux32x86/squeak.sista.spur/build/mvm M build.linux32x86/squeak.sista.spur/plugins.ext M build.linux32x86/squeak.sista.spur/plugins.int M build.linux32x86/squeak.stack.spur/build.assert/mvm M build.linux32x86/squeak.stack.spur/build.debug/mvm M build.linux32x86/squeak.stack.spur/build/mvm M build.linux32x86/squeak.stack.spur/plugins.ext M build.linux32x86/squeak.stack.spur/plugins.int M build.linux32x86/squeak.stack.v3/build.assert/mvm M build.linux32x86/squeak.stack.v3/build.debug/mvm M build.linux32x86/squeak.stack.v3/build/mvm M build.linux32x86/squeak.stack.v3/plugins.ext M build.linux32x86/squeak.stack.v3/plugins.int M build.linux32x86/third-party/Makefile.libgit2 M build.linux32x86/third-party/Makefile.pkgconfig M build.linux32x86/third-party/mvm A build.linux64ARMv8/HowToBuild A build.linux64ARMv8/editpharoinstall.sh A build.linux64ARMv8/makeall A build.linux64ARMv8/makeallclean A build.linux64ARMv8/makeallmakefiles A build.linux64ARMv8/makeallsqueak A build.linux64ARMv8/pharo.stack.spur/apt-get-libs.sh A build.linux64ARMv8/pharo.stack.spur/build.debug/mvm A build.linux64ARMv8/pharo.stack.spur/build/mvm A build.linux64ARMv8/pharo.stack.spur/plugins.ext A build.linux64ARMv8/pharo.stack.spur/plugins.ext.all A build.linux64ARMv8/pharo.stack.spur/plugins.int A build.linux64ARMv8/squeak.cog.spur/build.assert/mvm A build.linux64ARMv8/squeak.cog.spur/build.debug/mvm A build.linux64ARMv8/squeak.cog.spur/build/mvm A build.linux64ARMv8/squeak.cog.spur/makeallclean A build.linux64ARMv8/squeak.cog.spur/makealldirty A build.linux64ARMv8/squeak.cog.spur/plugins.ext A build.linux64ARMv8/squeak.cog.spur/plugins.int A build.linux64ARMv8/squeak.stack.spur/build.assert/mvm A build.linux64ARMv8/squeak.stack.spur/build.debug/mvm A build.linux64ARMv8/squeak.stack.spur/build/mvm A build.linux64ARMv8/squeak.stack.spur/makeallclean A build.linux64ARMv8/squeak.stack.spur/makealldirty A build.linux64ARMv8/squeak.stack.spur/plugins.ext A build.linux64ARMv8/squeak.stack.spur/plugins.int A build.linux64ARMv8/third-party/Makefile.lib.extra A build.linux64ARMv8/third-party/Makefile.libgit2 A build.linux64ARMv8/third-party/Makefile.libsdl2 A build.linux64ARMv8/third-party/Makefile.libssh2 A build.linux64ARMv8/third-party/mvm M build.linux64x64/HowToBuild A build.linux64x64/bochsx64/conf.COG A build.linux64x64/bochsx64/conf.COG.dbg A build.linux64x64/bochsx64/exploration/Makefile A build.linux64x64/bochsx64/makeem A build.linux64x64/bochsx86/conf.COG A build.linux64x64/bochsx86/makeem M build.linux64x64/editnewspeakinstall.sh M build.linux64x64/editpharoinstall.sh A build.linux64x64/gdbarm32/conf.COG A build.linux64x64/gdbarm32/makeem A build.linux64x64/gdbarm64/conf.COG A build.linux64x64/gdbarm64/makeem M build.linux64x64/makeall M build.linux64x64/makeallclean M build.linux64x64/makeallmakefiles M build.linux64x64/makeallsqueak M build.linux64x64/makeproduct M build.linux64x64/makeproductclean M build.linux64x64/newspeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.assert/mvm M build.linux64x64/newspeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build.debug/mvm M build.linux64x64/newspeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/newspeak.cog.spur/build/mvm M build.linux64x64/newspeak.cog.spur/plugins.int M build.linux64x64/newspeak.sista.spur/plugins.int M build.linux64x64/newspeak.stack.spur/build.assert/mvm M build.linux64x64/newspeak.stack.spur/build.debug/mvm M build.linux64x64/newspeak.stack.spur/build/mvm M build.linux64x64/newspeak.stack.spur/plugins.int M build.linux64x64/nsnac.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.assert/mvm M build.linux64x64/nsnac.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build.debug/mvm M build.linux64x64/nsnac.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/nsnac.cog.spur/build/mvm M build.linux64x64/nsnac.cog.spur/plugins.int A build.linux64x64/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.assert/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.debug/mvm A build.linux64x64/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm A build.linux64x64/pharo.cog.spur.minheadless/build/mvm A build.linux64x64/pharo.cog.spur.minheadless/makeallclean A build.linux64x64/pharo.cog.spur.minheadless/makealldirty M build.linux64x64/pharo.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.assert/mvm M build.linux64x64/pharo.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build.debug/mvm M build.linux64x64/pharo.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/pharo.cog.spur/build/mvm M build.linux64x64/pharo.cog.spur/plugins.ext M build.linux64x64/pharo.cog.spur/plugins.int A build.linux64x64/pharo.sista.spur/NotYetImplemented A build.linux64x64/pharo.sista.spur/makeallclean A build.linux64x64/pharo.sista.spur/makealldirty M build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm M build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm M build.linux64x64/squeak.cog.spur.immutability/build/mvm M build.linux64x64/squeak.cog.spur.immutability/plugins.ext M build.linux64x64/squeak.cog.spur.immutability/plugins.int M build.linux64x64/squeak.cog.spur/build.assert.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.assert/mvm M build.linux64x64/squeak.cog.spur/build.debug.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build.debug/mvm M build.linux64x64/squeak.cog.spur/build.itimerheartbeat/mvm M build.linux64x64/squeak.cog.spur/build/mvm A build.linux64x64/squeak.cog.spur/makethbdirty M build.linux64x64/squeak.cog.spur/plugins.ext M build.linux64x64/squeak.cog.spur/plugins.int M build.linux64x64/squeak.stack.spur/build.assert/mvm M build.linux64x64/squeak.stack.spur/build.debug/mvm M build.linux64x64/squeak.stack.spur/build/mvm M build.linux64x64/squeak.stack.spur/plugins.ext M build.linux64x64/squeak.stack.spur/plugins.int M build.linux64x64/third-party/mvm M build.macos32x86/HowToBuild M build.macos32x86/bochsx64/conf.COG.dbg M build.macos32x86/bochsx64/exploration/Makefile A build.macos32x86/bochsx64/makeclean M build.macos32x86/bochsx64/makeem A build.macos32x86/bochsx86/conf.COG.dbg A build.macos32x86/bochsx86/exploration/Makefile A build.macos32x86/bochsx86/makeclean M build.macos32x86/bochsx86/makeem A build.macos32x86/common.minheadless/Makefile.app A build.macos32x86/common.minheadless/Makefile.app.newspeak A build.macos32x86/common.minheadless/Makefile.app.squeak A build.macos32x86/common.minheadless/Makefile.clangversion A build.macos32x86/common.minheadless/Makefile.flags A build.macos32x86/common.minheadless/Makefile.lib.extra A build.macos32x86/common.minheadless/Makefile.plugin A build.macos32x86/common.minheadless/Makefile.rules A build.macos32x86/common.minheadless/Makefile.sources A build.macos32x86/common.minheadless/Makefile.vm A build.macos32x86/common.minheadless/mkInternalPluginsList.sh A build.macos32x86/common.minheadless/mkNamedPrims.sh M build.macos32x86/common/Makefile.app M build.macos32x86/common/Makefile.flags M build.macos32x86/common/Makefile.lib.extra M build.macos32x86/common/Makefile.plugin M build.macos32x86/common/Makefile.rules M build.macos32x86/common/Makefile.vm R build.macos32x86/common/mkNamedPrims.sh M build.macos32x86/gdbarm32/conf.COG M build.macos32x86/gdbarm32/makeem A build.macos32x86/gdbarm64/conf.COG A build.macos32x86/gdbarm64/makeem M build.macos32x86/makeall M build.macos32x86/makeallinstall M build.macos32x86/makeproduct M build.macos32x86/makeproductclean M build.macos32x86/makeproductinstall M build.macos32x86/makesista M build.macos32x86/makespur M build.macos32x86/newspeak.cog.spur/mvm M build.macos32x86/newspeak.cog.spur/plugins.int M build.macos32x86/newspeak.stack.spur/mvm M build.macos32x86/newspeak.stack.spur/plugins.int M build.macos32x86/pharo.cog.spur.lowcode/Makefile M build.macos32x86/pharo.cog.spur.lowcode/mvm M build.macos32x86/pharo.cog.spur.lowcode/plugins.int A build.macos32x86/pharo.cog.spur.minheadless/Makefile A build.macos32x86/pharo.cog.spur.minheadless/mvm A build.macos32x86/pharo.cog.spur.minheadless/plugins.ext A build.macos32x86/pharo.cog.spur.minheadless/plugins.int M build.macos32x86/pharo.cog.spur/Makefile M build.macos32x86/pharo.cog.spur/mvm M build.macos32x86/pharo.cog.spur/plugins.ext M build.macos32x86/pharo.cog.spur/plugins.int A build.macos32x86/pharo.cog.v3/Makefile A build.macos32x86/pharo.cog.v3/mvm A build.macos32x86/pharo.cog.v3/plugins.ext A build.macos32x86/pharo.cog.v3/plugins.int A build.macos32x86/pharo.sista.spur/Makefile A build.macos32x86/pharo.sista.spur/mvm A build.macos32x86/pharo.sista.spur/plugins.ext A build.macos32x86/pharo.sista.spur/plugins.int M build.macos32x86/pharo.stack.spur.lowcode/Makefile M build.macos32x86/pharo.stack.spur.lowcode/mvm M build.macos32x86/pharo.stack.spur.lowcode/plugins.int M build.macos32x86/pharo.stack.spur/Makefile M build.macos32x86/pharo.stack.spur/mvm M build.macos32x86/pharo.stack.spur/plugins.int M build.macos32x86/squeak.cog.spur+immutability/Makefile M build.macos32x86/squeak.cog.spur+immutability/mvm M build.macos32x86/squeak.cog.spur+immutability/plugins.ext M build.macos32x86/squeak.cog.spur+immutability/plugins.int M build.macos32x86/squeak.cog.spur/mvm M build.macos32x86/squeak.cog.spur/plugins.ext M build.macos32x86/squeak.cog.spur/plugins.int M build.macos32x86/squeak.cog.v3/mvm M build.macos32x86/squeak.cog.v3/plugins.ext M build.macos32x86/squeak.cog.v3/plugins.int M build.macos32x86/squeak.sista.spur/Makefile M build.macos32x86/squeak.sista.spur/mvm M build.macos32x86/squeak.sista.spur/plugins.ext M build.macos32x86/squeak.sista.spur/plugins.int M build.macos32x86/squeak.stack.spur/mvm M build.macos32x86/squeak.stack.spur/plugins.ext M build.macos32x86/squeak.stack.spur/plugins.int M build.macos32x86/squeak.stack.v3/mvm M build.macos32x86/squeak.stack.v3/plugins.ext M build.macos32x86/squeak.stack.v3/plugins.int M build.macos32x86/third-party/Makefile.cairo M build.macos32x86/third-party/Makefile.openssl A build.macos64ARMv8/HowToBuild A build.macos64ARMv8/bochsx64/conf.COG A build.macos64ARMv8/bochsx64/conf.COG.dbg A build.macos64ARMv8/bochsx64/exploration/Makefile A build.macos64ARMv8/bochsx64/makeclean A build.macos64ARMv8/bochsx64/makeem A build.macos64ARMv8/bochsx86/conf.COG A build.macos64ARMv8/bochsx86/conf.COG.dbg A build.macos64ARMv8/bochsx86/exploration/Makefile A build.macos64ARMv8/bochsx86/makeclean A build.macos64ARMv8/bochsx86/makeem A build.macos64ARMv8/common/Makefile.app A build.macos64ARMv8/common/Makefile.app.newspeak A build.macos64ARMv8/common/Makefile.app.squeak A build.macos64ARMv8/common/Makefile.flags A build.macos64ARMv8/common/Makefile.lib.extra A build.macos64ARMv8/common/Makefile.plugin A build.macos64ARMv8/common/Makefile.rules A build.macos64ARMv8/common/Makefile.sources A build.macos64ARMv8/common/Makefile.vm A build.macos64ARMv8/common/entitlements.plist A build.macos64ARMv8/gdbarm32/clean A build.macos64ARMv8/gdbarm32/conf.COG A build.macos64ARMv8/gdbarm32/makeem A build.macos64ARMv8/gdbarm64/clean A build.macos64ARMv8/gdbarm64/conf.COG A build.macos64ARMv8/gdbarm64/makeem A build.macos64ARMv8/makeall A build.macos64ARMv8/makeallinstall A build.macos64ARMv8/makeproduct A build.macos64ARMv8/makeproductinstall A build.macos64ARMv8/makesista A build.macos64ARMv8/makespur A build.macos64ARMv8/pharo.stack.spur.lowcode/Makefile A build.macos64ARMv8/pharo.stack.spur.lowcode/mvm A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.ext A build.macos64ARMv8/pharo.stack.spur.lowcode/plugins.int A build.macos64ARMv8/pharo.stack.spur/Makefile A build.macos64ARMv8/pharo.stack.spur/mvm A build.macos64ARMv8/pharo.stack.spur/plugins.ext A build.macos64ARMv8/pharo.stack.spur/plugins.int A build.macos64ARMv8/squeak.cog.spur.immutability/Makefile A build.macos64ARMv8/squeak.cog.spur.immutability/mvm A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.ext A build.macos64ARMv8/squeak.cog.spur.immutability/plugins.int A build.macos64ARMv8/squeak.cog.spur/Makefile A build.macos64ARMv8/squeak.cog.spur/mvm A build.macos64ARMv8/squeak.cog.spur/plugins.ext A build.macos64ARMv8/squeak.cog.spur/plugins.int A build.macos64ARMv8/squeak.sista.spur/Makefile A build.macos64ARMv8/squeak.sista.spur/mvm A build.macos64ARMv8/squeak.sista.spur/plugins.ext A build.macos64ARMv8/squeak.sista.spur/plugins.int A build.macos64ARMv8/squeak.stack.spur/Makefile A build.macos64ARMv8/squeak.stack.spur/mvm A build.macos64ARMv8/squeak.stack.spur/plugins.ext A build.macos64ARMv8/squeak.stack.spur/plugins.int M build.macos64x64/HowToBuild M build.macos64x64/bochsx64/conf.COG M build.macos64x64/bochsx64/conf.COG.dbg M build.macos64x64/bochsx64/exploration/Makefile A build.macos64x64/bochsx64/makeclean M build.macos64x64/bochsx64/makeem M build.macos64x64/bochsx86/conf.COG A build.macos64x64/bochsx86/conf.COG.dbg A build.macos64x64/bochsx86/exploration/Makefile A build.macos64x64/bochsx86/makeclean M build.macos64x64/bochsx86/makeem M build.macos64x64/common/Makefile.app M build.macos64x64/common/Makefile.app.squeak M build.macos64x64/common/Makefile.flags M build.macos64x64/common/Makefile.lib.extra M build.macos64x64/common/Makefile.plugin M build.macos64x64/common/Makefile.rules M build.macos64x64/common/Makefile.vm R build.macos64x64/common/mkNamedPrims.sh A build.macos64x64/gdbarm32/clean M build.macos64x64/gdbarm32/conf.COG M build.macos64x64/gdbarm32/makeem A build.macos64x64/gdbarm64/clean A build.macos64x64/gdbarm64/conf.COG A build.macos64x64/gdbarm64/makeem M build.macos64x64/makeall M build.macos64x64/makeallinstall M build.macos64x64/makeproduct M build.macos64x64/makeproductinstall M build.macos64x64/makesista M build.macos64x64/makespur M build.macos64x64/newspeak.cog.spur/mvm M build.macos64x64/newspeak.cog.spur/plugins.int M build.macos64x64/newspeak.stack.spur/mvm M build.macos64x64/newspeak.stack.spur/plugins.int M build.macos64x64/pharo.cog.spur.lowcode/Makefile M build.macos64x64/pharo.cog.spur.lowcode/mvm M build.macos64x64/pharo.cog.spur.lowcode/plugins.int M build.macos64x64/pharo.cog.spur/Makefile M build.macos64x64/pharo.cog.spur/mvm M build.macos64x64/pharo.cog.spur/plugins.ext M build.macos64x64/pharo.cog.spur/plugins.int A build.macos64x64/pharo.sista.spur/Makefile A build.macos64x64/pharo.sista.spur/mvm A build.macos64x64/pharo.sista.spur/plugins.ext A build.macos64x64/pharo.sista.spur/plugins.int M build.macos64x64/pharo.stack.spur.lowcode/Makefile M build.macos64x64/pharo.stack.spur.lowcode/mvm M build.macos64x64/pharo.stack.spur.lowcode/plugins.int M build.macos64x64/pharo.stack.spur/Makefile M build.macos64x64/pharo.stack.spur/mvm M build.macos64x64/pharo.stack.spur/plugins.int M build.macos64x64/squeak.cog.spur.immutability/Makefile M build.macos64x64/squeak.cog.spur.immutability/mvm M build.macos64x64/squeak.cog.spur.immutability/plugins.ext M build.macos64x64/squeak.cog.spur.immutability/plugins.int M build.macos64x64/squeak.cog.spur/Makefile M build.macos64x64/squeak.cog.spur/mvm M build.macos64x64/squeak.cog.spur/plugins.ext M build.macos64x64/squeak.cog.spur/plugins.int M build.macos64x64/squeak.sista.spur/Makefile M build.macos64x64/squeak.sista.spur/mvm M build.macos64x64/squeak.sista.spur/plugins.ext M build.macos64x64/squeak.sista.spur/plugins.int M build.macos64x64/squeak.stack.spur/mvm M build.macos64x64/squeak.stack.spur/plugins.ext M build.macos64x64/squeak.stack.spur/plugins.int M build.macos64x64/third-party/Makefile.cairo M build.macos64x64/third-party/Makefile.libgit2 M build.macos64x64/third-party/Makefile.openssl A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin-clang.cmake A build.minheadless.cmake/x64/common/Toolchain-mingw32-cygwin-gcc.cmake A build.minheadless.cmake/x64/common/configure_variant.sh A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/Makefile A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x64/pharo.cog.spur+sdl2/mvm_configure_variant A build.minheadless.cmake/x64/pharo.cog.spur/Makefile A build.minheadless.cmake/x64/pharo.cog.spur/mvm A build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure A build.minheadless.cmake/x64/pharo.cog.spur/mvm_configure_variant A build.minheadless.cmake/x64/pharo.stack.spur/Makefile A build.minheadless.cmake/x64/pharo.stack.spur/mvm A build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure A build.minheadless.cmake/x64/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/Makefile A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x64/squeak.cog.spur+sdl2/mvm_configure_variant A build.minheadless.cmake/x64/squeak.cog.spur/Makefile A build.minheadless.cmake/x64/squeak.cog.spur/mvm A build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure A build.minheadless.cmake/x64/squeak.cog.spur/mvm_configure_variant A build.minheadless.cmake/x64/squeak.stack.spur/Makefile A build.minheadless.cmake/x64/squeak.stack.spur/mvm A build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure A build.minheadless.cmake/x64/squeak.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin-clang.cmake A build.minheadless.cmake/x86/common/Toolchain-mingw32-cygwin-gcc.cmake A build.minheadless.cmake/x86/common/configure_variant.sh A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/Makefile A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x86/pharo.cog.spur+sdl2/mvm_configure_variant A build.minheadless.cmake/x86/pharo.cog.spur/Makefile A build.minheadless.cmake/x86/pharo.cog.spur/mvm A build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure A build.minheadless.cmake/x86/pharo.cog.spur/mvm_configure_variant A build.minheadless.cmake/x86/pharo.stack.spur/Makefile A build.minheadless.cmake/x86/pharo.stack.spur/mvm A build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure A build.minheadless.cmake/x86/pharo.stack.spur/mvm_configure_variant A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/Makefile A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm_configure A build.minheadless.cmake/x86/squeak.cog.spur+sdl2/mvm_configure_variant A build.minheadless.cmake/x86/squeak.cog.spur/Makefile A build.minheadless.cmake/x86/squeak.cog.spur/mvm A build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure A build.minheadless.cmake/x86/squeak.cog.spur/mvm_configure_variant A build.minheadless.cmake/x86/squeak.stack.spur/Makefile A build.minheadless.cmake/x86/squeak.stack.spur/mvm A build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure A build.minheadless.cmake/x86/squeak.stack.spur/mvm_configure_variant A build.sunos32x86/HowToBuild A build.sunos32x86/squeak.cog.spur/build/mvm A build.sunos32x86/squeak.cog.spur/plugins.ext A build.sunos32x86/squeak.cog.spur/plugins.int A build.sunos32x86/squeak.stack.spur/build/mvm A build.sunos32x86/squeak.stack.spur/plugins.ext A build.sunos32x86/squeak.stack.spur/plugins.int A build.sunos64x64/HowToBuild A build.sunos64x64/squeak.cog.spur/build/mvm A build.sunos64x64/squeak.cog.spur/plugins.ext A build.sunos64x64/squeak.cog.spur/plugins.int A build.sunos64x64/squeak.stack.spur/build/mvm A build.sunos64x64/squeak.stack.spur/plugins.ext A build.sunos64x64/squeak.stack.spur/plugins.int M build.win32x86/HowToBuild M build.win32x86/bochsx64/makeem M build.win32x86/bochsx86/makeem A build.win32x86/common/MAKEALL.BAT A build.win32x86/common/MAKEASSERT.BAT A build.win32x86/common/MAKEDEBUG.BAT A build.win32x86/common/MAKEFAST.BAT M build.win32x86/common/Makefile A build.win32x86/common/Makefile.msvc A build.win32x86/common/Makefile.msvc.clang.rules A build.win32x86/common/Makefile.msvc.flags A build.win32x86/common/Makefile.msvc.msvc.rules A build.win32x86/common/Makefile.msvc.plugin A build.win32x86/common/Makefile.msvc.rules A build.win32x86/common/Makefile.msvc.tools M build.win32x86/common/Makefile.plugin M build.win32x86/common/Makefile.rules M build.win32x86/common/Makefile.tools A build.win32x86/common/SETPATH.BAT M build.win32x86/makeall M build.win32x86/makeallinstall M build.win32x86/makeproduct M build.win32x86/makeproductinstall M build.win32x86/newspeak.cog.spur/Makefile M build.win32x86/newspeak.cog.spur/mvm M build.win32x86/newspeak.cog.spur/nsvm.exe.manifest M build.win32x86/newspeak.cog.spur/plugins.int M build.win32x86/newspeak.stack.spur/Makefile M build.win32x86/newspeak.stack.spur/mvm M build.win32x86/newspeak.stack.spur/nsvm.exe.manifest M build.win32x86/newspeak.stack.spur/plugins.int M build.win32x86/pharo.cog.spur.lowcode/Makefile M build.win32x86/pharo.cog.spur.lowcode/Pharo.exe.manifest M build.win32x86/pharo.cog.spur.lowcode/mvm M build.win32x86/pharo.cog.spur.lowcode/plugins.ext M build.win32x86/pharo.cog.spur.lowcode/plugins.int M build.win32x86/pharo.cog.spur/Makefile M build.win32x86/pharo.cog.spur/Pharo.exe.manifest M build.win32x86/pharo.cog.spur/mvm M build.win32x86/pharo.cog.spur/plugins.ext M build.win32x86/pharo.cog.spur/plugins.int A build.win32x86/pharo.sista.spur/Makefile A build.win32x86/pharo.sista.spur/Pharo.def.in A build.win32x86/pharo.sista.spur/Pharo.exe.manifest A build.win32x86/pharo.sista.spur/Pharo.ico A build.win32x86/pharo.sista.spur/Pharo.rc A build.win32x86/pharo.sista.spur/mvm A build.win32x86/pharo.sista.spur/plugins.ext A build.win32x86/pharo.sista.spur/plugins.int A build.win32x86/pharo.stack.spur/Makefile A build.win32x86/pharo.stack.spur/Pharo.def.in A build.win32x86/pharo.stack.spur/Pharo.exe.manifest A build.win32x86/pharo.stack.spur/Pharo.ico A build.win32x86/pharo.stack.spur/Pharo.rc A build.win32x86/pharo.stack.spur/mvm A build.win32x86/pharo.stack.spur/plugins.ext A build.win32x86/pharo.stack.spur/plugins.int M build.win32x86/squeak.cog.spur.lowcode/Croquet.exe.manifest M build.win32x86/squeak.cog.spur.lowcode/Makefile M build.win32x86/squeak.cog.spur.lowcode/Squeak.exe.manifest M build.win32x86/squeak.cog.spur.lowcode/mvm M build.win32x86/squeak.cog.spur.lowcode/plugins.ext M build.win32x86/squeak.cog.spur.lowcode/plugins.int M build.win32x86/squeak.cog.spur/Croquet.exe.manifest M build.win32x86/squeak.cog.spur/Makefile M build.win32x86/squeak.cog.spur/Squeak.exe.manifest M build.win32x86/squeak.cog.spur/mvm M build.win32x86/squeak.cog.spur/plugins.ext M build.win32x86/squeak.cog.spur/plugins.int M build.win32x86/squeak.cog.v3/Croquet.exe.manifest M build.win32x86/squeak.cog.v3/Makefile M build.win32x86/squeak.cog.v3/Squeak.exe.manifest M build.win32x86/squeak.cog.v3/mvm M build.win32x86/squeak.cog.v3/plugins.ext M build.win32x86/squeak.cog.v3/plugins.int M build.win32x86/squeak.sista.spur/Croquet.exe.manifest M build.win32x86/squeak.sista.spur/Makefile M build.win32x86/squeak.sista.spur/Squeak.exe.manifest M build.win32x86/squeak.sista.spur/mvm M build.win32x86/squeak.sista.spur/plugins.ext M build.win32x86/squeak.sista.spur/plugins.int M build.win32x86/squeak.stack.spur/Croquet.exe.manifest M build.win32x86/squeak.stack.spur/Makefile M build.win32x86/squeak.stack.spur/Squeak.exe.manifest M build.win32x86/squeak.stack.spur/mvm M build.win32x86/squeak.stack.spur/plugins.ext M build.win32x86/squeak.stack.spur/plugins.int M build.win32x86/squeak.stack.v3/Croquet.exe.manifest M build.win32x86/squeak.stack.v3/Makefile M build.win32x86/squeak.stack.v3/Squeak.exe.manifest M build.win32x86/squeak.stack.v3/mvm M build.win32x86/squeak.stack.v3/plugins.ext M build.win32x86/squeak.stack.v3/plugins.int M build.win32x86/third-party/Makefile.freetype2 M build.win32x86/third-party/Makefile.openssl M build.win64x64/HowToBuild A build.win64x64/common/MAKEALL.BAT A build.win64x64/common/MAKEASSERT.BAT A build.win64x64/common/MAKEDEBUG.BAT A build.win64x64/common/MAKEFAST.BAT M build.win64x64/common/Makefile M build.win64x64/common/Makefile.lib.extra A build.win64x64/common/Makefile.msvc A build.win64x64/common/Makefile.msvc.clang.rules A build.win64x64/common/Makefile.msvc.flags A build.win64x64/common/Makefile.msvc.plugin A build.win64x64/common/Makefile.msvc.rules A build.win64x64/common/Makefile.msvc.tools M build.win64x64/common/Makefile.plugin M build.win64x64/common/Makefile.rules M build.win64x64/common/Makefile.tools A build.win64x64/common/SETPATH.BAT M build.win64x64/makeall M build.win64x64/makeallinstall M build.win64x64/makeproduct M build.win64x64/makeproductinstall M build.win64x64/newspeak.cog.spur/Makefile M build.win64x64/newspeak.cog.spur/mvm M build.win64x64/newspeak.cog.spur/nsvm.exe.manifest M build.win64x64/newspeak.cog.spur/plugins.int M build.win64x64/newspeak.stack.spur/Makefile M build.win64x64/newspeak.stack.spur/mvm M build.win64x64/newspeak.stack.spur/nsvm.exe.manifest M build.win64x64/newspeak.stack.spur/plugins.int M build.win64x64/pharo.cog.spur/Makefile M build.win64x64/pharo.cog.spur/Pharo.exe.manifest M build.win64x64/pharo.cog.spur/mvm M build.win64x64/pharo.cog.spur/plugins.ext M build.win64x64/pharo.cog.spur/plugins.int M build.win64x64/pharo.stack.spur/Makefile M build.win64x64/pharo.stack.spur/Pharo.exe.manifest M build.win64x64/pharo.stack.spur/mvm M build.win64x64/pharo.stack.spur/plugins.ext M build.win64x64/pharo.stack.spur/plugins.int M build.win64x64/squeak.cog.spur/Croquet.exe.manifest M build.win64x64/squeak.cog.spur/Makefile M build.win64x64/squeak.cog.spur/Squeak.exe.manifest M build.win64x64/squeak.cog.spur/mvm M build.win64x64/squeak.cog.spur/plugins.ext M build.win64x64/squeak.cog.spur/plugins.int M build.win64x64/squeak.stack.spur/Croquet.exe.manifest M build.win64x64/squeak.stack.spur/Makefile M build.win64x64/squeak.stack.spur/Squeak.exe.manifest M build.win64x64/squeak.stack.spur/mvm M build.win64x64/squeak.stack.spur/plugins.ext M build.win64x64/squeak.stack.spur/plugins.int M build.win64x64/third-party/Makefile.cairo M build.win64x64/third-party/Makefile.freetype2 M build.win64x64/third-party/Makefile.libgit2 M build.win64x64/third-party/Makefile.libpng M build.win64x64/third-party/Makefile.libsdl2 M build.win64x64/third-party/Makefile.libssh2 M build.win64x64/third-party/Makefile.openssl M build.win64x64/third-party/Makefile.pixman A cmake/Cairo.cmake A cmake/CompleteBundle.cmake.in A cmake/CreateBundle.sh.in A cmake/FT2Plugin.cmake A cmake/FixCygwinInstallPermissions.cmake.in A cmake/FixCygwinInstallPermissions.sh.in A cmake/FreeType2.cmake A cmake/LibGit2.cmake A cmake/LibPNG.cmake A cmake/LibSSH2.cmake A cmake/Mpeg3Plugin.cmake A cmake/OpenSSL.cmake A cmake/OpenSSL.mac-install.sh.in A cmake/Pixman.cmake A cmake/PkgConfig.cmake A cmake/Plugins.cmake A cmake/PluginsCommon.cmake A cmake/PluginsMacros.cmake A cmake/PluginsPharo.cmake A cmake/PluginsSqueak.cmake A cmake/SDL2.cmake A cmake/ThirdPartyDependencies.cmake A cmake/ThirdPartyDependenciesCommon.cmake A cmake/ThirdPartyDependenciesMacros.cmake A cmake/ThirdPartyDependenciesPharo.cmake A cmake/ThirdPartyDependenciesSqueak.cmake A cmake/ThirdPartyDependencyInstallScript.cmake.in A cmake/WindowsRuntimeLibraries.cmake A cmake/Zlib.cmake A deploy/bintray-cleanup.sh A deploy/bintray.json A deploy/bintray.sh A deploy/filter-exec.sh A deploy/newspeak/sign.cer.enc A deploy/newspeak/sign.p12.enc A deploy/pack-vm.sh A deploy/packaging/Makefile.debian A deploy/packaging/editpharoinstall.sh A deploy/packaging/pharo6-sources-files/debian/changelog A deploy/packaging/pharo6-sources-files/debian/compat A deploy/packaging/pharo6-sources-files/debian/control A deploy/packaging/pharo6-sources-files/debian/copyright A deploy/packaging/pharo6-sources-files/debian/pharo6-sources-files.install A deploy/packaging/pharo6-sources-files/debian/pharo6-sources-files.links A deploy/packaging/pharo6-sources-files/debian/rules A deploy/packaging/pharo6-sources-files/debian/source/format A deploy/packaging/pharo7-ui-common.spec A deploy/packaging/pharo7-vm-core/debian/changelog A deploy/packaging/pharo7-vm-core/debian/compat A deploy/packaging/pharo7-vm-core/debian/control A deploy/packaging/pharo7-vm-core/debian/copyright A deploy/packaging/pharo7-vm-core/debian/pharo7-32-ui.install A deploy/packaging/pharo7-vm-core/debian/pharo7-32.1 A deploy/packaging/pharo7-vm-core/debian/pharo7-32.install A deploy/packaging/pharo7-vm-core/debian/pharo7-32.manpages A deploy/packaging/pharo7-vm-core/debian/pharo7-64-ui.install A deploy/packaging/pharo7-vm-core/debian/pharo7-64.1 A deploy/packaging/pharo7-vm-core/debian/pharo7-64.install A deploy/packaging/pharo7-vm-core/debian/pharo7-64.manpages A deploy/packaging/pharo7-vm-core/debian/pharo7-ui-common.install A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32 A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-32-ui A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64 A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/bin/pharo7-64-ui A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-32-ui.desktop A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/applications/pharo7-64-ui.desktop A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/16x16/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/256x256/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/32x32/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/icons/hicolor/48x48/apps/pharo7.png A deploy/packaging/pharo7-vm-core/debian/pharo7-vm-core-resources/usr/share/mime/packages/pharo7-image.xml A deploy/packaging/pharo7-vm-core/debian/rules A deploy/packaging/pharo7-vm-core/debian/source/format A deploy/packaging/pharo7-vm-core/debian/source/include-binaries M deploy/pharo/deploy-files.pharo.org.sh M deploy/pharo/deploy-key.sh A deploy/pharo/deploy.sh M deploy/pharo/filter-exec.sh M deploy/pharo/pack-vm.sh A deploy/pharo/pharo.cer.enc A deploy/pharo/pharo.p12.enc A deploy/resize_display A deploy/squeak/sign.cer.enc A deploy/squeak/sign.p12.enc A image/BuildPharo6VMMakerImage.st M image/BuildSqueakSpurTrunkVMMakerImage.st A image/LoadFFI.st M image/LoadReader.st M image/LoadSistaSupport.st R image/Object-performwithwithwithwithwith.st A image/PharoWorkspace.text M image/README A image/SaveAsSista.st M image/Slang Test Workspace.text A image/Source Generation Workspace.text M image/VM Simulation Workspace.text M image/Workspace.text M image/attic/envvars.sh M image/attic/getGoodCogVM.sh M image/attic/getGoodSpurNsvm.sh M image/attic/getGoodSpurVM.sh M image/attic/makegetnsvmscripts.sh M image/attic/makegetvmscripts.sh A image/buildsistareader64image.sh M image/buildsistareaderimage.sh M image/buildspurtrunk64image.sh M image/buildspurtrunkreader64image.sh M image/buildspurtrunkreaderimage.sh A image/buildspurtrunkvmmaker64image.sh M image/buildspurtrunkvmmakerimage.sh M image/ensureSqueakV50sources.sh M image/envvars.sh A image/getGoodSpur64VM.sh M image/getGoodSpurVM.sh M image/getlatesttrunk64image.sh M image/getlatesttrunkimage.sh M image/getsqueak50.sh M image/old/buildsqueak45vmmakerimage.sh M image/old/buildsqueakcmakeimage.sh M image/old/buildsqueaktrunkvmmakerimage.sh M image/old/ensureSqueakV41sources.sh M image/old/getsqueak45.sh M image/resizesqueakwindow.sh A image/updatespur64SistaV1image.sh A image/updatespur64image.sh M image/updatespurimage.sh M image/updatevmmakerimage.sh M image/uploadspurimage.sh A include/OpenSmalltalkVM.h M nsspur64src/vm/cogit.c M nsspur64src/vm/cogit.h A nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cogmethod.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspur64src/vm/interp.h M nsspur64src/vm/nssendcache.h M nsspur64src/vm/vmCallback.h M nsspursrc/vm/cogit.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cogmethod.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspursrc/vm/interp.h M nsspursrc/vm/nssendcache.h M nsspursrc/vm/vmCallback.h M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstack64src/vm/interp.h M nsspurstack64src/vm/vmCallback.h M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M nsspurstacksrc/vm/interp.h M nsspurstacksrc/vm/vmCallback.h M platforms/Cross/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.h M platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c M platforms/Cross/plugins/BochsIA32Plugin/BochsIA32Plugin.h M platforms/Cross/plugins/BochsIA32Plugin/sqBochsIA32Plugin.cpp M platforms/Cross/plugins/BochsX64Plugin/BochsX64Plugin.h M platforms/Cross/plugins/BochsX64Plugin/sqBochsX64Plugin.cpp M platforms/Cross/plugins/CameraPlugin/CameraPlugin.h M platforms/Cross/plugins/CroquetPlugin/CroquetPlugin.h R platforms/Cross/plugins/ExuperyPlugin/ExuperyPlugin.h A platforms/Cross/plugins/FileAttributesPlugin/faCommon.c A platforms/Cross/plugins/FileAttributesPlugin/faCommon.h A platforms/Cross/plugins/FileAttributesPlugin/faConstants.h M platforms/Cross/plugins/FilePlugin/FilePlugin.h M platforms/Cross/plugins/FilePlugin/sqFilePluginBasicPrims.c M platforms/Cross/plugins/FloatMathPlugin/FloatMathPlugin.h R platforms/Cross/plugins/FloatMathPlugin/FloatMathPlugin.st M platforms/Cross/plugins/FloatMathPlugin/acos.c M platforms/Cross/plugins/FloatMathPlugin/acosh.c M platforms/Cross/plugins/FloatMathPlugin/asin.c M platforms/Cross/plugins/FloatMathPlugin/asinh.c M platforms/Cross/plugins/FloatMathPlugin/atan.c M platforms/Cross/plugins/FloatMathPlugin/atan2.c M platforms/Cross/plugins/FloatMathPlugin/atanh.c M platforms/Cross/plugins/FloatMathPlugin/copysign.c M platforms/Cross/plugins/FloatMathPlugin/cos.c M platforms/Cross/plugins/FloatMathPlugin/cosh.c M platforms/Cross/plugins/FloatMathPlugin/exp.c M platforms/Cross/plugins/FloatMathPlugin/expm1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/MD5 R platforms/Cross/plugins/FloatMathPlugin/fdlibm/changes R platforms/Cross/plugins/FloatMathPlugin/fdlibm/configure R platforms/Cross/plugins/FloatMathPlugin/fdlibm/configure.in R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_acos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_acosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_asin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_atan2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_atanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_cosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_exp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_fmod.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_gamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_gamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_hypot.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_j0.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_j1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_jn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_lgamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_lgamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_log.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_log10.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_pow.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_rem_pio2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_remainder.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_scalb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_sinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/e_sqrt.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/fdlibm.h R platforms/Cross/plugins/FloatMathPlugin/fdlibm/index R platforms/Cross/plugins/FloatMathPlugin/fdlibm/index.html R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_cos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_rem_pio2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_sin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_standard.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/k_tan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/makefile R platforms/Cross/plugins/FloatMathPlugin/fdlibm/makefile.in R platforms/Cross/plugins/FloatMathPlugin/fdlibm/readme R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_asinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_atan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_cbrt.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ceil.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_copysign.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_cos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_erf.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_expm1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_fabs.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_finite.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_floor.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_frexp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ilogb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_isnan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_ldexp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_lib_version.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_log1p.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_logb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_matherr.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_modf.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_nextafter.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_rint.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_scalbn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_signgam.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_significand.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_sin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_tan.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/s_tanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_acos.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_acosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_asin.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_atan2.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_atanh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_cosh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_exp.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_fmod.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_gamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_gamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_hypot.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_j0.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_j1.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_jn.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_lgamma.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_lgamma_r.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_log.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_log10.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_pow.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_remainder.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_scalb.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_sinh.c R platforms/Cross/plugins/FloatMathPlugin/fdlibm/w_sqrt.c M platforms/Cross/plugins/FloatMathPlugin/finite.c M platforms/Cross/plugins/FloatMathPlugin/fmod.c M platforms/Cross/plugins/FloatMathPlugin/hypot.c M platforms/Cross/plugins/FloatMathPlugin/ieee754names.h M platforms/Cross/plugins/FloatMathPlugin/isnan.c M platforms/Cross/plugins/FloatMathPlugin/k_cos.c M platforms/Cross/plugins/FloatMathPlugin/k_rem_pio2.c M platforms/Cross/plugins/FloatMathPlugin/k_sin.c M platforms/Cross/plugins/FloatMathPlugin/k_tan.c M platforms/Cross/plugins/FloatMathPlugin/ldexp.c M platforms/Cross/plugins/FloatMathPlugin/log.c M platforms/Cross/plugins/FloatMathPlugin/log10.c M platforms/Cross/plugins/FloatMathPlugin/log1p.c M platforms/Cross/plugins/FloatMathPlugin/modf.c M platforms/Cross/plugins/FloatMathPlugin/pow.c M platforms/Cross/plugins/FloatMathPlugin/rem_pio2.c M platforms/Cross/plugins/FloatMathPlugin/rint.c M platforms/Cross/plugins/FloatMathPlugin/scalb.c M platforms/Cross/plugins/FloatMathPlugin/scalbn.c M platforms/Cross/plugins/FloatMathPlugin/sin.c M platforms/Cross/plugins/FloatMathPlugin/sinh.c M platforms/Cross/plugins/FloatMathPlugin/sqrt.c M platforms/Cross/plugins/FloatMathPlugin/tan.c M platforms/Cross/plugins/FloatMathPlugin/tanh.c M platforms/Cross/plugins/GdbARMPlugin/GdbARMPlugin.h M platforms/Cross/plugins/GdbARMPlugin/HowToBuild R platforms/Cross/plugins/GdbARMPlugin/Makefile R platforms/Cross/plugins/GdbARMPlugin/Makefile.unix R platforms/Cross/plugins/GdbARMPlugin/Makefile.win32 R platforms/Cross/plugins/GdbARMPlugin/README M platforms/Cross/plugins/GdbARMPlugin/sqGdbARMPlugin.c A platforms/Cross/plugins/GdbARMv8Plugin/GdbARMv8Plugin.h A platforms/Cross/plugins/GdbARMv8Plugin/HowToBuild A platforms/Cross/plugins/GdbARMv8Plugin/sqGdbARMv8Plugin.c M platforms/Cross/plugins/HostWindowPlugin/HostWindowPlugin.h M platforms/Cross/plugins/IA32ABI/arm32abicc.c A platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/dabusiness.h M platforms/Cross/plugins/IA32ABI/dabusinessARM.h A platforms/Cross/plugins/IA32ABI/dabusinessARM32.h A platforms/Cross/plugins/IA32ABI/dabusinessARM64.h M platforms/Cross/plugins/IA32ABI/dabusinessPostLogic.h M platforms/Cross/plugins/IA32ABI/dabusinessppc.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicDouble.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicFloat.h M platforms/Cross/plugins/IA32ABI/dabusinessppcPostLogicInteger.h M platforms/Cross/plugins/IA32ABI/ia32abi.h M platforms/Cross/plugins/IA32ABI/ia32abicc.c M platforms/Cross/plugins/IA32ABI/ppc32abicc.c M platforms/Cross/plugins/IA32ABI/x64sysvabicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/plugins/IA32ABI/xabicc.c R platforms/Cross/plugins/JPEGReadWriter2Plugin/Error.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/README.6b2 R platforms/Cross/plugins/JPEGReadWriter2Plugin/ReadMe.txt M platforms/Cross/plugins/JPEGReadWriter2Plugin/jdphuff.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/jmorecfg.h M platforms/Cross/plugins/JPEGReadWriter2Plugin/sqJPEGReadWriter2Plugin.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/header.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/layer1.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/layer3.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/mpeg3audio.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/audio/pcm.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/bitstream.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/changesForSqueak.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/libmpeg3.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3atrack.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3atrack.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3demux.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3io.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3private.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3protos.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3title.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3vtrack.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/mpeg3vtrack.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/getpicture.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/headers.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/macroblocks.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/motion.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3video.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/mpeg3videoprotos.h M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/output.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/reconstruct.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/seek.c M platforms/Cross/plugins/Mpeg3Plugin/libmpeg/video/slice.h M platforms/Cross/plugins/SecurityPlugin/SecurityPlugin.h M platforms/Cross/plugins/SerialPlugin/SerialPlugin.h A platforms/Cross/plugins/SerialPlugin/sqNullSerialPort.c M platforms/Cross/plugins/Squeak3D/b3d.h M platforms/Cross/plugins/Squeak3D/b3dAlloc.h M platforms/Cross/plugins/Squeak3D/b3dDraw.c M platforms/Cross/plugins/Squeak3D/b3dInit.c M platforms/Cross/plugins/Squeak3D/b3dMain.c M platforms/Cross/plugins/Squeak3D/b3dRemap.c M platforms/Cross/plugins/Squeak3D/b3dTypes.h M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncs.c M platforms/Cross/plugins/sqPluginsSCCSVersion.h A platforms/Cross/third-party/fdlibm/Makefile A platforms/Cross/third-party/fdlibm/Makefile.in A platforms/Cross/third-party/fdlibm/Makefile.remote A platforms/Cross/third-party/fdlibm/README A platforms/Cross/third-party/fdlibm/README.md A platforms/Cross/third-party/fdlibm/configure A platforms/Cross/third-party/fdlibm/configure.in A platforms/Cross/third-party/fdlibm/e_acos.c A platforms/Cross/third-party/fdlibm/e_acosh.c A platforms/Cross/third-party/fdlibm/e_asin.c A platforms/Cross/third-party/fdlibm/e_atan2.c A platforms/Cross/third-party/fdlibm/e_atanh.c A platforms/Cross/third-party/fdlibm/e_cosh.c A platforms/Cross/third-party/fdlibm/e_exp.c A platforms/Cross/third-party/fdlibm/e_fmod.c A platforms/Cross/third-party/fdlibm/e_gamma.c A platforms/Cross/third-party/fdlibm/e_gamma_r.c A platforms/Cross/third-party/fdlibm/e_hypot.c A platforms/Cross/third-party/fdlibm/e_j0.c A platforms/Cross/third-party/fdlibm/e_j1.c A platforms/Cross/third-party/fdlibm/e_jn.c A platforms/Cross/third-party/fdlibm/e_lgamma.c A platforms/Cross/third-party/fdlibm/e_lgamma_r.c A platforms/Cross/third-party/fdlibm/e_log.c A platforms/Cross/third-party/fdlibm/e_log10.c A platforms/Cross/third-party/fdlibm/e_pow.c A platforms/Cross/third-party/fdlibm/e_rem_pio2.c A platforms/Cross/third-party/fdlibm/e_remainder.c A platforms/Cross/third-party/fdlibm/e_scalb.c A platforms/Cross/third-party/fdlibm/e_sinh.c A platforms/Cross/third-party/fdlibm/e_sqrt.c A platforms/Cross/third-party/fdlibm/fdlibm.h A platforms/Cross/third-party/fdlibm/generate_defines A platforms/Cross/third-party/fdlibm/k_cos.c A platforms/Cross/third-party/fdlibm/k_rem_pio2.c A platforms/Cross/third-party/fdlibm/k_sin.c A platforms/Cross/third-party/fdlibm/k_standard.c A platforms/Cross/third-party/fdlibm/k_tan.c A platforms/Cross/third-party/fdlibm/s_asinh.c A platforms/Cross/third-party/fdlibm/s_atan.c A platforms/Cross/third-party/fdlibm/s_cbrt.c A platforms/Cross/third-party/fdlibm/s_ceil.c A platforms/Cross/third-party/fdlibm/s_copysign.c A platforms/Cross/third-party/fdlibm/s_cos.c A platforms/Cross/third-party/fdlibm/s_erf.c A platforms/Cross/third-party/fdlibm/s_expm1.c A platforms/Cross/third-party/fdlibm/s_fabs.c A platforms/Cross/third-party/fdlibm/s_finite.c A platforms/Cross/third-party/fdlibm/s_floor.c A platforms/Cross/third-party/fdlibm/s_frexp.c A platforms/Cross/third-party/fdlibm/s_ilogb.c A platforms/Cross/third-party/fdlibm/s_isnan.c A platforms/Cross/third-party/fdlibm/s_ldexp.c A platforms/Cross/third-party/fdlibm/s_lib_version.c A platforms/Cross/third-party/fdlibm/s_log1p.c A platforms/Cross/third-party/fdlibm/s_logb.c A platforms/Cross/third-party/fdlibm/s_matherr.c A platforms/Cross/third-party/fdlibm/s_modf.c A platforms/Cross/third-party/fdlibm/s_nextafter.c A platforms/Cross/third-party/fdlibm/s_rint.c A platforms/Cross/third-party/fdlibm/s_scalbn.c A platforms/Cross/third-party/fdlibm/s_signgam.c A platforms/Cross/third-party/fdlibm/s_significand.c A platforms/Cross/third-party/fdlibm/s_sin.c A platforms/Cross/third-party/fdlibm/s_tan.c A platforms/Cross/third-party/fdlibm/s_tanh.c A platforms/Cross/third-party/fdlibm/w_acos.c A platforms/Cross/third-party/fdlibm/w_acosh.c A platforms/Cross/third-party/fdlibm/w_asin.c A platforms/Cross/third-party/fdlibm/w_atan2.c A platforms/Cross/third-party/fdlibm/w_atanh.c A platforms/Cross/third-party/fdlibm/w_cosh.c A platforms/Cross/third-party/fdlibm/w_exp.c A platforms/Cross/third-party/fdlibm/w_fmod.c A platforms/Cross/third-party/fdlibm/w_gamma.c A platforms/Cross/third-party/fdlibm/w_gamma_r.c A platforms/Cross/third-party/fdlibm/w_hypot.c A platforms/Cross/third-party/fdlibm/w_j0.c A platforms/Cross/third-party/fdlibm/w_j1.c A platforms/Cross/third-party/fdlibm/w_jn.c A platforms/Cross/third-party/fdlibm/w_lgamma.c A platforms/Cross/third-party/fdlibm/w_lgamma_r.c A platforms/Cross/third-party/fdlibm/w_log.c A platforms/Cross/third-party/fdlibm/w_log10.c A platforms/Cross/third-party/fdlibm/w_pow.c A platforms/Cross/third-party/fdlibm/w_remainder.c A platforms/Cross/third-party/fdlibm/w_scalb.c A platforms/Cross/third-party/fdlibm/w_sinh.c A platforms/Cross/third-party/fdlibm/w_sqrt.c A platforms/Cross/util/mkIntPluginIndices.sh A platforms/Cross/util/mkNamedPrims.sh M platforms/Cross/vm/dispdbg.h M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqAtomicOps.h A platforms/Cross/vm/sqCircularQueue.h M platforms/Cross/vm/sqCogStackAlignment.h A platforms/Cross/vm/sqMathShim.h M platforms/Cross/vm/sqMemoryAccess.h M platforms/Cross/vm/sqMemoryFence.h M platforms/Cross/vm/sqNamedPrims.c A platforms/Cross/vm/sqPath.c A platforms/Cross/vm/sqPath.h M platforms/Cross/vm/sqSCCSVersion.h A platforms/Cross/vm/sqSetjmpShim.h A platforms/Cross/vm/sqTextEncoding.c A platforms/Cross/vm/sqTextEncoding.h M platforms/Cross/vm/sqTicker.c M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/Mac OS/plugins/AsynchFilePlugin/sqMacAsyncFilePrims.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/DirectoryCopy.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/FSpCompat.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/FileCopy.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/FullPath.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/IterateDirectory.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/MoreDesktopMgr.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/MoreFiles.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/MoreFilesExtras.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/Optimization.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/OptimizationEnd.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/C Headers/Search.h R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/MoreFilesReadMe R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/DirectoryCopy.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/FSpCompat.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/FileCopy.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/FullPath.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/IterateDirectory.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/MoreDesktopMgr.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/MoreFiles.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/MoreFilesExtras.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/PascalInterfaces/Search.p R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/DirectoryCopy.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/FSpCompat.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/FileCopy.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/FullPath.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/IterateDirectory.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/MoreDesktopMgr.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/MoreFiles.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/MoreFilesExtras.c R platforms/Mac OS/plugins/FileCopyPlugin/MoreFiles 1.5/Sources/Search.c M platforms/Mac OS/plugins/HostWindowPlugin/sqMacHostWindow.c M platforms/Mac OS/plugins/HostWindowPlugin/sqMacHostWindow.h M platforms/Mac OS/vm/Developer/sqMacMinimal.c M platforms/Mac OS/vm/config.h M platforms/Mac OS/vm/osExports.c M platforms/Mac OS/vm/sqMacMain.c M platforms/Mac OS/vm/sqMacMain.h M platforms/Mac OS/vm/sqMacMemory.c M platforms/Mac OS/vm/sqMacNSPlugin.c M platforms/Mac OS/vm/sqMacTime.c M platforms/Mac OS/vm/sqMacTime.h M platforms/Mac OS/vm/sqMacUnixCommandLineInterface.c M platforms/Mac OS/vm/sqPlatformSpecific.h M platforms/RiscOS/plugins/FilePlugin/sqFilePluginBasicPrims.c R platforms/RiscOS/plugins/JPEGReadWriter2Plugin/stub M platforms/RiscOS/vm/sqRPCMain.c M platforms/iOS/plugins/AioPlugin/Makefile M platforms/iOS/plugins/AsynchFilePlugin/Makefile A platforms/iOS/plugins/B3DAcceleratorPlugin/B3DMetalShaders.metal M platforms/iOS/plugins/B3DAcceleratorPlugin/Makefile M platforms/iOS/plugins/B3DAcceleratorPlugin/sqMacOpenGL.m A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.h A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalRenderer.m A platforms/iOS/plugins/B3DAcceleratorPlugin/sqMetalStructures.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/Makefile A platforms/iOS/plugins/B3DAcceleratorPlugin32/sqMacOpenGL.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/sqMacOpenGL.m A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGL.c A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGL.h A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacOpenGLInfo.c A platforms/iOS/plugins/B3DAcceleratorPlugin32/zzz/sqMacUIConstants.h M platforms/iOS/plugins/BochsIA32Plugin/Makefile M platforms/iOS/plugins/BochsX64Plugin/Makefile M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m R platforms/iOS/plugins/CameraPlugin/sqCamera.h A platforms/iOS/plugins/FileAttributesPlugin/Makefile M platforms/iOS/plugins/FileCopyPlugin/Makefile A platforms/iOS/plugins/FilePlugin/Makefile A platforms/iOS/plugins/FilePlugin/sqUnixFile.c M platforms/iOS/plugins/GdbARMPlugin/Makefile A platforms/iOS/plugins/GdbARMv8Plugin/Makefile M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.h M platforms/iOS/plugins/HostWindowPlugin/sqMacHostWindow.m M platforms/iOS/plugins/Mpeg3Plugin/Makefile M platforms/iOS/plugins/ObjectiveCPlugin/Makefile M platforms/iOS/plugins/SecurityPlugin/Makefile R platforms/iOS/plugins/SecurityPlugin/sqMacSecurity.c M platforms/iOS/plugins/SerialPlugin/Makefile R platforms/iOS/plugins/SerialPlugin/sqMacSerialPort.c M platforms/iOS/plugins/SocketPlugin/Makefile M platforms/iOS/plugins/SoundPlugin/Makefile M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.h M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudioAPI.m M platforms/iOS/plugins/SqueakSSL/Makefile M platforms/iOS/plugins/SqueakSSL/sqMacSSL.c M platforms/iOS/plugins/UnixOSProcessPlugin/Makefile M platforms/iOS/vm/Common/Classes/sqMacV2Time.c M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.h M platforms/iOS/vm/Common/Classes/sqSqueakAppDelegate.m M platforms/iOS/vm/Common/Classes/sqSqueakEventsAPI.m M platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryAPI.m M platforms/iOS/vm/Common/Classes/sqSqueakFileDirectoryInterface.m M platforms/iOS/vm/Common/Classes/sqSqueakMainApp.m M platforms/iOS/vm/Common/Classes/sqSqueakNullScreenAndWindow.m M platforms/iOS/vm/Common/Classes/sqSqueakScreenAPI.m M platforms/iOS/vm/Common/main.m M platforms/iOS/vm/Common/sqDummyaio.h M platforms/iOS/vm/Common/sqMacV2Memory.c M platforms/iOS/vm/English.lproj/MainMenu-cg.xib A platforms/iOS/vm/English.lproj/MainMenu-opengl.xib M platforms/iOS/vm/English.lproj/MainMenu.xib M platforms/iOS/vm/OSX/SqViewBitmapConversion.m A platforms/iOS/vm/OSX/SqViewBitmapConversion.m.inc M platforms/iOS/vm/OSX/SqViewClut.m A platforms/iOS/vm/OSX/SqViewClut.m.inc M platforms/iOS/vm/OSX/Squeak-Info.plist A platforms/iOS/vm/OSX/SqueakMainShaders.metal M platforms/iOS/vm/OSX/SqueakOSXAppDelegate.m M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m M platforms/iOS/vm/OSX/sqMacV2Window.m M platforms/iOS/vm/OSX/sqPlatformSpecific.h M platforms/iOS/vm/OSX/sqSqueakMainApplication+screen.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/iOS/vm/OSX/sqSqueakOSXCGView.h M platforms/iOS/vm/OSX/sqSqueakOSXCGView.m M platforms/iOS/vm/OSX/sqSqueakOSXDropAPI.m A platforms/iOS/vm/OSX/sqSqueakOSXHeadlessView.h A platforms/iOS/vm/OSX/sqSqueakOSXHeadlessView.m A platforms/iOS/vm/OSX/sqSqueakOSXMetalView.h A platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.h M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m M platforms/iOS/vm/OSX/sqSqueakOSXScreenAndWindow.m A platforms/iOS/vm/OSX/sqSqueakOSXViewFactory.h A platforms/iOS/vm/OSX/sqSqueakOSXViewFactory.m M platforms/iOS/vm/SqueakPureObjc_Prefix.pch M platforms/iOS/vm/iPhone/Classes/SqueakUIView.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication+attributes.m M platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication.m M platforms/iOS/vm/iPhone/sqDummyaio.c M platforms/iOS/vm/iPhone/sqPlatformSpecific.h A platforms/minheadless/common/English.lproj/Newspeak-Localizable.strings A platforms/minheadless/common/English.lproj/Pharo-Localizable.strings A platforms/minheadless/common/English.lproj/Squeak-Localizable.strings A platforms/minheadless/common/debug.h A platforms/minheadless/common/glibc.h A platforms/minheadless/common/mac-alias.inc A platforms/minheadless/common/sqConfig.h A platforms/minheadless/common/sqEventCommon.c A platforms/minheadless/common/sqEventCommon.h A platforms/minheadless/common/sqExternalPrimitives.c A platforms/minheadless/common/sqExternalPrimitives.c.orig A platforms/minheadless/common/sqGnu.h A platforms/minheadless/common/sqInternalPrimitives.c A platforms/minheadless/common/sqMain.c A platforms/minheadless/common/sqNamedPrims.h A platforms/minheadless/common/sqPlatformSpecific.h A platforms/minheadless/common/sqPlatformSpecificCommon.h A platforms/minheadless/common/sqPrinting.c A platforms/minheadless/common/sqVirtualMachineInterface.c A platforms/minheadless/common/sqWindow-Dispatch.c A platforms/minheadless/common/sqWindow-Null.c A platforms/minheadless/common/sqWindow.h A platforms/minheadless/common/sqaio.h A platforms/minheadless/common/version.c A platforms/minheadless/config.h.in A platforms/minheadless/generic/sqPlatformSpecific-Generic.c A platforms/minheadless/generic/sqPlatformSpecific-Generic.h A platforms/minheadless/mac/sqMain.m A platforms/minheadless/sdl2-window/sqWindow-SDL2.c A platforms/minheadless/startup.sh.in A platforms/minheadless/unix/BlueSistaSqueak.icns A platforms/minheadless/unix/GreenCogSqueak.icns A platforms/minheadless/unix/NewspeakDocuments.icns A platforms/minheadless/unix/NewspeakVirtualMachine.icns A platforms/minheadless/unix/Pharo-Info.plist A platforms/minheadless/unix/Pharo.icns A platforms/minheadless/unix/PharoChanges.icns A platforms/minheadless/unix/PharoImage.icns A platforms/minheadless/unix/PharoSources.icns A platforms/minheadless/unix/Squeak.icns A platforms/minheadless/unix/SqueakChanges.icns A platforms/minheadless/unix/SqueakGeneric.icns A platforms/minheadless/unix/SqueakImage.icns A platforms/minheadless/unix/SqueakPlugin.icns A platforms/minheadless/unix/SqueakProject.icns A platforms/minheadless/unix/SqueakScript.icns A platforms/minheadless/unix/SqueakSources.icns A platforms/minheadless/unix/aioUnix.c A platforms/minheadless/unix/sqPlatformSpecific-Unix.c A platforms/minheadless/unix/sqPlatformSpecific-Unix.h A platforms/minheadless/unix/sqUnixCharConv.c A platforms/minheadless/unix/sqUnixCharConv.h A platforms/minheadless/unix/sqUnixHeartbeat.c A platforms/minheadless/unix/sqUnixMemory.c A platforms/minheadless/unix/sqUnixSpurMemory.c A platforms/minheadless/unix/sqUnixThreads.c A platforms/minheadless/windows/resources/Pharo/Pharo.exe.manifest.in A platforms/minheadless/windows/resources/Pharo/Pharo.ico A platforms/minheadless/windows/resources/Pharo/Pharo.rc.in A platforms/minheadless/windows/resources/Squeak/GreenCogSqueak.ico A platforms/minheadless/windows/resources/Squeak/Squeak.exe.manifest.in A platforms/minheadless/windows/resources/Squeak/Squeak.rc.in A platforms/minheadless/windows/resources/Squeak/squeak2.ico A platforms/minheadless/windows/resources/Squeak/squeak3.ico A platforms/minheadless/windows/sqGnu.h A platforms/minheadless/windows/sqPlatformSpecific-Win32.c A platforms/minheadless/windows/sqPlatformSpecific-Win32.h A platforms/minheadless/windows/sqWin32.h A platforms/minheadless/windows/sqWin32Alloc.c A platforms/minheadless/windows/sqWin32Alloc.h A platforms/minheadless/windows/sqWin32Backtrace.c A platforms/minheadless/windows/sqWin32Backtrace.h A platforms/minheadless/windows/sqWin32Common.c A platforms/minheadless/windows/sqWin32Directory.c A platforms/minheadless/windows/sqWin32HandleTable.h A platforms/minheadless/windows/sqWin32Heartbeat.c A platforms/minheadless/windows/sqWin32Main.c A platforms/minheadless/windows/sqWin32SpurAlloc.c A platforms/minheadless/windows/sqWin32Stubs.c A platforms/minheadless/windows/sqWin32Threads.c A platforms/minheadless/windows/sqWin32Time.c M platforms/unix/config/Makefile.in M platforms/unix/config/acinclude.m4 M platforms/unix/config/aclocal.m4 A platforms/unix/config/ax_append_flag.m4 A platforms/unix/config/ax_cflags_warn_all.m4 A platforms/unix/config/ax_compiler_vendor.m4 M platforms/unix/config/ax_have_epoll.m4 A platforms/unix/config/ax_prepend_flag.m4 A platforms/unix/config/ax_pthread.m4 A platforms/unix/config/ax_require_defined.m4 M platforms/unix/config/bin.squeak.sh.in M platforms/unix/config/build M platforms/unix/config/config.guess M platforms/unix/config/config.h.in M platforms/unix/config/config.sub M platforms/unix/config/configure M platforms/unix/config/configure.ac M platforms/unix/config/ltmain.sh M platforms/unix/config/make.cfg.in M platforms/unix/config/make.ext.in M platforms/unix/config/make.int.in M platforms/unix/config/make.prg.in M platforms/unix/config/mkmf M platforms/unix/config/squeak.sh.in M platforms/unix/config/verstamp M platforms/unix/misc/threadValidate/sqUnixHeartbeat.c M platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.c M platforms/unix/plugins/BochsIA32Plugin/Makefile.inc M platforms/unix/plugins/BochsX64Plugin/Makefile.inc M platforms/unix/plugins/CameraPlugin/sqCamera-linux.c A platforms/unix/plugins/FileAttributesPlugin/faSupport.c A platforms/unix/plugins/FileAttributesPlugin/faSupport.h M platforms/unix/plugins/FilePlugin/sqUnixFile.c M platforms/unix/plugins/GdbARMPlugin/HowToBuild M platforms/unix/plugins/GdbARMPlugin/Makefile.inc A platforms/unix/plugins/GdbARMv8Plugin/HowToBuild A platforms/unix/plugins/GdbARMv8Plugin/Makefile.inc A platforms/unix/plugins/GdbARMv8Plugin/acinclude.m4 M platforms/unix/plugins/HostWindowPlugin/sqUnixHostWindowPlugin.c R platforms/unix/plugins/MIDIPlugin/Makefile.inc M platforms/unix/plugins/MIDIPlugin/acinclude.m4 M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c M platforms/unix/plugins/SecurityPlugin/sqUnixSecurity.c A platforms/unix/plugins/SerialPlugin/Makefile.inc M platforms/unix/plugins/SerialPlugin/sqUnixSerial.c M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c M platforms/unix/plugins/SoundPlugin/sqUnixSound.c R platforms/unix/plugins/SqueakSSL/Makefile.inc A platforms/unix/plugins/SqueakSSL/acinclude.m4 M platforms/unix/plugins/SqueakSSL/config.cmake A platforms/unix/plugins/SqueakSSL/openssl_overlay.h A platforms/unix/plugins/SqueakSSL/sqUnixLibreSSL.inc R platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.c A platforms/unix/plugins/SqueakSSL/sqUnixOpenSSL.inc A platforms/unix/plugins/SqueakSSL/sqUnixSSL.c R platforms/unix/plugins/UUIDPlugin/Makefile.inc M platforms/unix/plugins/UUIDPlugin/acinclude.m4 M platforms/unix/vm-display-Quartz/acinclude.m4 M platforms/unix/vm-display-Quartz/zzz/sqUnixQuartz.m M platforms/unix/vm-display-X11/acinclude.m4 M platforms/unix/vm-display-X11/sqUnixMozilla.c M platforms/unix/vm-display-X11/sqUnixX11.c M platforms/unix/vm-display-X11/sqUnixXdnd.c M platforms/unix/vm-display-fbdev/00_README.fbdev A platforms/unix/vm-display-fbdev/AlpineLinux-Notes.txt A platforms/unix/vm-display-fbdev/Armbian-Notes.txt A platforms/unix/vm-display-fbdev/Balloon.h A platforms/unix/vm-display-fbdev/sqUnixEvdevKeyMouse.c A platforms/unix/vm-display-fbdev/sqUnixEvdevKeycodeMap.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c M platforms/unix/vm-display-null/sqUnixDisplayNull.c R platforms/unix/vm-sound-ALSA/Makefile.inc M platforms/unix/vm-sound-ALSA/acinclude.m4 M platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c R platforms/unix/vm-sound-NAS/Makefile.inc M platforms/unix/vm-sound-NAS/acinclude.m4 M platforms/unix/vm-sound-NAS/sqUnixSoundNAS.c M platforms/unix/vm-sound-OSS/acinclude.m4 M platforms/unix/vm-sound-OSS/sqUnixSoundOSS.c R platforms/unix/vm-sound-pulse/Makefile.inc M platforms/unix/vm-sound-pulse/acinclude.m4 M platforms/unix/vm-sound-pulse/sqUnixSoundPulseAudio.c A platforms/unix/vm-sound-sndio/acinclude.m4 A platforms/unix/vm-sound-sndio/sqUnixSndioSound.c M platforms/unix/vm/Makefile.in M platforms/unix/vm/SqDisplay.h M platforms/unix/vm/acinclude.m4 M platforms/unix/vm/aio.c M platforms/unix/vm/debug.h A platforms/unix/vm/include_ucontext.h M platforms/unix/vm/osExports.c M platforms/unix/vm/sqConfig.h M platforms/unix/vm/sqPlatformSpecific.h M platforms/unix/vm/sqUnixCharConv.c M platforms/unix/vm/sqUnixEvent.c M platforms/unix/vm/sqUnixExternalPrims.c M platforms/unix/vm/sqUnixHeartbeat.c M platforms/unix/vm/sqUnixITimerHeartbeat.c M platforms/unix/vm/sqUnixITimerTickerHeartbeat.c M platforms/unix/vm/sqUnixMain.c M platforms/unix/vm/sqUnixMemory.c M platforms/unix/vm/sqUnixSpurMemory.c M platforms/unix/vm/sqUnixVMProfile.c M platforms/unix/vm/sqaio.h A platforms/win32/.editorconfig M platforms/win32/misc/Makefile.mingw32 A platforms/win32/misc/_setjmp-x64.asm A platforms/win32/misc/qedit.h M platforms/win32/plugins/AsynchFilePlugin/sqWin32AsyncFilePrims.c A platforms/win32/plugins/B3DAcceleratorPlugin/Makefile.msvc A platforms/win32/plugins/B3DAcceleratorPlugin/Makefile.plugin M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32D3D.c M platforms/win32/plugins/B3DAcceleratorPlugin/sqWin32OpenGL.c A platforms/win32/plugins/BitBltPlugin/Makefile.msvc R platforms/win32/plugins/CameraPlugin/Building Windows CameraPlugin.txt A platforms/win32/plugins/CameraPlugin/Building Windows CameraPlugini Using Visual Studio.txt R platforms/win32/plugins/CameraPlugin/CameraPlugin.cpp R platforms/win32/plugins/CameraPlugin/CameraPlugin.dll A platforms/win32/plugins/CameraPlugin/Makefile.msvc R platforms/win32/plugins/CameraPlugin/STRMBASE.lib R platforms/win32/plugins/CameraPlugin/cameraOps.h M platforms/win32/plugins/CameraPlugin/winCameraOps.cpp R platforms/win32/plugins/CroquetPlugin/Makefile.msvc M platforms/win32/plugins/CroquetPlugin/sqWin32CroquetPlugin.c M platforms/win32/plugins/DropPlugin/sqWin32Drop.c M platforms/win32/plugins/FT2Plugin/Makefile.plugin M platforms/win32/plugins/FT2Plugin/ft2build.h A platforms/win32/plugins/FileAttributesPlugin/Makefile.msvc A platforms/win32/plugins/FileAttributesPlugin/Makefile.plugin A platforms/win32/plugins/FileAttributesPlugin/faSupport.c A platforms/win32/plugins/FileAttributesPlugin/faSupport.h M platforms/win32/plugins/FilePlugin/sqWin32File.h M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c M platforms/win32/plugins/FloatMathPlugin/Makefile M platforms/win32/plugins/FloatMathPlugin/Makefile.msvc M platforms/win32/plugins/FloatMathPlugin/Makefile.plugin M platforms/win32/plugins/FloatMathPlugin/Makefile.win32 M platforms/win32/plugins/FontPlugin/sqWin32FontPlugin.c M platforms/win32/plugins/HostWindowPlugin/sqWin32HostWindowPlugin.c A platforms/win32/plugins/IA32ABI/Makefile.msvc R platforms/win32/plugins/JPEGReadWriter2Plugin/stub M platforms/win32/plugins/JoystickTabletPlugin/sqWin32Joystick.c M platforms/win32/plugins/LocalePlugin/sqWin32Locale.c M platforms/win32/plugins/MIDIPlugin/sqWin32MIDI.c M platforms/win32/plugins/Mpeg3Plugin/Makefile.msvc M platforms/win32/plugins/SecurityPlugin/sqWin32Security.c A platforms/win32/plugins/SerialPlugin/Makefile.msvc A platforms/win32/plugins/SerialPlugin/Makefile.plugin M platforms/win32/plugins/SerialPlugin/sqWin32SerialPort.c M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c A platforms/win32/plugins/SqueakFFIPrims/Makefile.msvc A platforms/win32/plugins/SqueakSSL/Makefile.msvc M platforms/win32/plugins/SqueakSSL/Makefile.plugin M platforms/win32/plugins/SqueakSSL/sqWin32SSL.c M platforms/win32/plugins/Win32OSProcessPlugin/Makefile.msvc R platforms/win32/release/stub R platforms/win32/third-party/dx9sdk/Include/Amvideo.h R platforms/win32/third-party/dx9sdk/Include/Bdatif.h R platforms/win32/third-party/dx9sdk/Include/DShow.h R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Bdatif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mpeg2Data.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mpeg2Structs.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mstvca.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Mstvgs.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Msvidctl.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Segment.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Videoacc.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/Vmrender.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/amstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/austream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/axcore.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/axextend.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/bdaiface.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/control.odl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/ddstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/devenum.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dmodshow.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dshowasf.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dvdif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dxtrans.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/dyngraph.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mediaobj.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/medparam.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mixerocx.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mmstream.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/mstve.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/qedit.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/regbag.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/sbe.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/strmif.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/tuner.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/tvratings.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/vidcap.idl R platforms/win32/third-party/dx9sdk/Include/DShowIDL/vmr9.idl R platforms/win32/third-party/dx9sdk/Include/DxDiag.h R platforms/win32/third-party/dx9sdk/Include/Iwstdec.h R platforms/win32/third-party/dx9sdk/Include/Mpeg2Bits.h R platforms/win32/third-party/dx9sdk/Include/Mpeg2Error.h R platforms/win32/third-party/dx9sdk/Include/Mstvca.h R platforms/win32/third-party/dx9sdk/Include/Mstve.h R platforms/win32/third-party/dx9sdk/Include/Msvidctl.h R platforms/win32/third-party/dx9sdk/Include/Msvidctl.tlb R platforms/win32/third-party/dx9sdk/Include/PixPlugin.h R platforms/win32/third-party/dx9sdk/Include/Segment.h R platforms/win32/third-party/dx9sdk/Include/Tuner.tlb R platforms/win32/third-party/dx9sdk/Include/activecf.h R platforms/win32/third-party/dx9sdk/Include/amaudio.h R platforms/win32/third-party/dx9sdk/Include/amparse.h R platforms/win32/third-party/dx9sdk/Include/amstream.h R platforms/win32/third-party/dx9sdk/Include/amva.h R platforms/win32/third-party/dx9sdk/Include/atsmedia.h R platforms/win32/third-party/dx9sdk/Include/audevcod.h R platforms/win32/third-party/dx9sdk/Include/austream.h R platforms/win32/third-party/dx9sdk/Include/aviriff.h R platforms/win32/third-party/dx9sdk/Include/bdaiface.h R platforms/win32/third-party/dx9sdk/Include/bdamedia.h R platforms/win32/third-party/dx9sdk/Include/bdatypes.h R platforms/win32/third-party/dx9sdk/Include/comlite.h R platforms/win32/third-party/dx9sdk/Include/control.h R platforms/win32/third-party/dx9sdk/Include/d3d.h R platforms/win32/third-party/dx9sdk/Include/d3d8.h R platforms/win32/third-party/dx9sdk/Include/d3d8caps.h R platforms/win32/third-party/dx9sdk/Include/d3d8types.h R platforms/win32/third-party/dx9sdk/Include/d3d9.h R platforms/win32/third-party/dx9sdk/Include/d3d9caps.h R platforms/win32/third-party/dx9sdk/Include/d3d9types.h R platforms/win32/third-party/dx9sdk/Include/d3dcaps.h R platforms/win32/third-party/dx9sdk/Include/d3drm.h R platforms/win32/third-party/dx9sdk/Include/d3drmdef.h R platforms/win32/third-party/dx9sdk/Include/d3drmobj.h R platforms/win32/third-party/dx9sdk/Include/d3drmwin.h R platforms/win32/third-party/dx9sdk/Include/d3dtypes.h R platforms/win32/third-party/dx9sdk/Include/d3dvec.inl R platforms/win32/third-party/dx9sdk/Include/d3dx.h R platforms/win32/third-party/dx9sdk/Include/d3dx8.h R platforms/win32/third-party/dx9sdk/Include/d3dx8core.h R platforms/win32/third-party/dx9sdk/Include/d3dx8effect.h R platforms/win32/third-party/dx9sdk/Include/d3dx8math.h R platforms/win32/third-party/dx9sdk/Include/d3dx8math.inl R platforms/win32/third-party/dx9sdk/Include/d3dx8mesh.h R platforms/win32/third-party/dx9sdk/Include/d3dx8shape.h R platforms/win32/third-party/dx9sdk/Include/d3dx8tex.h R platforms/win32/third-party/dx9sdk/Include/d3dx9.h R platforms/win32/third-party/dx9sdk/Include/d3dx9anim.h R platforms/win32/third-party/dx9sdk/Include/d3dx9core.h R platforms/win32/third-party/dx9sdk/Include/d3dx9effect.h R platforms/win32/third-party/dx9sdk/Include/d3dx9math.h R platforms/win32/third-party/dx9sdk/Include/d3dx9math.inl R platforms/win32/third-party/dx9sdk/Include/d3dx9mesh.h R platforms/win32/third-party/dx9sdk/Include/d3dx9shader.h R platforms/win32/third-party/dx9sdk/Include/d3dx9shape.h R platforms/win32/third-party/dx9sdk/Include/d3dx9tex.h R platforms/win32/third-party/dx9sdk/Include/d3dx9xof.h R platforms/win32/third-party/dx9sdk/Include/d3dxcore.h R platforms/win32/third-party/dx9sdk/Include/d3dxerr.h R platforms/win32/third-party/dx9sdk/Include/d3dxmath.h R platforms/win32/third-party/dx9sdk/Include/d3dxmath.inl R platforms/win32/third-party/dx9sdk/Include/d3dxshapes.h R platforms/win32/third-party/dx9sdk/Include/d3dxsprite.h R platforms/win32/third-party/dx9sdk/Include/ddraw.h R platforms/win32/third-party/dx9sdk/Include/ddstream.h R platforms/win32/third-party/dx9sdk/Include/dinput.h R platforms/win32/third-party/dx9sdk/Include/dinputd.h R platforms/win32/third-party/dx9sdk/Include/dls1.h R platforms/win32/third-party/dx9sdk/Include/dls2.h R platforms/win32/third-party/dx9sdk/Include/dmdls.h R platforms/win32/third-party/dx9sdk/Include/dmerror.h R platforms/win32/third-party/dx9sdk/Include/dmksctrl.h R platforms/win32/third-party/dx9sdk/Include/dmo.h R platforms/win32/third-party/dx9sdk/Include/dmodshow.h R platforms/win32/third-party/dx9sdk/Include/dmoimpl.h R platforms/win32/third-party/dx9sdk/Include/dmoreg.h R platforms/win32/third-party/dx9sdk/Include/dmort.h R platforms/win32/third-party/dx9sdk/Include/dmplugin.h R platforms/win32/third-party/dx9sdk/Include/dmusbuff.h R platforms/win32/third-party/dx9sdk/Include/dmusicc.h R platforms/win32/third-party/dx9sdk/Include/dmusicf.h R platforms/win32/third-party/dx9sdk/Include/dmusici.h R platforms/win32/third-party/dx9sdk/Include/dmusics.h R platforms/win32/third-party/dx9sdk/Include/dpaddr.h R platforms/win32/third-party/dx9sdk/Include/dplay.h R platforms/win32/third-party/dx9sdk/Include/dplay8.h R platforms/win32/third-party/dx9sdk/Include/dplobby.h R platforms/win32/third-party/dx9sdk/Include/dplobby8.h R platforms/win32/third-party/dx9sdk/Include/dpnathlp.h R platforms/win32/third-party/dx9sdk/Include/dsconf.h R platforms/win32/third-party/dx9sdk/Include/dsetup.h R platforms/win32/third-party/dx9sdk/Include/dshowasf.h R platforms/win32/third-party/dx9sdk/Include/dsound.h R platforms/win32/third-party/dx9sdk/Include/dv.h R platforms/win32/third-party/dx9sdk/Include/dvdevcod.h R platforms/win32/third-party/dx9sdk/Include/dvdmedia.h R platforms/win32/third-party/dx9sdk/Include/dvoice.h R platforms/win32/third-party/dx9sdk/Include/dvp.h R platforms/win32/third-party/dx9sdk/Include/dx7todx8.h R platforms/win32/third-party/dx9sdk/Include/dxerr8.h R platforms/win32/third-party/dx9sdk/Include/dxerr9.h R platforms/win32/third-party/dx9sdk/Include/dxfile.h R platforms/win32/third-party/dx9sdk/Include/dxtrans.h R platforms/win32/third-party/dx9sdk/Include/dxva.h R platforms/win32/third-party/dx9sdk/Include/edevctrl.h R platforms/win32/third-party/dx9sdk/Include/edevdefs.h R platforms/win32/third-party/dx9sdk/Include/errors.h R platforms/win32/third-party/dx9sdk/Include/evcode.h R platforms/win32/third-party/dx9sdk/Include/il21dec.h R platforms/win32/third-party/dx9sdk/Include/ks.h R platforms/win32/third-party/dx9sdk/Include/ksguid.h R platforms/win32/third-party/dx9sdk/Include/ksmedia.h R platforms/win32/third-party/dx9sdk/Include/ksproxy.h R platforms/win32/third-party/dx9sdk/Include/ksuuids.h R platforms/win32/third-party/dx9sdk/Include/mediaerr.h R platforms/win32/third-party/dx9sdk/Include/mediaobj.h R platforms/win32/third-party/dx9sdk/Include/medparam.h R platforms/win32/third-party/dx9sdk/Include/mixerocx.h R platforms/win32/third-party/dx9sdk/Include/mmstream.h R platforms/win32/third-party/dx9sdk/Include/mpconfig.h R platforms/win32/third-party/dx9sdk/Include/mpeg2data.h R platforms/win32/third-party/dx9sdk/Include/mpegtype.h R platforms/win32/third-party/dx9sdk/Include/multimon.h R platforms/win32/third-party/dx9sdk/Include/playlist.h R platforms/win32/third-party/dx9sdk/Include/qedit.h R platforms/win32/third-party/dx9sdk/Include/qnetwork.h R platforms/win32/third-party/dx9sdk/Include/regbag.h R platforms/win32/third-party/dx9sdk/Include/rmxfguid.h R platforms/win32/third-party/dx9sdk/Include/rmxftmpl.h R platforms/win32/third-party/dx9sdk/Include/sbe.h R platforms/win32/third-party/dx9sdk/Include/strmif.h R platforms/win32/third-party/dx9sdk/Include/strsafe.h R platforms/win32/third-party/dx9sdk/Include/tune.h R platforms/win32/third-party/dx9sdk/Include/tuner.h R platforms/win32/third-party/dx9sdk/Include/tvratings.h R platforms/win32/third-party/dx9sdk/Include/uuids.h R platforms/win32/third-party/dx9sdk/Include/vfwmsgs.h R platforms/win32/third-party/dx9sdk/Include/vidcap.h R platforms/win32/third-party/dx9sdk/Include/videoacc.h R platforms/win32/third-party/dx9sdk/Include/vmr9.h R platforms/win32/third-party/dx9sdk/Include/vpconfig.h R platforms/win32/third-party/dx9sdk/Include/vpnotify.h R platforms/win32/third-party/dx9sdk/Include/vptype.h R platforms/win32/third-party/dx9sdk/Include/xprtdefs.h R platforms/win32/third-party/dx9sdk/Lib/DxErr8.lib R platforms/win32/third-party/dx9sdk/Lib/DxErr9.lib R platforms/win32/third-party/dx9sdk/Lib/amstrmid.lib R platforms/win32/third-party/dx9sdk/Lib/d3d8.lib R platforms/win32/third-party/dx9sdk/Lib/d3d9.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8d.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx8dt.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9d.lib R platforms/win32/third-party/dx9sdk/Lib/d3dx9dt.lib R platforms/win32/third-party/dx9sdk/Lib/d3dxd.lib R platforms/win32/third-party/dx9sdk/Lib/d3dxof.lib R platforms/win32/third-party/dx9sdk/Lib/ddraw.lib R platforms/win32/third-party/dx9sdk/Lib/dinput.lib R platforms/win32/third-party/dx9sdk/Lib/dinput8.lib R platforms/win32/third-party/dx9sdk/Lib/dmoguids.lib R platforms/win32/third-party/dx9sdk/Lib/dplayx.lib R platforms/win32/third-party/dx9sdk/Lib/dsetup.lib R platforms/win32/third-party/dx9sdk/Lib/dsound.lib R platforms/win32/third-party/dx9sdk/Lib/dxguid.lib R platforms/win32/third-party/dx9sdk/Lib/dxtrans.lib R platforms/win32/third-party/dx9sdk/Lib/encapi.lib R platforms/win32/third-party/dx9sdk/Lib/ksproxy.lib R platforms/win32/third-party/dx9sdk/Lib/ksuser.lib R platforms/win32/third-party/dx9sdk/Lib/msdmo.lib R platforms/win32/third-party/dx9sdk/Lib/quartz.lib R platforms/win32/third-party/dx9sdk/Lib/strmiids.lib R platforms/win32/third-party/dx9sdk/README-TELEPLACE.txt M platforms/win32/vm/config.h M platforms/win32/vm/sqConfig.h M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32.h M platforms/win32/vm/sqWin32Alloc.c M platforms/win32/vm/sqWin32Backtrace.c M platforms/win32/vm/sqWin32DirectInput.c M platforms/win32/vm/sqWin32Directory.c M platforms/win32/vm/sqWin32DnsInfo.c M platforms/win32/vm/sqWin32Exports.c M platforms/win32/vm/sqWin32ExternalPrims.c M platforms/win32/vm/sqWin32GUID.c M platforms/win32/vm/sqWin32HandleTable.h M platforms/win32/vm/sqWin32Heartbeat.c M platforms/win32/vm/sqWin32Main.c M platforms/win32/vm/sqWin32PluginSupport.c M platforms/win32/vm/sqWin32Prefs.c M platforms/win32/vm/sqWin32Prefs.h M platforms/win32/vm/sqWin32Service.c M platforms/win32/vm/sqWin32SpurAlloc.c M platforms/win32/vm/sqWin32Threads.c M platforms/win32/vm/sqWin32Time.c M platforms/win32/vm/sqWin32Utils.c M platforms/win32/vm/sqWin32VMProfile.c M platforms/win32/vm/sqWin32Window.c M platforms/win32/vm/version.c R processors/ARM/TODO M processors/ARM/exploration/Makefile A processors/ARM/exploration/Makefile64 M processors/ARM/exploration/printcpu.c A processors/ARM/exploration/printcpuctrl.c M processors/ARM/exploration/printcpuvfp.c A processors/ARM/exploration64/Makefile A processors/ARM/exploration64/Makefile64 A processors/ARM/exploration64/printcpu.c A processors/ARM/exploration64/printcpuctrl.c A processors/ARM/exploration64/printcpuvfp.c R processors/ARM/gdb-7.10/COPYING.LIB R processors/ARM/gdb-7.10/COPYING3.LIB R processors/ARM/gdb-7.10/ChangeLog R processors/ARM/gdb-7.10/MAINTAINERS R processors/ARM/gdb-7.10/Makefile.def R processors/ARM/gdb-7.10/Makefile.in R processors/ARM/gdb-7.10/Makefile.tpl R processors/ARM/gdb-7.10/README R processors/ARM/gdb-7.10/README-maintainer-mode R processors/ARM/gdb-7.10/bfd/ChangeLog R processors/ARM/gdb-7.10/bfd/ChangeLog-0001 R processors/ARM/gdb-7.10/bfd/ChangeLog-0203 R processors/ARM/gdb-7.10/bfd/ChangeLog-2004 R processors/ARM/gdb-7.10/bfd/ChangeLog-2005 R processors/ARM/gdb-7.10/bfd/ChangeLog-2006 R processors/ARM/gdb-7.10/bfd/ChangeLog-2007 R processors/ARM/gdb-7.10/bfd/ChangeLog-2008 R processors/ARM/gdb-7.10/bfd/ChangeLog-2009 R processors/ARM/gdb-7.10/bfd/ChangeLog-2010 R processors/ARM/gdb-7.10/bfd/ChangeLog-2011 R processors/ARM/gdb-7.10/bfd/ChangeLog-2012 R processors/ARM/gdb-7.10/bfd/ChangeLog-2013 R processors/ARM/gdb-7.10/bfd/ChangeLog-2014 R processors/ARM/gdb-7.10/bfd/ChangeLog-9193 R processors/ARM/gdb-7.10/bfd/ChangeLog-9495 R processors/ARM/gdb-7.10/bfd/ChangeLog-9697 R processors/ARM/gdb-7.10/bfd/ChangeLog-9899 R processors/ARM/gdb-7.10/bfd/MAINTAINERS R processors/ARM/gdb-7.10/bfd/Makefile.am R processors/ARM/gdb-7.10/bfd/Makefile.in R processors/ARM/gdb-7.10/bfd/PORTING R processors/ARM/gdb-7.10/bfd/README R processors/ARM/gdb-7.10/bfd/TODO R processors/ARM/gdb-7.10/bfd/acinclude.m4 R processors/ARM/gdb-7.10/bfd/aclocal.m4 R processors/ARM/gdb-7.10/bfd/aix386-core.c R processors/ARM/gdb-7.10/bfd/aix5ppc-core.c R processors/ARM/gdb-7.10/bfd/aout-adobe.c R processors/ARM/gdb-7.10/bfd/aout-arm.c R processors/ARM/gdb-7.10/bfd/aout-cris.c R processors/ARM/gdb-7.10/bfd/aout-ns32k.c R processors/ARM/gdb-7.10/bfd/aout-sparcle.c R processors/ARM/gdb-7.10/bfd/aout-target.h R processors/ARM/gdb-7.10/bfd/aout-tic30.c R processors/ARM/gdb-7.10/bfd/aout0.c R processors/ARM/gdb-7.10/bfd/aout32.c R processors/ARM/gdb-7.10/bfd/aout64.c R processors/ARM/gdb-7.10/bfd/aoutf1.h R processors/ARM/gdb-7.10/bfd/aoutx.h R processors/ARM/gdb-7.10/bfd/archive.c R processors/ARM/gdb-7.10/bfd/archive64.c R processors/ARM/gdb-7.10/bfd/archures.c R processors/ARM/gdb-7.10/bfd/armnetbsd.c R processors/ARM/gdb-7.10/bfd/bfd-in.h R processors/ARM/gdb-7.10/bfd/bfd-in2.h R processors/ARM/gdb-7.10/bfd/bfd.c R processors/ARM/gdb-7.10/bfd/bfd.m4 R processors/ARM/gdb-7.10/bfd/bfdio.c R processors/ARM/gdb-7.10/bfd/bfdwin.c R processors/ARM/gdb-7.10/bfd/binary.c R processors/ARM/gdb-7.10/bfd/bout.c R processors/ARM/gdb-7.10/bfd/cache.c R processors/ARM/gdb-7.10/bfd/cf-i386lynx.c R processors/ARM/gdb-7.10/bfd/cf-sparclynx.c R processors/ARM/gdb-7.10/bfd/cisco-core.c R processors/ARM/gdb-7.10/bfd/coff-alpha.c R processors/ARM/gdb-7.10/bfd/coff-apollo.c R processors/ARM/gdb-7.10/bfd/coff-arm.c R processors/ARM/gdb-7.10/bfd/coff-aux.c R processors/ARM/gdb-7.10/bfd/coff-bfd.c R processors/ARM/gdb-7.10/bfd/coff-bfd.h R processors/ARM/gdb-7.10/bfd/coff-go32.c R processors/ARM/gdb-7.10/bfd/coff-h8300.c R processors/ARM/gdb-7.10/bfd/coff-h8500.c R processors/ARM/gdb-7.10/bfd/coff-i386.c R processors/ARM/gdb-7.10/bfd/coff-i860.c R processors/ARM/gdb-7.10/bfd/coff-i960.c R processors/ARM/gdb-7.10/bfd/coff-ia64.c R processors/ARM/gdb-7.10/bfd/coff-m68k.c R processors/ARM/gdb-7.10/bfd/coff-m88k.c R processors/ARM/gdb-7.10/bfd/coff-mcore.c R processors/ARM/gdb-7.10/bfd/coff-mips.c R processors/ARM/gdb-7.10/bfd/coff-ppc.c R processors/ARM/gdb-7.10/bfd/coff-rs6000.c R processors/ARM/gdb-7.10/bfd/coff-sh.c R processors/ARM/gdb-7.10/bfd/coff-sparc.c R processors/ARM/gdb-7.10/bfd/coff-stgo32.c R processors/ARM/gdb-7.10/bfd/coff-svm68k.c R processors/ARM/gdb-7.10/bfd/coff-tic30.c R processors/ARM/gdb-7.10/bfd/coff-tic4x.c R processors/ARM/gdb-7.10/bfd/coff-tic54x.c R processors/ARM/gdb-7.10/bfd/coff-tic80.c R processors/ARM/gdb-7.10/bfd/coff-u68k.c R processors/ARM/gdb-7.10/bfd/coff-w65.c R processors/ARM/gdb-7.10/bfd/coff-we32k.c R processors/ARM/gdb-7.10/bfd/coff-x86_64.c R processors/ARM/gdb-7.10/bfd/coff-z80.c R processors/ARM/gdb-7.10/bfd/coff-z8k.c R processors/ARM/gdb-7.10/bfd/coff64-rs6000.c R processors/ARM/gdb-7.10/bfd/coffcode.h R processors/ARM/gdb-7.10/bfd/coffgen.c R processors/ARM/gdb-7.10/bfd/cofflink.c R processors/ARM/gdb-7.10/bfd/coffswap.h R processors/ARM/gdb-7.10/bfd/compress.c R processors/ARM/gdb-7.10/bfd/config.bfd R processors/ARM/gdb-7.10/bfd/config.in R processors/ARM/gdb-7.10/bfd/configure R processors/ARM/gdb-7.10/bfd/configure.ac R processors/ARM/gdb-7.10/bfd/configure.com R processors/ARM/gdb-7.10/bfd/configure.host R processors/ARM/gdb-7.10/bfd/corefile.c R processors/ARM/gdb-7.10/bfd/cpu-aarch64.c R processors/ARM/gdb-7.10/bfd/cpu-alpha.c R processors/ARM/gdb-7.10/bfd/cpu-arc.c R processors/ARM/gdb-7.10/bfd/cpu-arm.c R processors/ARM/gdb-7.10/bfd/cpu-avr.c R processors/ARM/gdb-7.10/bfd/cpu-bfin.c R processors/ARM/gdb-7.10/bfd/cpu-cr16.c R processors/ARM/gdb-7.10/bfd/cpu-cr16c.c R processors/ARM/gdb-7.10/bfd/cpu-cris.c R processors/ARM/gdb-7.10/bfd/cpu-crx.c R processors/ARM/gdb-7.10/bfd/cpu-d10v.c R processors/ARM/gdb-7.10/bfd/cpu-d30v.c R processors/ARM/gdb-7.10/bfd/cpu-dlx.c R processors/ARM/gdb-7.10/bfd/cpu-epiphany.c R processors/ARM/gdb-7.10/bfd/cpu-fr30.c R processors/ARM/gdb-7.10/bfd/cpu-frv.c R processors/ARM/gdb-7.10/bfd/cpu-ft32.c R processors/ARM/gdb-7.10/bfd/cpu-h8300.c R processors/ARM/gdb-7.10/bfd/cpu-h8500.c R processors/ARM/gdb-7.10/bfd/cpu-hppa.c R processors/ARM/gdb-7.10/bfd/cpu-i370.c R processors/ARM/gdb-7.10/bfd/cpu-i386.c R processors/ARM/gdb-7.10/bfd/cpu-i860.c R processors/ARM/gdb-7.10/bfd/cpu-i960.c R processors/ARM/gdb-7.10/bfd/cpu-ia64-opc.c R processors/ARM/gdb-7.10/bfd/cpu-ia64.c R processors/ARM/gdb-7.10/bfd/cpu-iamcu.c R processors/ARM/gdb-7.10/bfd/cpu-ip2k.c R processors/ARM/gdb-7.10/bfd/cpu-iq2000.c R processors/ARM/gdb-7.10/bfd/cpu-k1om.c R processors/ARM/gdb-7.10/bfd/cpu-l1om.c R processors/ARM/gdb-7.10/bfd/cpu-lm32.c R processors/ARM/gdb-7.10/bfd/cpu-m10200.c R processors/ARM/gdb-7.10/bfd/cpu-m10300.c R processors/ARM/gdb-7.10/bfd/cpu-m32c.c R processors/ARM/gdb-7.10/bfd/cpu-m32r.c R processors/ARM/gdb-7.10/bfd/cpu-m68hc11.c R processors/ARM/gdb-7.10/bfd/cpu-m68hc12.c R processors/ARM/gdb-7.10/bfd/cpu-m68k.c R processors/ARM/gdb-7.10/bfd/cpu-m88k.c R processors/ARM/gdb-7.10/bfd/cpu-m9s12x.c R processors/ARM/gdb-7.10/bfd/cpu-m9s12xg.c R processors/ARM/gdb-7.10/bfd/cpu-mcore.c R processors/ARM/gdb-7.10/bfd/cpu-mep.c R processors/ARM/gdb-7.10/bfd/cpu-metag.c R processors/ARM/gdb-7.10/bfd/cpu-microblaze.c R processors/ARM/gdb-7.10/bfd/cpu-mips.c R processors/ARM/gdb-7.10/bfd/cpu-mmix.c R processors/ARM/gdb-7.10/bfd/cpu-moxie.c R processors/ARM/gdb-7.10/bfd/cpu-msp430.c R processors/ARM/gdb-7.10/bfd/cpu-mt.c R processors/ARM/gdb-7.10/bfd/cpu-nds32.c R processors/ARM/gdb-7.10/bfd/cpu-nios2.c R processors/ARM/gdb-7.10/bfd/cpu-ns32k.c R processors/ARM/gdb-7.10/bfd/cpu-or1k.c R processors/ARM/gdb-7.10/bfd/cpu-pdp11.c R processors/ARM/gdb-7.10/bfd/cpu-pj.c R processors/ARM/gdb-7.10/bfd/cpu-plugin.c R processors/ARM/gdb-7.10/bfd/cpu-powerpc.c R processors/ARM/gdb-7.10/bfd/cpu-rl78.c R processors/ARM/gdb-7.10/bfd/cpu-rs6000.c R processors/ARM/gdb-7.10/bfd/cpu-rx.c R processors/ARM/gdb-7.10/bfd/cpu-s390.c R processors/ARM/gdb-7.10/bfd/cpu-score.c R processors/ARM/gdb-7.10/bfd/cpu-sh.c R processors/ARM/gdb-7.10/bfd/cpu-sparc.c R processors/ARM/gdb-7.10/bfd/cpu-spu.c R processors/ARM/gdb-7.10/bfd/cpu-tic30.c R processors/ARM/gdb-7.10/bfd/cpu-tic4x.c R processors/ARM/gdb-7.10/bfd/cpu-tic54x.c R processors/ARM/gdb-7.10/bfd/cpu-tic6x.c R processors/ARM/gdb-7.10/bfd/cpu-tic80.c R processors/ARM/gdb-7.10/bfd/cpu-tilegx.c R processors/ARM/gdb-7.10/bfd/cpu-tilepro.c R processors/ARM/gdb-7.10/bfd/cpu-v850.c R processors/ARM/gdb-7.10/bfd/cpu-v850_rh850.c R processors/ARM/gdb-7.10/bfd/cpu-vax.c R processors/ARM/gdb-7.10/bfd/cpu-visium.c R processors/ARM/gdb-7.10/bfd/cpu-w65.c R processors/ARM/gdb-7.10/bfd/cpu-we32k.c R processors/ARM/gdb-7.10/bfd/cpu-xc16x.c R processors/ARM/gdb-7.10/bfd/cpu-xgate.c R processors/ARM/gdb-7.10/bfd/cpu-xstormy16.c R processors/ARM/gdb-7.10/bfd/cpu-xtensa.c R processors/ARM/gdb-7.10/bfd/cpu-z80.c R processors/ARM/gdb-7.10/bfd/cpu-z8k.c R processors/ARM/gdb-7.10/bfd/demo64.c R processors/ARM/gdb-7.10/bfd/development.sh R processors/ARM/gdb-7.10/bfd/doc/Makefile.am R processors/ARM/gdb-7.10/bfd/doc/Makefile.in R processors/ARM/gdb-7.10/bfd/doc/aoutx.texi R processors/ARM/gdb-7.10/bfd/doc/archive.texi R processors/ARM/gdb-7.10/bfd/doc/archures.texi R processors/ARM/gdb-7.10/bfd/doc/bfd.info R processors/ARM/gdb-7.10/bfd/doc/bfd.texinfo R processors/ARM/gdb-7.10/bfd/doc/bfdint.texi R processors/ARM/gdb-7.10/bfd/doc/bfdio.texi R processors/ARM/gdb-7.10/bfd/doc/bfdsumm.texi R processors/ARM/gdb-7.10/bfd/doc/bfdt.texi R processors/ARM/gdb-7.10/bfd/doc/bfdver.texi R processors/ARM/gdb-7.10/bfd/doc/bfdwin.texi R processors/ARM/gdb-7.10/bfd/doc/cache.texi R processors/ARM/gdb-7.10/bfd/doc/chew.c R processors/ARM/gdb-7.10/bfd/doc/chw8494 R processors/ARM/gdb-7.10/bfd/doc/coffcode.texi R processors/ARM/gdb-7.10/bfd/doc/core.texi R processors/ARM/gdb-7.10/bfd/doc/elf.texi R processors/ARM/gdb-7.10/bfd/doc/elfcode.texi R processors/ARM/gdb-7.10/bfd/doc/format.texi R processors/ARM/gdb-7.10/bfd/doc/hash.texi R processors/ARM/gdb-7.10/bfd/doc/header.sed R processors/ARM/gdb-7.10/bfd/doc/init.texi R processors/ARM/gdb-7.10/bfd/doc/libbfd.texi R processors/ARM/gdb-7.10/bfd/doc/linker.texi R processors/ARM/gdb-7.10/bfd/doc/makefile.vms R processors/ARM/gdb-7.10/bfd/doc/mmo.texi R processors/ARM/gdb-7.10/bfd/doc/opncls.texi R processors/ARM/gdb-7.10/bfd/doc/reloc.texi R processors/ARM/gdb-7.10/bfd/doc/section.texi R processors/ARM/gdb-7.10/bfd/doc/syms.texi R processors/ARM/gdb-7.10/bfd/doc/targets.texi R processors/ARM/gdb-7.10/bfd/dwarf1.c R processors/ARM/gdb-7.10/bfd/dwarf2.c R processors/ARM/gdb-7.10/bfd/ecoff.c R processors/ARM/gdb-7.10/bfd/ecofflink.c R processors/ARM/gdb-7.10/bfd/ecoffswap.h R processors/ARM/gdb-7.10/bfd/elf-attrs.c R processors/ARM/gdb-7.10/bfd/elf-bfd.h R processors/ARM/gdb-7.10/bfd/elf-eh-frame.c R processors/ARM/gdb-7.10/bfd/elf-hppa.h R processors/ARM/gdb-7.10/bfd/elf-ifunc.c R processors/ARM/gdb-7.10/bfd/elf-linux-psinfo.h R processors/ARM/gdb-7.10/bfd/elf-m10200.c R processors/ARM/gdb-7.10/bfd/elf-m10300.c R processors/ARM/gdb-7.10/bfd/elf-nacl.c R processors/ARM/gdb-7.10/bfd/elf-nacl.h R processors/ARM/gdb-7.10/bfd/elf-s390-common.c R processors/ARM/gdb-7.10/bfd/elf-strtab.c R processors/ARM/gdb-7.10/bfd/elf-vxworks.c R processors/ARM/gdb-7.10/bfd/elf-vxworks.h R processors/ARM/gdb-7.10/bfd/elf.c R processors/ARM/gdb-7.10/bfd/elf32-am33lin.c R processors/ARM/gdb-7.10/bfd/elf32-arc.c R processors/ARM/gdb-7.10/bfd/elf32-arm.c R processors/ARM/gdb-7.10/bfd/elf32-avr.c R processors/ARM/gdb-7.10/bfd/elf32-avr.h R processors/ARM/gdb-7.10/bfd/elf32-bfin.c R processors/ARM/gdb-7.10/bfd/elf32-cr16.c R processors/ARM/gdb-7.10/bfd/elf32-cr16c.c R processors/ARM/gdb-7.10/bfd/elf32-cris.c R processors/ARM/gdb-7.10/bfd/elf32-crx.c R processors/ARM/gdb-7.10/bfd/elf32-d10v.c R processors/ARM/gdb-7.10/bfd/elf32-d30v.c R processors/ARM/gdb-7.10/bfd/elf32-dlx.c R processors/ARM/gdb-7.10/bfd/elf32-epiphany.c R processors/ARM/gdb-7.10/bfd/elf32-fr30.c R processors/ARM/gdb-7.10/bfd/elf32-frv.c R processors/ARM/gdb-7.10/bfd/elf32-ft32.c R processors/ARM/gdb-7.10/bfd/elf32-gen.c R processors/ARM/gdb-7.10/bfd/elf32-h8300.c R processors/ARM/gdb-7.10/bfd/elf32-hppa.c R processors/ARM/gdb-7.10/bfd/elf32-hppa.h R processors/ARM/gdb-7.10/bfd/elf32-i370.c R processors/ARM/gdb-7.10/bfd/elf32-i386.c R processors/ARM/gdb-7.10/bfd/elf32-i860.c R processors/ARM/gdb-7.10/bfd/elf32-i960.c R processors/ARM/gdb-7.10/bfd/elf32-ip2k.c R processors/ARM/gdb-7.10/bfd/elf32-iq2000.c R processors/ARM/gdb-7.10/bfd/elf32-lm32.c R processors/ARM/gdb-7.10/bfd/elf32-m32c.c R processors/ARM/gdb-7.10/bfd/elf32-m32r.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc11.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc12.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc1x.c R processors/ARM/gdb-7.10/bfd/elf32-m68hc1x.h R processors/ARM/gdb-7.10/bfd/elf32-m68k.c R processors/ARM/gdb-7.10/bfd/elf32-m88k.c R processors/ARM/gdb-7.10/bfd/elf32-mcore.c R processors/ARM/gdb-7.10/bfd/elf32-mep.c R processors/ARM/gdb-7.10/bfd/elf32-metag.c R processors/ARM/gdb-7.10/bfd/elf32-metag.h R processors/ARM/gdb-7.10/bfd/elf32-microblaze.c R processors/ARM/gdb-7.10/bfd/elf32-mips.c R processors/ARM/gdb-7.10/bfd/elf32-moxie.c R processors/ARM/gdb-7.10/bfd/elf32-msp430.c R processors/ARM/gdb-7.10/bfd/elf32-mt.c R processors/ARM/gdb-7.10/bfd/elf32-nds32.c R processors/ARM/gdb-7.10/bfd/elf32-nds32.h R processors/ARM/gdb-7.10/bfd/elf32-nios2.c R processors/ARM/gdb-7.10/bfd/elf32-nios2.h R processors/ARM/gdb-7.10/bfd/elf32-or1k.c R processors/ARM/gdb-7.10/bfd/elf32-pj.c R processors/ARM/gdb-7.10/bfd/elf32-ppc.c R processors/ARM/gdb-7.10/bfd/elf32-ppc.h R processors/ARM/gdb-7.10/bfd/elf32-rl78.c R processors/ARM/gdb-7.10/bfd/elf32-rx.c R processors/ARM/gdb-7.10/bfd/elf32-rx.h R processors/ARM/gdb-7.10/bfd/elf32-s390.c R processors/ARM/gdb-7.10/bfd/elf32-score.c R processors/ARM/gdb-7.10/bfd/elf32-score.h R processors/ARM/gdb-7.10/bfd/elf32-score7.c R processors/ARM/gdb-7.10/bfd/elf32-sh-relocs.h R processors/ARM/gdb-7.10/bfd/elf32-sh-symbian.c R processors/ARM/gdb-7.10/bfd/elf32-sh.c R processors/ARM/gdb-7.10/bfd/elf32-sh64-com.c R processors/ARM/gdb-7.10/bfd/elf32-sh64.c R processors/ARM/gdb-7.10/bfd/elf32-sh64.h R processors/ARM/gdb-7.10/bfd/elf32-sparc.c R processors/ARM/gdb-7.10/bfd/elf32-spu.c R processors/ARM/gdb-7.10/bfd/elf32-spu.h R processors/ARM/gdb-7.10/bfd/elf32-tic6x.c R processors/ARM/gdb-7.10/bfd/elf32-tic6x.h R processors/ARM/gdb-7.10/bfd/elf32-tilegx.c R processors/ARM/gdb-7.10/bfd/elf32-tilegx.h R processors/ARM/gdb-7.10/bfd/elf32-tilepro.c R processors/ARM/gdb-7.10/bfd/elf32-tilepro.h R processors/ARM/gdb-7.10/bfd/elf32-v850.c R processors/ARM/gdb-7.10/bfd/elf32-vax.c R processors/ARM/gdb-7.10/bfd/elf32-visium.c R processors/ARM/gdb-7.10/bfd/elf32-xc16x.c R processors/ARM/gdb-7.10/bfd/elf32-xgate.c R processors/ARM/gdb-7.10/bfd/elf32-xgate.h R processors/ARM/gdb-7.10/bfd/elf32-xstormy16.c R processors/ARM/gdb-7.10/bfd/elf32-xtensa.c R processors/ARM/gdb-7.10/bfd/elf32.c R processors/ARM/gdb-7.10/bfd/elf64-alpha.c R processors/ARM/gdb-7.10/bfd/elf64-gen.c R processors/ARM/gdb-7.10/bfd/elf64-hppa.c R processors/ARM/gdb-7.10/bfd/elf64-hppa.h R processors/ARM/gdb-7.10/bfd/elf64-ia64-vms.c R processors/ARM/gdb-7.10/bfd/elf64-mips.c R processors/ARM/gdb-7.10/bfd/elf64-mmix.c R processors/ARM/gdb-7.10/bfd/elf64-ppc.c R processors/ARM/gdb-7.10/bfd/elf64-ppc.h R processors/ARM/gdb-7.10/bfd/elf64-s390.c R processors/ARM/gdb-7.10/bfd/elf64-sh64.c R processors/ARM/gdb-7.10/bfd/elf64-sparc.c R processors/ARM/gdb-7.10/bfd/elf64-tilegx.c R processors/ARM/gdb-7.10/bfd/elf64-tilegx.h R processors/ARM/gdb-7.10/bfd/elf64-x86-64.c R processors/ARM/gdb-7.10/bfd/elf64.c R processors/ARM/gdb-7.10/bfd/elfcode.h R processors/ARM/gdb-7.10/bfd/elfcore.h R processors/ARM/gdb-7.10/bfd/elflink.c R processors/ARM/gdb-7.10/bfd/elfn32-mips.c R processors/ARM/gdb-7.10/bfd/elfnn-aarch64.c R processors/ARM/gdb-7.10/bfd/elfnn-ia64.c R processors/ARM/gdb-7.10/bfd/elfxx-aarch64.c R processors/ARM/gdb-7.10/bfd/elfxx-aarch64.h R processors/ARM/gdb-7.10/bfd/elfxx-ia64.c R processors/ARM/gdb-7.10/bfd/elfxx-ia64.h R processors/ARM/gdb-7.10/bfd/elfxx-mips.c R processors/ARM/gdb-7.10/bfd/elfxx-mips.h R processors/ARM/gdb-7.10/bfd/elfxx-sparc.c R processors/ARM/gdb-7.10/bfd/elfxx-sparc.h R processors/ARM/gdb-7.10/bfd/elfxx-target.h R processors/ARM/gdb-7.10/bfd/elfxx-tilegx.c R processors/ARM/gdb-7.10/bfd/elfxx-tilegx.h R processors/ARM/gdb-7.10/bfd/epoc-pe-arm.c R processors/ARM/gdb-7.10/bfd/epoc-pei-arm.c R processors/ARM/gdb-7.10/bfd/format.c R processors/ARM/gdb-7.10/bfd/freebsd.h R processors/ARM/gdb-7.10/bfd/gen-aout.c R processors/ARM/gdb-7.10/bfd/genlink.h R processors/ARM/gdb-7.10/bfd/hash.c R processors/ARM/gdb-7.10/bfd/host-aout.c R processors/ARM/gdb-7.10/bfd/hosts/alphalinux.h R processors/ARM/gdb-7.10/bfd/hosts/alphavms.h R processors/ARM/gdb-7.10/bfd/hosts/decstation.h R processors/ARM/gdb-7.10/bfd/hosts/delta68.h R processors/ARM/gdb-7.10/bfd/hosts/dpx2.h R processors/ARM/gdb-7.10/bfd/hosts/hp300bsd.h R processors/ARM/gdb-7.10/bfd/hosts/i386bsd.h R processors/ARM/gdb-7.10/bfd/hosts/i386linux.h R processors/ARM/gdb-7.10/bfd/hosts/i386mach3.h R processors/ARM/gdb-7.10/bfd/hosts/i386sco.h R processors/ARM/gdb-7.10/bfd/hosts/i860mach3.h R processors/ARM/gdb-7.10/bfd/hosts/m68kaux.h R processors/ARM/gdb-7.10/bfd/hosts/m68klinux.h R processors/ARM/gdb-7.10/bfd/hosts/m88kmach3.h R processors/ARM/gdb-7.10/bfd/hosts/mipsbsd.h R processors/ARM/gdb-7.10/bfd/hosts/mipsmach3.h R processors/ARM/gdb-7.10/bfd/hosts/news-mips.h R processors/ARM/gdb-7.10/bfd/hosts/news.h R processors/ARM/gdb-7.10/bfd/hosts/pc532mach.h R processors/ARM/gdb-7.10/bfd/hosts/riscos.h R processors/ARM/gdb-7.10/bfd/hosts/symmetry.h R processors/ARM/gdb-7.10/bfd/hosts/tahoe.h R processors/ARM/gdb-7.10/bfd/hosts/vaxbsd.h R processors/ARM/gdb-7.10/bfd/hosts/vaxlinux.h R processors/ARM/gdb-7.10/bfd/hosts/vaxult.h R processors/ARM/gdb-7.10/bfd/hosts/vaxult2.h R processors/ARM/gdb-7.10/bfd/hosts/x86-64linux.h R processors/ARM/gdb-7.10/bfd/hp300bsd.c R processors/ARM/gdb-7.10/bfd/hp300hpux.c R processors/ARM/gdb-7.10/bfd/hppabsd-core.c R processors/ARM/gdb-7.10/bfd/hpux-core.c R processors/ARM/gdb-7.10/bfd/i386aout.c R processors/ARM/gdb-7.10/bfd/i386bsd.c R processors/ARM/gdb-7.10/bfd/i386dynix.c R processors/ARM/gdb-7.10/bfd/i386freebsd.c R processors/ARM/gdb-7.10/bfd/i386linux.c R processors/ARM/gdb-7.10/bfd/i386lynx.c R processors/ARM/gdb-7.10/bfd/i386mach3.c R processors/ARM/gdb-7.10/bfd/i386msdos.c R processors/ARM/gdb-7.10/bfd/i386netbsd.c R processors/ARM/gdb-7.10/bfd/i386os9k.c R processors/ARM/gdb-7.10/bfd/ieee.c R processors/ARM/gdb-7.10/bfd/ihex.c R processors/ARM/gdb-7.10/bfd/init.c R processors/ARM/gdb-7.10/bfd/irix-core.c R processors/ARM/gdb-7.10/bfd/libaout.h R processors/ARM/gdb-7.10/bfd/libbfd-in.h R processors/ARM/gdb-7.10/bfd/libbfd.c R processors/ARM/gdb-7.10/bfd/libbfd.h R processors/ARM/gdb-7.10/bfd/libcoff-in.h R processors/ARM/gdb-7.10/bfd/libcoff.h R processors/ARM/gdb-7.10/bfd/libecoff.h R processors/ARM/gdb-7.10/bfd/libhppa.h R processors/ARM/gdb-7.10/bfd/libieee.h R processors/ARM/gdb-7.10/bfd/libnlm.h R processors/ARM/gdb-7.10/bfd/liboasys.h R processors/ARM/gdb-7.10/bfd/libpei.h R processors/ARM/gdb-7.10/bfd/libxcoff.h R processors/ARM/gdb-7.10/bfd/linker.c R processors/ARM/gdb-7.10/bfd/lynx-core.c R processors/ARM/gdb-7.10/bfd/m68k4knetbsd.c R processors/ARM/gdb-7.10/bfd/m68klinux.c R processors/ARM/gdb-7.10/bfd/m68knetbsd.c R processors/ARM/gdb-7.10/bfd/m88kmach3.c R processors/ARM/gdb-7.10/bfd/m88kopenbsd.c R processors/ARM/gdb-7.10/bfd/mach-o-i386.c R processors/ARM/gdb-7.10/bfd/mach-o-target.c R processors/ARM/gdb-7.10/bfd/mach-o-x86-64.c R processors/ARM/gdb-7.10/bfd/mach-o.c R processors/ARM/gdb-7.10/bfd/mach-o.h R processors/ARM/gdb-7.10/bfd/makefile.vms R processors/ARM/gdb-7.10/bfd/mep-relocs.pl R processors/ARM/gdb-7.10/bfd/merge.c R processors/ARM/gdb-7.10/bfd/mipsbsd.c R processors/ARM/gdb-7.10/bfd/mmo.c R processors/ARM/gdb-7.10/bfd/netbsd-core.c R processors/ARM/gdb-7.10/bfd/netbsd.h R processors/ARM/gdb-7.10/bfd/newsos3.c R processors/ARM/gdb-7.10/bfd/nlm-target.h R processors/ARM/gdb-7.10/bfd/nlm.c R processors/ARM/gdb-7.10/bfd/nlm32-alpha.c R processors/ARM/gdb-7.10/bfd/nlm32-i386.c R processors/ARM/gdb-7.10/bfd/nlm32-ppc.c R processors/ARM/gdb-7.10/bfd/nlm32-sparc.c R processors/ARM/gdb-7.10/bfd/nlm32.c R processors/ARM/gdb-7.10/bfd/nlm64.c R processors/ARM/gdb-7.10/bfd/nlmcode.h R processors/ARM/gdb-7.10/bfd/nlmswap.h R processors/ARM/gdb-7.10/bfd/ns32k.h R processors/ARM/gdb-7.10/bfd/ns32knetbsd.c R processors/ARM/gdb-7.10/bfd/oasys.c R processors/ARM/gdb-7.10/bfd/opncls.c R processors/ARM/gdb-7.10/bfd/osf-core.c R processors/ARM/gdb-7.10/bfd/pc532-mach.c R processors/ARM/gdb-7.10/bfd/pdp11.c R processors/ARM/gdb-7.10/bfd/pe-arm-wince.c R processors/ARM/gdb-7.10/bfd/pe-arm.c R processors/ARM/gdb-7.10/bfd/pe-i386.c R processors/ARM/gdb-7.10/bfd/pe-mcore.c R processors/ARM/gdb-7.10/bfd/pe-mips.c R processors/ARM/gdb-7.10/bfd/pe-ppc.c R processors/ARM/gdb-7.10/bfd/pe-sh.c R processors/ARM/gdb-7.10/bfd/pe-x86_64.c R processors/ARM/gdb-7.10/bfd/peXXigen.c R processors/ARM/gdb-7.10/bfd/pef-traceback.h R processors/ARM/gdb-7.10/bfd/pef.c R processors/ARM/gdb-7.10/bfd/pef.h R processors/ARM/gdb-7.10/bfd/pei-arm-wince.c R processors/ARM/gdb-7.10/bfd/pei-arm.c R processors/ARM/gdb-7.10/bfd/pei-i386.c R processors/ARM/gdb-7.10/bfd/pei-ia64.c R processors/ARM/gdb-7.10/bfd/pei-mcore.c R processors/ARM/gdb-7.10/bfd/pei-mips.c R processors/ARM/gdb-7.10/bfd/pei-ppc.c R processors/ARM/gdb-7.10/bfd/pei-sh.c R processors/ARM/gdb-7.10/bfd/pei-x86_64.c R processors/ARM/gdb-7.10/bfd/peicode.h R processors/ARM/gdb-7.10/bfd/plugin.c R processors/ARM/gdb-7.10/bfd/plugin.h R processors/ARM/gdb-7.10/bfd/po/BLD-POTFILES.in R processors/ARM/gdb-7.10/bfd/po/Make-in R processors/ARM/gdb-7.10/bfd/po/SRC-POTFILES.in R processors/ARM/gdb-7.10/bfd/po/bfd.pot R processors/ARM/gdb-7.10/bfd/po/da.gmo R processors/ARM/gdb-7.10/bfd/po/da.po R processors/ARM/gdb-7.10/bfd/po/es.gmo R processors/ARM/gdb-7.10/bfd/po/es.po R processors/ARM/gdb-7.10/bfd/po/fi.gmo R processors/ARM/gdb-7.10/bfd/po/fi.po R processors/ARM/gdb-7.10/bfd/po/fr.gmo R processors/ARM/gdb-7.10/bfd/po/fr.po R processors/ARM/gdb-7.10/bfd/po/id.gmo R processors/ARM/gdb-7.10/bfd/po/id.po R processors/ARM/gdb-7.10/bfd/po/ja.gmo R processors/ARM/gdb-7.10/bfd/po/ja.po R processors/ARM/gdb-7.10/bfd/po/ro.gmo R processors/ARM/gdb-7.10/bfd/po/ro.po R processors/ARM/gdb-7.10/bfd/po/ru.gmo R processors/ARM/gdb-7.10/bfd/po/ru.po R processors/ARM/gdb-7.10/bfd/po/rw.gmo R processors/ARM/gdb-7.10/bfd/po/sv.gmo R processors/ARM/gdb-7.10/bfd/po/sv.po R processors/ARM/gdb-7.10/bfd/po/tr.gmo R processors/ARM/gdb-7.10/bfd/po/tr.po R processors/ARM/gdb-7.10/bfd/po/uk.gmo R processors/ARM/gdb-7.10/bfd/po/uk.po R processors/ARM/gdb-7.10/bfd/po/vi.gmo R processors/ARM/gdb-7.10/bfd/po/vi.po R processors/ARM/gdb-7.10/bfd/po/zh_CN.gmo R processors/ARM/gdb-7.10/bfd/po/zh_CN.po R processors/ARM/gdb-7.10/bfd/ppcboot.c R processors/ARM/gdb-7.10/bfd/ptrace-core.c R processors/ARM/gdb-7.10/bfd/reloc.c R processors/ARM/gdb-7.10/bfd/reloc16.c R processors/ARM/gdb-7.10/bfd/riscix.c R processors/ARM/gdb-7.10/bfd/rs6000-core.c R processors/ARM/gdb-7.10/bfd/sco5-core.c R processors/ARM/gdb-7.10/bfd/section.c R processors/ARM/gdb-7.10/bfd/simple.c R processors/ARM/gdb-7.10/bfd/som.c R processors/ARM/gdb-7.10/bfd/som.h R processors/ARM/gdb-7.10/bfd/sparclinux.c R processors/ARM/gdb-7.10/bfd/sparclynx.c R processors/ARM/gdb-7.10/bfd/sparcnetbsd.c R processors/ARM/gdb-7.10/bfd/srec.c R processors/ARM/gdb-7.10/bfd/stab-syms.c R processors/ARM/gdb-7.10/bfd/stabs.c R processors/ARM/gdb-7.10/bfd/sunos.c R processors/ARM/gdb-7.10/bfd/syms.c R processors/ARM/gdb-7.10/bfd/sysdep.h R processors/ARM/gdb-7.10/bfd/targets.c R processors/ARM/gdb-7.10/bfd/tekhex.c R processors/ARM/gdb-7.10/bfd/trad-core.c R processors/ARM/gdb-7.10/bfd/vax1knetbsd.c R processors/ARM/gdb-7.10/bfd/vaxbsd.c R processors/ARM/gdb-7.10/bfd/vaxnetbsd.c R processors/ARM/gdb-7.10/bfd/verilog.c R processors/ARM/gdb-7.10/bfd/versados.c R processors/ARM/gdb-7.10/bfd/version.h R processors/ARM/gdb-7.10/bfd/version.m4 R processors/ARM/gdb-7.10/bfd/vms-alpha.c R processors/ARM/gdb-7.10/bfd/vms-lib.c R processors/ARM/gdb-7.10/bfd/vms-misc.c R processors/ARM/gdb-7.10/bfd/vms.h R processors/ARM/gdb-7.10/bfd/warning.m4 R processors/ARM/gdb-7.10/bfd/xcofflink.c R processors/ARM/gdb-7.10/bfd/xsym.c R processors/ARM/gdb-7.10/bfd/xsym.h R processors/ARM/gdb-7.10/bfd/xtensa-isa.c R processors/ARM/gdb-7.10/bfd/xtensa-modules.c R processors/ARM/gdb-7.10/compile R processors/ARM/gdb-7.10/config-ml.in R processors/ARM/gdb-7.10/config.guess R processors/ARM/gdb-7.10/config.sub R processors/ARM/gdb-7.10/config/ChangeLog R processors/ARM/gdb-7.10/config/acx.m4 R processors/ARM/gdb-7.10/config/bootstrap-asan.mk R processors/ARM/gdb-7.10/config/bootstrap-debug-lean.mk R processors/ARM/gdb-7.10/config/bootstrap-lto.mk R processors/ARM/gdb-7.10/config/bootstrap-ubsan.mk R processors/ARM/gdb-7.10/config/dfp.m4 R processors/ARM/gdb-7.10/config/gettext.m4 R processors/ARM/gdb-7.10/config/iconv.m4 R processors/ARM/gdb-7.10/config/isl.m4 R processors/ARM/gdb-7.10/config/math.m4 R processors/ARM/gdb-7.10/config/multi.m4 R processors/ARM/gdb-7.10/config/override.m4 R processors/ARM/gdb-7.10/config/picflag.m4 R processors/ARM/gdb-7.10/config/plugins.m4 R processors/ARM/gdb-7.10/config/po.m4 R processors/ARM/gdb-7.10/config/stdint.m4 R processors/ARM/gdb-7.10/config/tcl.m4 R processors/ARM/gdb-7.10/config/tls.m4 R processors/ARM/gdb-7.10/config/warnings.m4 R processors/ARM/gdb-7.10/configure R processors/ARM/gdb-7.10/configure.ac R processors/ARM/gdb-7.10/include/COPYING R processors/ARM/gdb-7.10/include/COPYING3 R processors/ARM/gdb-7.10/include/ChangeLog R processors/ARM/gdb-7.10/include/ChangeLog-9103 R processors/ARM/gdb-7.10/include/MAINTAINERS R processors/ARM/gdb-7.10/include/alloca-conf.h R processors/ARM/gdb-7.10/include/ansidecl.h R processors/ARM/gdb-7.10/include/aout/ChangeLog R processors/ARM/gdb-7.10/include/aout/adobe.h R processors/ARM/gdb-7.10/include/aout/aout64.h R processors/ARM/gdb-7.10/include/aout/ar.h R processors/ARM/gdb-7.10/include/aout/dynix3.h R processors/ARM/gdb-7.10/include/aout/encap.h R processors/ARM/gdb-7.10/include/aout/host.h R processors/ARM/gdb-7.10/include/aout/hp.h R processors/ARM/gdb-7.10/include/aout/hp300hpux.h R processors/ARM/gdb-7.10/include/aout/hppa.h R processors/ARM/gdb-7.10/include/aout/ranlib.h R processors/ARM/gdb-7.10/include/aout/reloc.h R processors/ARM/gdb-7.10/include/aout/stab.def R processors/ARM/gdb-7.10/include/aout/stab_gnu.h R processors/ARM/gdb-7.10/include/aout/sun4.h R processors/ARM/gdb-7.10/include/bfdlink.h R processors/ARM/gdb-7.10/include/binary-io.h R processors/ARM/gdb-7.10/include/bout.h R processors/ARM/gdb-7.10/include/cgen/basic-modes.h R processors/ARM/gdb-7.10/include/cgen/basic-ops.h R processors/ARM/gdb-7.10/include/cgen/bitset.h R processors/ARM/gdb-7.10/include/coff/alpha.h R processors/ARM/gdb-7.10/include/coff/apollo.h R processors/ARM/gdb-7.10/include/coff/arm.h R processors/ARM/gdb-7.10/include/coff/aux-coff.h R processors/ARM/gdb-7.10/include/coff/ecoff.h R processors/ARM/gdb-7.10/include/coff/external.h R processors/ARM/gdb-7.10/include/coff/go32exe.h R processors/ARM/gdb-7.10/include/coff/h8300.h R processors/ARM/gdb-7.10/include/coff/h8500.h R processors/ARM/gdb-7.10/include/coff/i386.h R processors/ARM/gdb-7.10/include/coff/i860.h R processors/ARM/gdb-7.10/include/coff/i960.h R processors/ARM/gdb-7.10/include/coff/ia64.h R processors/ARM/gdb-7.10/include/coff/internal.h R processors/ARM/gdb-7.10/include/coff/m68k.h R processors/ARM/gdb-7.10/include/coff/m88k.h R processors/ARM/gdb-7.10/include/coff/mcore.h R processors/ARM/gdb-7.10/include/coff/mips.h R processors/ARM/gdb-7.10/include/coff/mipspe.h R processors/ARM/gdb-7.10/include/coff/pe.h R processors/ARM/gdb-7.10/include/coff/powerpc.h R processors/ARM/gdb-7.10/include/coff/rs6000.h R processors/ARM/gdb-7.10/include/coff/rs6k64.h R processors/ARM/gdb-7.10/include/coff/sh.h R processors/ARM/gdb-7.10/include/coff/sparc.h R processors/ARM/gdb-7.10/include/coff/ti.h R processors/ARM/gdb-7.10/include/coff/tic30.h R processors/ARM/gdb-7.10/include/coff/tic4x.h R processors/ARM/gdb-7.10/include/coff/tic54x.h R processors/ARM/gdb-7.10/include/coff/tic80.h R processors/ARM/gdb-7.10/include/coff/w65.h R processors/ARM/gdb-7.10/include/coff/we32k.h R processors/ARM/gdb-7.10/include/coff/x86_64.h R processors/ARM/gdb-7.10/include/coff/xcoff.h R processors/ARM/gdb-7.10/include/coff/z80.h R processors/ARM/gdb-7.10/include/coff/z8k.h R processors/ARM/gdb-7.10/include/demangle.h R processors/ARM/gdb-7.10/include/dis-asm.h R processors/ARM/gdb-7.10/include/dwarf2.def R processors/ARM/gdb-7.10/include/dwarf2.h R processors/ARM/gdb-7.10/include/dyn-string.h R processors/ARM/gdb-7.10/include/elf/ChangeLog R processors/ARM/gdb-7.10/include/elf/aarch64.h R processors/ARM/gdb-7.10/include/elf/alpha.h R processors/ARM/gdb-7.10/include/elf/arc.h R processors/ARM/gdb-7.10/include/elf/arm.h R processors/ARM/gdb-7.10/include/elf/avr.h R processors/ARM/gdb-7.10/include/elf/bfin.h R processors/ARM/gdb-7.10/include/elf/common.h R processors/ARM/gdb-7.10/include/elf/cr16.h R processors/ARM/gdb-7.10/include/elf/cr16c.h R processors/ARM/gdb-7.10/include/elf/cris.h R processors/ARM/gdb-7.10/include/elf/crx.h R processors/ARM/gdb-7.10/include/elf/d10v.h R processors/ARM/gdb-7.10/include/elf/d30v.h R processors/ARM/gdb-7.10/include/elf/dlx.h R processors/ARM/gdb-7.10/include/elf/dwarf.h R processors/ARM/gdb-7.10/include/elf/epiphany.h R processors/ARM/gdb-7.10/include/elf/external.h R processors/ARM/gdb-7.10/include/elf/fr30.h R processors/ARM/gdb-7.10/include/elf/frv.h R processors/ARM/gdb-7.10/include/elf/ft32.h R processors/ARM/gdb-7.10/include/elf/h8.h R processors/ARM/gdb-7.10/include/elf/hppa.h R processors/ARM/gdb-7.10/include/elf/i370.h R processors/ARM/gdb-7.10/include/elf/i386.h R processors/ARM/gdb-7.10/include/elf/i860.h R processors/ARM/gdb-7.10/include/elf/i960.h R processors/ARM/gdb-7.10/include/elf/ia64.h R processors/ARM/gdb-7.10/include/elf/internal.h R processors/ARM/gdb-7.10/include/elf/ip2k.h R processors/ARM/gdb-7.10/include/elf/iq2000.h R processors/ARM/gdb-7.10/include/elf/lm32.h R processors/ARM/gdb-7.10/include/elf/m32c.h R processors/ARM/gdb-7.10/include/elf/m32r.h R processors/ARM/gdb-7.10/include/elf/m68hc11.h R processors/ARM/gdb-7.10/include/elf/m68k.h R processors/ARM/gdb-7.10/include/elf/mcore.h R processors/ARM/gdb-7.10/include/elf/mep.h R processors/ARM/gdb-7.10/include/elf/metag.h R processors/ARM/gdb-7.10/include/elf/microblaze.h R processors/ARM/gdb-7.10/include/elf/mips.h R processors/ARM/gdb-7.10/include/elf/mmix.h R processors/ARM/gdb-7.10/include/elf/mn10200.h R processors/ARM/gdb-7.10/include/elf/mn10300.h R processors/ARM/gdb-7.10/include/elf/moxie.h R processors/ARM/gdb-7.10/include/elf/msp430.h R processors/ARM/gdb-7.10/include/elf/mt.h R processors/ARM/gdb-7.10/include/elf/nds32.h R processors/ARM/gdb-7.10/include/elf/nios2.h R processors/ARM/gdb-7.10/include/elf/or1k.h R processors/ARM/gdb-7.10/include/elf/pj.h R processors/ARM/gdb-7.10/include/elf/ppc.h R processors/ARM/gdb-7.10/include/elf/ppc64.h R processors/ARM/gdb-7.10/include/elf/reloc-macros.h R processors/ARM/gdb-7.10/include/elf/rl78.h R processors/ARM/gdb-7.10/include/elf/rx.h R processors/ARM/gdb-7.10/include/elf/s390.h R processors/ARM/gdb-7.10/include/elf/score.h R processors/ARM/gdb-7.10/include/elf/sh.h R processors/ARM/gdb-7.10/include/elf/sparc.h R processors/ARM/gdb-7.10/include/elf/spu.h R processors/ARM/gdb-7.10/include/elf/tic6x-attrs.h R processors/ARM/gdb-7.10/include/elf/tic6x.h R processors/ARM/gdb-7.10/include/elf/tilegx.h R processors/ARM/gdb-7.10/include/elf/tilepro.h R processors/ARM/gdb-7.10/include/elf/v850.h R processors/ARM/gdb-7.10/include/elf/vax.h R processors/ARM/gdb-7.10/include/elf/visium.h R processors/ARM/gdb-7.10/include/elf/vxworks.h R processors/ARM/gdb-7.10/include/elf/x86-64.h R processors/ARM/gdb-7.10/include/elf/xc16x.h R processors/ARM/gdb-7.10/include/elf/xgate.h R processors/ARM/gdb-7.10/include/elf/xstormy16.h R processors/ARM/gdb-7.10/include/elf/xtensa.h R processors/ARM/gdb-7.10/include/fibheap.h R processors/ARM/gdb-7.10/include/filenames.h R processors/ARM/gdb-7.10/include/floatformat.h R processors/ARM/gdb-7.10/include/fnmatch.h R processors/ARM/gdb-7.10/include/fopen-bin.h R processors/ARM/gdb-7.10/include/fopen-same.h R processors/ARM/gdb-7.10/include/fopen-vms.h R processors/ARM/gdb-7.10/include/gcc-c-fe.def R processors/ARM/gdb-7.10/include/gcc-c-interface.h R processors/ARM/gdb-7.10/include/gcc-interface.h R processors/ARM/gdb-7.10/include/gdb/ChangeLog R processors/ARM/gdb-7.10/include/gdb/callback.h R processors/ARM/gdb-7.10/include/gdb/fileio.h R processors/ARM/gdb-7.10/include/gdb/gdb-index.h R processors/ARM/gdb-7.10/include/gdb/remote-sim.h R processors/ARM/gdb-7.10/include/gdb/section-scripts.h R processors/ARM/gdb-7.10/include/gdb/signals.def R processors/ARM/gdb-7.10/include/gdb/signals.h R processors/ARM/gdb-7.10/include/gdb/sim-arm.h R processors/ARM/gdb-7.10/include/gdb/sim-bfin.h R processors/ARM/gdb-7.10/include/gdb/sim-cr16.h R processors/ARM/gdb-7.10/include/gdb/sim-d10v.h R processors/ARM/gdb-7.10/include/gdb/sim-frv.h R processors/ARM/gdb-7.10/include/gdb/sim-ft32.h R processors/ARM/gdb-7.10/include/gdb/sim-h8300.h R processors/ARM/gdb-7.10/include/gdb/sim-lm32.h R processors/ARM/gdb-7.10/include/gdb/sim-m32c.h R processors/ARM/gdb-7.10/include/gdb/sim-ppc.h R processors/ARM/gdb-7.10/include/gdb/sim-rl78.h R processors/ARM/gdb-7.10/include/gdb/sim-rx.h R processors/ARM/gdb-7.10/include/gdb/sim-sh.h R processors/ARM/gdb-7.10/include/getopt.h R processors/ARM/gdb-7.10/include/hashtab.h R processors/ARM/gdb-7.10/include/hp-symtab.h R processors/ARM/gdb-7.10/include/ieee.h R processors/ARM/gdb-7.10/include/leb128.h R processors/ARM/gdb-7.10/include/libiberty.h R processors/ARM/gdb-7.10/include/longlong.h R processors/ARM/gdb-7.10/include/lto-symtab.h R processors/ARM/gdb-7.10/include/mach-o/ChangeLog R processors/ARM/gdb-7.10/include/mach-o/arm.h R processors/ARM/gdb-7.10/include/mach-o/codesign.h R processors/ARM/gdb-7.10/include/mach-o/external.h R processors/ARM/gdb-7.10/include/mach-o/loader.h R processors/ARM/gdb-7.10/include/mach-o/reloc.h R processors/ARM/gdb-7.10/include/mach-o/unwind.h R processors/ARM/gdb-7.10/include/mach-o/x86-64.h R processors/ARM/gdb-7.10/include/md5.h R processors/ARM/gdb-7.10/include/nlm/ChangeLog R processors/ARM/gdb-7.10/include/nlm/alpha-ext.h R processors/ARM/gdb-7.10/include/nlm/common.h R processors/ARM/gdb-7.10/include/nlm/external.h R processors/ARM/gdb-7.10/include/nlm/i386-ext.h R processors/ARM/gdb-7.10/include/nlm/internal.h R processors/ARM/gdb-7.10/include/nlm/ppc-ext.h R processors/ARM/gdb-7.10/include/nlm/sparc32-ext.h R processors/ARM/gdb-7.10/include/oasys.h R processors/ARM/gdb-7.10/include/objalloc.h R processors/ARM/gdb-7.10/include/obstack.h R processors/ARM/gdb-7.10/include/opcode/ChangeLog R processors/ARM/gdb-7.10/include/opcode/aarch64.h R processors/ARM/gdb-7.10/include/opcode/alpha.h R processors/ARM/gdb-7.10/include/opcode/arc.h R processors/ARM/gdb-7.10/include/opcode/arm.h R processors/ARM/gdb-7.10/include/opcode/avr.h R processors/ARM/gdb-7.10/include/opcode/bfin.h R processors/ARM/gdb-7.10/include/opcode/cgen.h R processors/ARM/gdb-7.10/include/opcode/convex.h R processors/ARM/gdb-7.10/include/opcode/cr16.h R processors/ARM/gdb-7.10/include/opcode/cris.h R processors/ARM/gdb-7.10/include/opcode/crx.h R processors/ARM/gdb-7.10/include/opcode/d10v.h R processors/ARM/gdb-7.10/include/opcode/d30v.h R processors/ARM/gdb-7.10/include/opcode/dlx.h R processors/ARM/gdb-7.10/include/opcode/ft32.h R processors/ARM/gdb-7.10/include/opcode/h8300.h R processors/ARM/gdb-7.10/include/opcode/hppa.h R processors/ARM/gdb-7.10/include/opcode/i370.h R processors/ARM/gdb-7.10/include/opcode/i386.h R processors/ARM/gdb-7.10/include/opcode/i860.h R processors/ARM/gdb-7.10/include/opcode/i960.h R processors/ARM/gdb-7.10/include/opcode/ia64.h R processors/ARM/gdb-7.10/include/opcode/m68hc11.h R processors/ARM/gdb-7.10/include/opcode/m68k.h R processors/ARM/gdb-7.10/include/opcode/m88k.h R processors/ARM/gdb-7.10/include/opcode/metag.h R processors/ARM/gdb-7.10/include/opcode/mips.h R processors/ARM/gdb-7.10/include/opcode/mmix.h R processors/ARM/gdb-7.10/include/opcode/mn10200.h R processors/ARM/gdb-7.10/include/opcode/mn10300.h R processors/ARM/gdb-7.10/include/opcode/moxie.h R processors/ARM/gdb-7.10/include/opcode/msp430-decode.h R processors/ARM/gdb-7.10/include/opcode/msp430.h R processors/ARM/gdb-7.10/include/opcode/nds32.h R processors/ARM/gdb-7.10/include/opcode/nios2.h R processors/ARM/gdb-7.10/include/opcode/nios2r1.h R processors/ARM/gdb-7.10/include/opcode/nios2r2.h R processors/ARM/gdb-7.10/include/opcode/np1.h R processors/ARM/gdb-7.10/include/opcode/ns32k.h R processors/ARM/gdb-7.10/include/opcode/pdp11.h R processors/ARM/gdb-7.10/include/opcode/pj.h R processors/ARM/gdb-7.10/include/opcode/pn.h R processors/ARM/gdb-7.10/include/opcode/ppc.h R processors/ARM/gdb-7.10/include/opcode/pyr.h R processors/ARM/gdb-7.10/include/opcode/rl78.h R processors/ARM/gdb-7.10/include/opcode/rx.h R processors/ARM/gdb-7.10/include/opcode/s390.h R processors/ARM/gdb-7.10/include/opcode/score-datadep.h R processors/ARM/gdb-7.10/include/opcode/score-inst.h R processors/ARM/gdb-7.10/include/opcode/sparc.h R processors/ARM/gdb-7.10/include/opcode/spu-insns.h R processors/ARM/gdb-7.10/include/opcode/spu.h R processors/ARM/gdb-7.10/include/opcode/tahoe.h R processors/ARM/gdb-7.10/include/opcode/tic30.h R processors/ARM/gdb-7.10/include/opcode/tic4x.h R processors/ARM/gdb-7.10/include/opcode/tic54x.h R processors/ARM/gdb-7.10/include/opcode/tic6x-control-registers.h R processors/ARM/gdb-7.10/include/opcode/tic6x-insn-formats.h R processors/ARM/gdb-7.10/include/opcode/tic6x-opcode-table.h R processors/ARM/gdb-7.10/include/opcode/tic6x.h R processors/ARM/gdb-7.10/include/opcode/tic80.h R processors/ARM/gdb-7.10/include/opcode/tilegx.h R processors/ARM/gdb-7.10/include/opcode/tilepro.h R processors/ARM/gdb-7.10/include/opcode/v850.h R processors/ARM/gdb-7.10/include/opcode/vax.h R processors/ARM/gdb-7.10/include/opcode/visium.h R processors/ARM/gdb-7.10/include/opcode/xgate.h R processors/ARM/gdb-7.10/include/os9k.h R processors/ARM/gdb-7.10/include/partition.h R processors/ARM/gdb-7.10/include/plugin-api.h R processors/ARM/gdb-7.10/include/progress.h R processors/ARM/gdb-7.10/include/safe-ctype.h R processors/ARM/gdb-7.10/include/sha1.h R processors/ARM/gdb-7.10/include/simple-object.h R processors/ARM/gdb-7.10/include/som/aout.h R processors/ARM/gdb-7.10/include/som/clock.h R processors/ARM/gdb-7.10/include/som/internal.h R processors/ARM/gdb-7.10/include/som/lst.h R processors/ARM/gdb-7.10/include/som/reloc.h R processors/ARM/gdb-7.10/include/sort.h R processors/ARM/gdb-7.10/include/splay-tree.h R processors/ARM/gdb-7.10/include/symcat.h R processors/ARM/gdb-7.10/include/timeval-utils.h R processors/ARM/gdb-7.10/include/vms/dcx.h R processors/ARM/gdb-7.10/include/vms/dmt.h R processors/ARM/gdb-7.10/include/vms/dsc.h R processors/ARM/gdb-7.10/include/vms/dst.h R processors/ARM/gdb-7.10/include/vms/eeom.h R processors/ARM/gdb-7.10/include/vms/egps.h R processors/ARM/gdb-7.10/include/vms/egsd.h R processors/ARM/gdb-7.10/include/vms/egst.h R processors/ARM/gdb-7.10/include/vms/egsy.h R processors/ARM/gdb-7.10/include/vms/eiaf.h R processors/ARM/gdb-7.10/include/vms/eicp.h R processors/ARM/gdb-7.10/include/vms/eidc.h R processors/ARM/gdb-7.10/include/vms/eiha.h R processors/ARM/gdb-7.10/include/vms/eihd.h R processors/ARM/gdb-7.10/include/vms/eihi.h R processors/ARM/gdb-7.10/include/vms/eihs.h R processors/ARM/gdb-7.10/include/vms/eihvn.h R processors/ARM/gdb-7.10/include/vms/eisd.h R processors/ARM/gdb-7.10/include/vms/emh.h R processors/ARM/gdb-7.10/include/vms/eobjrec.h R processors/ARM/gdb-7.10/include/vms/esdf.h R processors/ARM/gdb-7.10/include/vms/esdfm.h R processors/ARM/gdb-7.10/include/vms/esdfv.h R processors/ARM/gdb-7.10/include/vms/esgps.h R processors/ARM/gdb-7.10/include/vms/esrf.h R processors/ARM/gdb-7.10/include/vms/etir.h R processors/ARM/gdb-7.10/include/vms/internal.h R processors/ARM/gdb-7.10/include/vms/lbr.h R processors/ARM/gdb-7.10/include/vms/prt.h R processors/ARM/gdb-7.10/include/vms/shl.h R processors/ARM/gdb-7.10/include/vtv-change-permission.h R processors/ARM/gdb-7.10/include/xregex2.h R processors/ARM/gdb-7.10/include/xtensa-config.h R processors/ARM/gdb-7.10/include/xtensa-isa-internal.h R processors/ARM/gdb-7.10/include/xtensa-isa.h R processors/ARM/gdb-7.10/libiberty/ChangeLog R processors/ARM/gdb-7.10/libiberty/Makefile.in R processors/ARM/gdb-7.10/libiberty/_doprnt.c R processors/ARM/gdb-7.10/libiberty/argv.c R processors/ARM/gdb-7.10/libiberty/asprintf.c R processors/ARM/gdb-7.10/libiberty/choose-temp.c R processors/ARM/gdb-7.10/libiberty/clock.c R processors/ARM/gdb-7.10/libiberty/concat.c R processors/ARM/gdb-7.10/libiberty/config.in R processors/ARM/gdb-7.10/libiberty/configure R processors/ARM/gdb-7.10/libiberty/configure.ac R processors/ARM/gdb-7.10/libiberty/copying-lib.texi R processors/ARM/gdb-7.10/libiberty/cp-demangle.c R processors/ARM/gdb-7.10/libiberty/cp-demangle.h R processors/ARM/gdb-7.10/libiberty/cp-demint.c R processors/ARM/gdb-7.10/libiberty/cplus-dem.c R processors/ARM/gdb-7.10/libiberty/crc32.c R processors/ARM/gdb-7.10/libiberty/d-demangle.c R processors/ARM/gdb-7.10/libiberty/dwarfnames.c R processors/ARM/gdb-7.10/libiberty/dyn-string.c R processors/ARM/gdb-7.10/libiberty/fdmatch.c R processors/ARM/gdb-7.10/libiberty/fibheap.c R processors/ARM/gdb-7.10/libiberty/filename_cmp.c R processors/ARM/gdb-7.10/libiberty/floatformat.c R processors/ARM/gdb-7.10/libiberty/fnmatch.c R processors/ARM/gdb-7.10/libiberty/fopen_unlocked.c R processors/ARM/gdb-7.10/libiberty/functions.texi R processors/ARM/gdb-7.10/libiberty/gather-docs R processors/ARM/gdb-7.10/libiberty/getopt.c R processors/ARM/gdb-7.10/libiberty/getopt1.c R processors/ARM/gdb-7.10/libiberty/getruntime.c R processors/ARM/gdb-7.10/libiberty/hashtab.c R processors/ARM/gdb-7.10/libiberty/hex.c R processors/ARM/gdb-7.10/libiberty/lbasename.c R processors/ARM/gdb-7.10/libiberty/libiberty.texi R processors/ARM/gdb-7.10/libiberty/lrealpath.c R processors/ARM/gdb-7.10/libiberty/maint-tool R processors/ARM/gdb-7.10/libiberty/make-relative-prefix.c R processors/ARM/gdb-7.10/libiberty/make-temp-file.c R processors/ARM/gdb-7.10/libiberty/md5.c R processors/ARM/gdb-7.10/libiberty/memmem.c R processors/ARM/gdb-7.10/libiberty/mempcpy.c R processors/ARM/gdb-7.10/libiberty/mkstemps.c R processors/ARM/gdb-7.10/libiberty/objalloc.c R processors/ARM/gdb-7.10/libiberty/obstack.c R processors/ARM/gdb-7.10/libiberty/obstacks.texi R processors/ARM/gdb-7.10/libiberty/partition.c R processors/ARM/gdb-7.10/libiberty/pex-common.c R processors/ARM/gdb-7.10/libiberty/pex-common.h R processors/ARM/gdb-7.10/libiberty/pex-djgpp.c R processors/ARM/gdb-7.10/libiberty/pex-msdos.c R processors/ARM/gdb-7.10/libiberty/pex-one.c R processors/ARM/gdb-7.10/libiberty/pex-unix.c R processors/ARM/gdb-7.10/libiberty/pex-win32.c R processors/ARM/gdb-7.10/libiberty/pexecute.c R processors/ARM/gdb-7.10/libiberty/physmem.c R processors/ARM/gdb-7.10/libiberty/putenv.c R processors/ARM/gdb-7.10/libiberty/regex.c R processors/ARM/gdb-7.10/libiberty/safe-ctype.c R processors/ARM/gdb-7.10/libiberty/setenv.c R processors/ARM/gdb-7.10/libiberty/setproctitle.c R processors/ARM/gdb-7.10/libiberty/sha1.c R processors/ARM/gdb-7.10/libiberty/simple-object-coff.c R processors/ARM/gdb-7.10/libiberty/simple-object-common.h R processors/ARM/gdb-7.10/libiberty/simple-object-elf.c R processors/ARM/gdb-7.10/libiberty/simple-object-mach-o.c R processors/ARM/gdb-7.10/libiberty/simple-object-xcoff.c R processors/ARM/gdb-7.10/libiberty/simple-object.c R processors/ARM/gdb-7.10/libiberty/snprintf.c R processors/ARM/gdb-7.10/libiberty/sort.c R processors/ARM/gdb-7.10/libiberty/spaces.c R processors/ARM/gdb-7.10/libiberty/splay-tree.c R processors/ARM/gdb-7.10/libiberty/stack-limit.c R processors/ARM/gdb-7.10/libiberty/stpcpy.c R processors/ARM/gdb-7.10/libiberty/stpncpy.c R processors/ARM/gdb-7.10/libiberty/strndup.c R processors/ARM/gdb-7.10/libiberty/strtod.c R processors/ARM/gdb-7.10/libiberty/strverscmp.c R processors/ARM/gdb-7.10/libiberty/testsuite/Makefile.in R processors/ARM/gdb-7.10/libiberty/testsuite/d-demangle-expected R processors/ARM/gdb-7.10/libiberty/testsuite/demangle-expected R processors/ARM/gdb-7.10/libiberty/testsuite/demangler-fuzzer.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-demangle.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-expandargv.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-pexecute.c R processors/ARM/gdb-7.10/libiberty/testsuite/test-strtol.c R processors/ARM/gdb-7.10/libiberty/timeval-utils.c R processors/ARM/gdb-7.10/libiberty/unlink-if-ordinary.c R processors/ARM/gdb-7.10/libiberty/vasprintf.c R processors/ARM/gdb-7.10/libiberty/vfprintf.c R processors/ARM/gdb-7.10/libiberty/vprintf-support.c R processors/ARM/gdb-7.10/libiberty/vprintf-support.h R processors/ARM/gdb-7.10/libiberty/vsnprintf.c R processors/ARM/gdb-7.10/libiberty/vsprintf.c R processors/ARM/gdb-7.10/libiberty/waitpid.c R processors/ARM/gdb-7.10/libiberty/xasprintf.c R processors/ARM/gdb-7.10/libiberty/xexit.c R processors/ARM/gdb-7.10/libiberty/xmalloc.c R processors/ARM/gdb-7.10/libiberty/xmemdup.c R processors/ARM/gdb-7.10/libiberty/xstrndup.c R processors/ARM/gdb-7.10/libiberty/xvasprintf.c R processors/ARM/gdb-7.10/md5.sum R processors/ARM/gdb-7.10/missing R processors/ARM/gdb-7.10/mkdep R processors/ARM/gdb-7.10/opcodes/ChangeLog R processors/ARM/gdb-7.10/opcodes/ChangeLog-0001 R processors/ARM/gdb-7.10/opcodes/ChangeLog-0203 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2004 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2005 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2006 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2007 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2008 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2009 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2010 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2011 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2012 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2013 R processors/ARM/gdb-7.10/opcodes/ChangeLog-2014 R processors/ARM/gdb-7.10/opcodes/ChangeLog-9297 R processors/ARM/gdb-7.10/opcodes/ChangeLog-9899 R processors/ARM/gdb-7.10/opcodes/MAINTAINERS R processors/ARM/gdb-7.10/opcodes/Makefile.am R processors/ARM/gdb-7.10/opcodes/Makefile.in R processors/ARM/gdb-7.10/opcodes/aarch64-asm-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-asm.c R processors/ARM/gdb-7.10/opcodes/aarch64-asm.h R processors/ARM/gdb-7.10/opcodes/aarch64-dis-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-dis.c R processors/ARM/gdb-7.10/opcodes/aarch64-dis.h R processors/ARM/gdb-7.10/opcodes/aarch64-gen.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc-2.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc.c R processors/ARM/gdb-7.10/opcodes/aarch64-opc.h R processors/ARM/gdb-7.10/opcodes/aarch64-tbl.h R processors/ARM/gdb-7.10/opcodes/aclocal.m4 R processors/ARM/gdb-7.10/opcodes/alpha-dis.c R processors/ARM/gdb-7.10/opcodes/alpha-opc.c R processors/ARM/gdb-7.10/opcodes/arc-dis.c R processors/ARM/gdb-7.10/opcodes/arc-dis.h R processors/ARM/gdb-7.10/opcodes/arc-ext.c R processors/ARM/gdb-7.10/opcodes/arc-ext.h R processors/ARM/gdb-7.10/opcodes/arc-opc.c R processors/ARM/gdb-7.10/opcodes/arm-dis.c R processors/ARM/gdb-7.10/opcodes/avr-dis.c R processors/ARM/gdb-7.10/opcodes/bfin-dis.c R processors/ARM/gdb-7.10/opcodes/cgen-asm.c R processors/ARM/gdb-7.10/opcodes/cgen-asm.in R processors/ARM/gdb-7.10/opcodes/cgen-bitset.c R processors/ARM/gdb-7.10/opcodes/cgen-dis.c R processors/ARM/gdb-7.10/opcodes/cgen-dis.in R processors/ARM/gdb-7.10/opcodes/cgen-ibld.in R processors/ARM/gdb-7.10/opcodes/cgen-opc.c R processors/ARM/gdb-7.10/opcodes/cgen.sh R processors/ARM/gdb-7.10/opcodes/configure R processors/ARM/gdb-7.10/opcodes/configure.ac R processors/ARM/gdb-7.10/opcodes/configure.com R processors/ARM/gdb-7.10/opcodes/cr16-dis.c R processors/ARM/gdb-7.10/opcodes/cr16-opc.c R processors/ARM/gdb-7.10/opcodes/cris-dis.c R processors/ARM/gdb-7.10/opcodes/cris-opc.c R processors/ARM/gdb-7.10/opcodes/crx-dis.c R processors/ARM/gdb-7.10/opcodes/crx-opc.c R processors/ARM/gdb-7.10/opcodes/d10v-dis.c R processors/ARM/gdb-7.10/opcodes/d10v-opc.c R processors/ARM/gdb-7.10/opcodes/d30v-dis.c R processors/ARM/gdb-7.10/opcodes/d30v-opc.c R processors/ARM/gdb-7.10/opcodes/dis-buf.c R processors/ARM/gdb-7.10/opcodes/dis-init.c R processors/ARM/gdb-7.10/opcodes/disassemble.c R processors/ARM/gdb-7.10/opcodes/dlx-dis.c R processors/ARM/gdb-7.10/opcodes/epiphany-asm.c R processors/ARM/gdb-7.10/opcodes/epiphany-desc.c R processors/ARM/gdb-7.10/opcodes/epiphany-desc.h R processors/ARM/gdb-7.10/opcodes/epiphany-dis.c R processors/ARM/gdb-7.10/opcodes/epiphany-ibld.c R processors/ARM/gdb-7.10/opcodes/epiphany-opc.c R processors/ARM/gdb-7.10/opcodes/epiphany-opc.h R processors/ARM/gdb-7.10/opcodes/fr30-asm.c R processors/ARM/gdb-7.10/opcodes/fr30-desc.c R processors/ARM/gdb-7.10/opcodes/fr30-desc.h R processors/ARM/gdb-7.10/opcodes/fr30-dis.c R processors/ARM/gdb-7.10/opcodes/fr30-ibld.c R processors/ARM/gdb-7.10/opcodes/fr30-opc.c R processors/ARM/gdb-7.10/opcodes/fr30-opc.h R processors/ARM/gdb-7.10/opcodes/frv-asm.c R processors/ARM/gdb-7.10/opcodes/frv-desc.c R processors/ARM/gdb-7.10/opcodes/frv-desc.h R processors/ARM/gdb-7.10/opcodes/frv-dis.c R processors/ARM/gdb-7.10/opcodes/frv-ibld.c R processors/ARM/gdb-7.10/opcodes/frv-opc.c R processors/ARM/gdb-7.10/opcodes/frv-opc.h R processors/ARM/gdb-7.10/opcodes/ft32-dis.c R processors/ARM/gdb-7.10/opcodes/ft32-opc.c R processors/ARM/gdb-7.10/opcodes/h8300-dis.c R processors/ARM/gdb-7.10/opcodes/h8500-dis.c R processors/ARM/gdb-7.10/opcodes/h8500-opc.h R processors/ARM/gdb-7.10/opcodes/hppa-dis.c R processors/ARM/gdb-7.10/opcodes/i370-dis.c R processors/ARM/gdb-7.10/opcodes/i370-opc.c R processors/ARM/gdb-7.10/opcodes/i386-dis-evex.h R processors/ARM/gdb-7.10/opcodes/i386-dis.c R processors/ARM/gdb-7.10/opcodes/i386-gen.c R processors/ARM/gdb-7.10/opcodes/i386-init.h R processors/ARM/gdb-7.10/opcodes/i386-opc.c R processors/ARM/gdb-7.10/opcodes/i386-opc.h R processors/ARM/gdb-7.10/opcodes/i386-opc.tbl R processors/ARM/gdb-7.10/opcodes/i386-reg.tbl R processors/ARM/gdb-7.10/opcodes/i386-tbl.h R processors/ARM/gdb-7.10/opcodes/i860-dis.c R processors/ARM/gdb-7.10/opcodes/i960-dis.c R processors/ARM/gdb-7.10/opcodes/ia64-asmtab.c R processors/ARM/gdb-7.10/opcodes/ia64-asmtab.h R processors/ARM/gdb-7.10/opcodes/ia64-dis.c R processors/ARM/gdb-7.10/opcodes/ia64-gen.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-a.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-b.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-d.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-f.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-i.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-m.c R processors/ARM/gdb-7.10/opcodes/ia64-opc-x.c R processors/ARM/gdb-7.10/opcodes/ia64-opc.c R processors/ARM/gdb-7.10/opcodes/ia64-opc.h R processors/ARM/gdb-7.10/opcodes/ip2k-asm.c R processors/ARM/gdb-7.10/opcodes/ip2k-desc.c R processors/ARM/gdb-7.10/opcodes/ip2k-desc.h R processors/ARM/gdb-7.10/opcodes/ip2k-dis.c R processors/ARM/gdb-7.10/opcodes/ip2k-ibld.c R processors/ARM/gdb-7.10/opcodes/ip2k-opc.c R processors/ARM/gdb-7.10/opcodes/ip2k-opc.h R processors/ARM/gdb-7.10/opcodes/iq2000-asm.c R processors/ARM/gdb-7.10/opcodes/iq2000-desc.c R processors/ARM/gdb-7.10/opcodes/iq2000-desc.h R processors/ARM/gdb-7.10/opcodes/iq2000-dis.c R processors/ARM/gdb-7.10/opcodes/iq2000-ibld.c R processors/ARM/gdb-7.10/opcodes/iq2000-opc.c R processors/ARM/gdb-7.10/opcodes/iq2000-opc.h R processors/ARM/gdb-7.10/opcodes/lm32-asm.c R processors/ARM/gdb-7.10/opcodes/lm32-desc.c R processors/ARM/gdb-7.10/opcodes/lm32-desc.h R processors/ARM/gdb-7.10/opcodes/lm32-dis.c R processors/ARM/gdb-7.10/opcodes/lm32-ibld.c R processors/ARM/gdb-7.10/opcodes/lm32-opc.c R processors/ARM/gdb-7.10/opcodes/lm32-opc.h R processors/ARM/gdb-7.10/opcodes/lm32-opinst.c R processors/ARM/gdb-7.10/opcodes/m10200-dis.c R processors/ARM/gdb-7.10/opcodes/m10200-opc.c R processors/ARM/gdb-7.10/opcodes/m10300-dis.c R processors/ARM/gdb-7.10/opcodes/m10300-opc.c R processors/ARM/gdb-7.10/opcodes/m32c-asm.c R processors/ARM/gdb-7.10/opcodes/m32c-desc.c Log Message: ----------- Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2 * origin/Cog: (1445 commits) CogVM source as per FileAttributesPlugin.oscog-eem.59 CogVM source as per FileAttributesPlugin.oscog-eem.57 CogVM source as per FileAttributesPlugin.oscog-eem.56 CogVM source as per VMMaker.oscog-eem.2799/ClosedVMMaker-eem.98 Add the minimal _setjmp/_longjmp for Win64 adapted from Julia Lang. Make sure all external plgins use it too. This commit may break the 32-bit WIN32 builds. We'll rescue them when time allows, either by adding a _setjmp-x86.asm or by modifying sqSetjmpShim to map _setjmp/_longjmp to setjmpex/longjmpex. CogVM source as per VMMaker.oscog-eem.2798 CogVM source as per VMMaker.oscog-eem.2797 CogVM source as per VMMaker.oscog-eem.2796 Works with amd64 as well as aarch64 Updated usage notes Semi-document the failonffiexception command line argument (haven't yet doc'ed nofailonffiexception). CogVM source as per VMMaker.oscog-eem.2794 Fix long-standing confusion in generating the interface header files between the CoInterpreter and the Cogit. VM_EXPORT is the marker for export between the VM and external plugins (dlls/shared-objects). Between the CoInterpreter and the Cogit we need nothing more than extern. Eliminate some funky Unicode "i" in sqUnixXdnd.c. [ci skip] Add Apple Silicon entitlements (still no joy with lldb though). Clean up build directory .gitignore hackery. [ci skip] Wheel events new shorted splash screen display time cmd-. works 32 bit depth works reboot lossage fixup ... Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/798fada5dce4...643aabc51911 From noreply at github.com Fri Sep 11 13:32:53 2020 From: noreply at github.com (Tobias Pape) Date: Fri, 11 Sep 2020 06:32:53 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 85b7ad: [unix/fbdev] use C standard int names Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 85b7adecc0f8f13df67c79dad35a7471bea31626 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/85b7adecc0f8f13df67c79dad35a7471bea31626 Author: Tobias Pape Date: 2020-09-11 (Fri, 11 Sep 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- [unix/fbdev] use C standard int names From no-reply at appveyor.com Fri Sep 11 13:36:54 2020 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 11 Sep 2020 13:36:54 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2167 Message-ID: <20200911133654.1.E4D8993CBCA04444@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Fri Sep 11 13:45:06 2020 From: builds at travis-ci.org (Travis CI) Date: Fri, 11 Sep 2020 13:45:06 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2167 (Cog - 85b7ade) In-Reply-To: Message-ID: <5f5b7f6287017_13fc7525187c81355da@travis-tasks-685c5b57c5-s6bsc.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2167 Status: Errored Duration: 23 mins and 6 secs Commit: 85b7ade (Cog) Author: Tobias Pape Message: [unix/fbdev] use C standard int names View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/d2c335a3d263...85b7adecc0f8 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726275067?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 13:50:39 2020 From: notifications at github.com (Christoph Thiede) Date: Fri, 11 Sep 2020 06:50:39 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: David, this sounds interesting. Either we have to change the timestamps of all recorded events (possibly losing accuracy), or we change the reference value provided by `Time eventMillisecondClock` (primitive 135/`primitiveMillisecondClock`). Is this what you meant? Is there any contract saying that if you start the VM, `Time eventMillisecondClock` should return a very small value? If not, could we just modify the Win32 implementation of `ioMSecs()` to return `GetTickCount()`, or could there be any other component depending on the current implementation? So many questions! 😅 And here is just another one: Why does the Stack VM use a different header for the timing stuff (`sqWin32Heartbeat.c` vs `sqWin32Time.c`)? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-691107144 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 13:51:09 2020 From: notifications at github.com (Eliot Miranda) Date: Fri, 11 Sep 2020 06:51:09 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] DO NOT INTEGRATE - FOR DISCUSSION ONLY Minimalistic headless x64 msvc2017 (#312) In-Reply-To: References: Message-ID: If herein is simpler then herein :-) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/312#issuecomment-691107427 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 13:56:32 2020 From: notifications at github.com (Tobias Pape) Date: Fri, 11 Sep 2020 06:56:32 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] DO NOT INTEGRATE - FOR DISCUSSION ONLY Minimalistic headless x64 msvc2017 (#312) In-Reply-To: References: Message-ID: since 4 out of 6 files have conflicts and some changes are marked "not required" or "already taken care of" by @bencoman, I'd say, starting over is easier? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/312#issuecomment-691110281 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 14:34:03 2020 From: notifications at github.com (Eliot Miranda) Date: Fri, 11 Sep 2020 07:34:03 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] DO NOT INTEGRATE - FOR DISCUSSION ONLY Minimalistic headless x64 msvc2017 (#312) In-Reply-To: References: Message-ID: Cool. Closing... -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/312#issuecomment-691130830 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 14:34:03 2020 From: notifications at github.com (Eliot Miranda) Date: Fri, 11 Sep 2020 07:34:03 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] DO NOT INTEGRATE - FOR DISCUSSION ONLY Minimalistic headless x64 msvc2017 (#312) In-Reply-To: References: Message-ID: Closed #312. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/312#event-3756540961 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 14:39:21 2020 From: notifications at github.com (David T Lewis) Date: Fri, 11 Sep 2020 07:39:21 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: @LinqLover on closer review I believe that the fix that you provided is the best solution. I see no other cases of event creation where this would be a problem. Good fix, no further action required. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-691134232 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Fri Sep 11 15:16:57 2020 From: noreply at github.com (Tobias Pape) Date: Fri, 11 Sep 2020 08:16:57 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] b38617: [unix] Accept more "default" modules (queried by d... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: b38617db025d4a8d6792cd0bb791b3793703a7d8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b38617db025d4a8d6792cd0bb791b3793703a7d8 Author: Tobias Pape Date: 2020-09-11 (Fri, 11 Sep 2020) Changed paths: M platforms/unix/vm/sqUnixMain.c Log Message: ----------- [unix] Accept more "default" modules (queried by default) From no-reply at appveyor.com Fri Sep 11 15:20:44 2020 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 11 Sep 2020 15:20:44 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2168 Message-ID: <20200911152044.1.02B926DFD47D76E2@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Fri Sep 11 15:29:52 2020 From: builds at travis-ci.org (Travis CI) Date: Fri, 11 Sep 2020 15:29:52 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2168 (Cog - b38617d) In-Reply-To: Message-ID: <5f5b97ee85763_13fc752519a883427b4@travis-tasks-685c5b57c5-s6bsc.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2168 Status: Errored Duration: 12 mins and 18 secs Commit: b38617d (Cog) Author: Tobias Pape Message: [unix] Accept more "default" modules (queried by default) View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/85b7adecc0f8...b38617db025d View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726322413?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 15:42:51 2020 From: notifications at github.com (Christoph Thiede) Date: Fri, 11 Sep 2020 08:42:51 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: So you mean there is no need to sync `Time eventMillisecondClock` with the timestamp provided by VM events, despite the comment in `#eventMillisecondClock`? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-691170419 -------------- next part -------------- An HTML attachment was scrubbed... URL: From chisvasileandrei at gmail.com Fri Sep 11 15:58:40 2020 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Fri, 11 Sep 2020 17:58:40 +0200 Subject: [Vm-dev] corruption of PC in context objects or not (?) Message-ID: Hi, We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm. To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. (lldb) call (void *) printOop(0x1206b6990) 0x1206b6990: a(n) Context 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 0x1206b6b28 0x1206b6b50 Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context ... 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator ... 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array 0x1206b5b98 s Set>collect: 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages 0x1206b6a48 s BlockClosure>ensure: 0x1206b6b68 s UIManager class>nonInteractiveDuring: 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages 0x1206b6d98 s GtExamplesCommandLineHandler>activate 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0x1207e6620 s BlockClosure>on:do: 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate 0x1207a83e0 s BlockClosure>on:do: 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate 0x1207bf830 s [] in BlockClosure>newProcess Cheers, Andrei [1] https://github.com/feenkcom/gtoolkit/issues/1440 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 11 15:59:38 2020 From: notifications at github.com (David T Lewis) Date: Fri, 11 Sep 2020 08:59:38 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: I overlooked that. Let's take the question to squeak-dev and maybe loop tpr into the discussion. I do not know the answer. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-691178962 -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Fri Sep 11 16:36:23 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Fri, 11 Sep 2020 09:36:23 -0700 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: Hi Andrei, On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis wrote: > > Hi, > > We are getting often crashes on our CI when calling `Context>copyTo:` in a > GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm. > > To sum up during `Context>copyTo:`, `Object>>#copy` is called on a > context leading to a segmentation fault crash. Looking at that context in > lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. > > (lldb) call (void *) printOop(0x1206b6990) > 0x1206b6990: a(n) Context > 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 > 0x1206b6b28 0x1206b6b50 > > > Can this indicate some corruption or is it expected to have such values? > `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles > negative values for the pc which suggests that this might be expected. > The issue is that that value is expected *inside* the VM. It is the frame pointer for the context. But above the Vm this value should be hidden. The VM should intercept all accesses to such fields in contexts and automatically map them back to the appropriate values that the image expects to see. [The same thing is true for CompiledMethods; inside the VM methods may refer to their JITted code, but this is invisible from the image]. Intercepting access to Context state already happens with inst var access in methods, with the shallowCopy primitive, with instVarAt: et al, etc. So I expect the issue here is that copyTo: invokes some primitive which does not (yet) check for a context receiver and/or argument, and hence accidentally it reveals the hidden state to the image and a crash results. What I need to know are the definitions for copyTo: and copy, etc all the way down to primitives. Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` > leads to no more crashes. Not sure if there is a reason for that or just > plain luck. > > A simple reduced stack is below (more details in this issue [1]). The > crash happens always with contexts reified as objects (in this case > 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). > Could this suggest some kind of issue in the vm when reifying contexts, or > just some other problem with memory corruption? > This looks like an oversight in some primitive. Here for example is the implementation of the shallowCopy primitive, a.k.a. clone, and you can see where it explcitly intercepts access to a context. primitiveClone "Return a shallow copy of the receiver. Special-case non-single contexts (because of context-to-stack mapping). Can't fail for contexts cuz of image context instantiation code (sigh)." | rcvr newCopy | rcvr := self stackTop. (objectMemory isImmediate: rcvr) ifTrue: [newCopy := rcvr] ifFalse: [(objectMemory isContextNonImm: rcvr) ifTrue: [newCopy := self cloneContext: rcvr] ifFalse: [(argumentCount = 0 or: [(objectMemory isForwarded: rcvr) not]) ifTrue: [newCopy := objectMemory clone: rcvr] ifFalse: [newCopy := 0]]. newCopy = 0 ifTrue: [^self primitiveFailFor: PrimErrNoMemory]]. self pop: argumentCount + 1 thenPush: newCopy But since Squeak doesn't have copyTo: I have no idea what primitive is being used. I'm guessing 168 primitiveCopyObject, which seems to check for a Context receiver, but not for a CompiledCode receiver. What does the primitive failure code look like? Can you post the copyTo: implementations here please? 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context > 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context > 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context > ... > 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context > 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context > 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator > 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure > 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context > 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context > 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context > 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB > 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator > ... > 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class > 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set > 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array > 0x1206b5b98 s Set>collect: > 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: > 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages > 0x1206b6a48 s BlockClosure>ensure: > 0x1206b6b68 s UIManager class>nonInteractiveDuring: > 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages > 0x1206b6d98 s GtExamplesCommandLineHandler>activate > 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: > 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x1207e6620 s BlockClosure>on:do: > 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand > 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: > 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x1207a83e0 s BlockClosure>on:do: > 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x1207bf830 s [] in BlockClosure>newProcess > > Cheers, > Andrei > > > [1] https://github.com/feenkcom/gtoolkit/issues/1440 > > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From chisvasileandrei at gmail.com Fri Sep 11 18:48:15 2020 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Fri, 11 Sep 2020 20:48:15 +0200 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: Hi Eliot, Thanks for the answer. That helps to understand what is going on and it can explain why just adding a call to `self pc` makes the crash disappear. Just what was maybe not obvious in my previous email is that we get this problem more or less randomly. We have tests for verifying that tools work when various extensions raise exceptions (these tests copy the stack). Sometimes they work correctly and sometimes they crash. These crashes happen in various tests and until now the only common thing we noticed is that the pc of the contexts where the crash happens looks off. Also the contexts in which this happens are at the beginning of the stack so part of a long computation (it gets copied multiple times). Initially we suspected that there is some memory corruption somewhere due to external calls/memory. Just the fact that calling `self pc` before seems to fix the issue reduces those chances. But who knows. On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda wrote: > > Hi Andrei, > > On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis > wrote: > >> >> Hi, >> >> We are getting often crashes on our CI when calling `Context>copyTo:` in >> a GT image and a vm build from >> https://github.com/feenkcom/opensmalltalk-vm. >> >> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a >> context leading to a segmentation fault crash. Looking at that context in >> lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >> >> (lldb) call (void *) printOop(0x1206b6990) >> 0x1206b6990: a(n) Context >> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >> 0x1206b6b28 0x1206b6b50 >> >> >> Can this indicate some corruption or is it expected to have such values? >> `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles >> negative values for the pc which suggests that this might be expected. >> > > The issue is that that value is expected *inside* the VM. It is the frame > pointer for the context. But above the Vm this value should be hidden. The > VM should intercept all accesses to such fields in contexts and > automatically map them back to the appropriate values that the image > expects to see. [The same thing is true for CompiledMethods; inside the VM > methods may refer to their JITted code, but this is invisible from the > image]. Intercepting access to Context state already happens with inst var > access in methods, with the shallowCopy primitive, with instVarAt: et al, > etc. > > So I expect the issue here is that copyTo: invokes some primitive which > does not (yet) check for a context receiver and/or argument, and hence > accidentally it reveals the hidden state to the image and a crash results. > What I need to know are the definitions for copyTo: and copy, etc all the > way down to primitives. > Here is the source code: Context >> copyTo: aContext "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." | copy | self == aContext ifTrue: [^ nil]. copy := self copy. self sender ifNotNil: [ copy privSender: (self sender copyTo: aContext)]. ^ copy Object>>#copy ^self shallowCopy postCopy Object >> shallowCopy | class newObject index | class := self class. class isVariable ifTrue: [index := self basicSize. newObject := class basicNew: index. [index > 0] whileTrue: [newObject basicAt: index put: (self basicAt: index). index := index - 1]] ifFalse: [newObject := class basicNew]. index := class instSize. [index > 0] whileTrue: [newObject instVarAt: index put: (self instVarAt: index). index := index - 1]. ^ newObject The code of the primitiveClone looks the same [1] > Changing `Context>copyTo:` by adding a `self pc` before calling `self >> copy` leads to no more crashes. Not sure if there is a reason for that or >> just plain luck. >> >> A simple reduced stack is below (more details in this issue [1]). The >> crash happens always with contexts reified as objects (in this case >> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >> Could this suggest some kind of issue in the vm when reifying contexts, >> or just some other problem with memory corruption? >> > > This looks like an oversight in some primitive. Here for example is the > implementation of the shallowCopy primitive, a.k.a. clone, and you can see > where it explcitly intercepts access to a context. > > primitiveClone > "Return a shallow copy of the receiver. > Special-case non-single contexts (because of context-to-stack mapping). > Can't fail for contexts cuz of image context instantiation code (sigh)." > > | rcvr newCopy | > rcvr := self stackTop. > (objectMemory isImmediate: rcvr) > ifTrue: > [newCopy := rcvr] > ifFalse: > [(objectMemory isContextNonImm: rcvr) > ifTrue: > [newCopy := self cloneContext: rcvr] > ifFalse: > [(argumentCount = 0 > or: [(objectMemory isForwarded: rcvr) not]) > ifTrue: [newCopy := objectMemory clone: rcvr] > ifFalse: [newCopy := 0]]. > newCopy = 0 ifTrue: > [^self primitiveFailFor: PrimErrNoMemory]]. > self pop: argumentCount + 1 thenPush: newCopy > > But since Squeak doesn't have copyTo: I have no idea what primitive is > being used. I'm guessing 168 primitiveCopyObject, which seems to check for > a Context receiver, but not for a CompiledCode receiver. What does the > primitive failure code look like? Can you post the copyTo: implementations > here please? > The code is above. I also see Context>>#copyTo: in Squeak calling also Object>>copy for contexts. When a crash happens we don't get the exact same error all the time. For example we get most often on mac: Process 35690 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) frame #0: 0x00000001100b1004 -> 0x1100b1004: inl $0x4c, %eax 0x1100b1006: leal -0x5c(%rip), %eax 0x1100b100c: pushq %r8 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 Target 0: (GlamorousToolkit) stopped. Process 29929 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) frame #0: 0x00000001100fe7ed -> 0x1100fe7ed: int3 0x1100fe7ee: int3 0x1100fe7ef: int3 0x1100fe7f0: int3 Target 0: (GlamorousToolkit) stopped. [1] https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 Cheers, Andrei > > 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >> ... >> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >> ... >> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >> 0x1206b5b98 s Set>collect: >> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >> 0x1206b6a48 s BlockClosure>ensure: >> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x1207e6620 s BlockClosure>on:do: >> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x1207a83e0 s BlockClosure>on:do: >> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x1207bf830 s [] in BlockClosure>newProcess >> >> Cheers, >> Andrei >> >> >> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >> >> > > -- > _,,,^..^,,,_ > best, Eliot > -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Fri Sep 11 23:42:47 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Fri, 11 Sep 2020 16:42:47 -0700 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: Hi Andrei, On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis wrote: > > Hi Eliot, > > Thanks for the answer. That helps to understand what is going on and it > can explain why just adding a call to `self pc` makes the crash disappear. > > Just what was maybe not obvious in my previous email is that we get this > problem more or less randomly. We have tests for verifying that tools work > when various extensions raise exceptions (these tests copy the stack). > Sometimes they work correctly and sometimes they crash. These crashes > happen in various tests and until now the only common thing we noticed is > that the pc of the contexts where the crash happens looks off. Also the > contexts in which this happens are at the beginning of the stack so part of > a long computation (it gets copied multiple times). > > Initially we suspected that there is some memory corruption somewhere due > to external calls/memory. Just the fact that calling `self pc` before seems > to fix the issue reduces those chances. But who knows. > Well, it does look like a VM bug. The VM is somehow failing to intercept some access, perhaps in shallow copy. Weird. I shall try and reproduce. Is there anything special about the process you copy using copyTo: ? (see below) On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda > wrote: > >> >> Hi Andrei, >> >> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis >> wrote: >> >>> >>> Hi, >>> >>> We are getting often crashes on our CI when calling `Context>copyTo:` in >>> a GT image and a vm build from >>> https://github.com/feenkcom/opensmalltalk-vm. >>> >>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a >>> context leading to a segmentation fault crash. Looking at that context in >>> lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>> >>> (lldb) call (void *) printOop(0x1206b6990) >>> 0x1206b6990: a(n) Context >>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>> 0x1206b6b28 0x1206b6b50 >>> >>> >>> Can this indicate some corruption or is it expected to have such values? >>> `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles >>> negative values for the pc which suggests that this might be expected. >>> >> >> The issue is that that value is expected *inside* the VM. It is the >> frame pointer for the context. But above the Vm this value should be >> hidden. The VM should intercept all accesses to such fields in contexts and >> automatically map them back to the appropriate values that the image >> expects to see. [The same thing is true for CompiledMethods; inside the VM >> methods may refer to their JITted code, but this is invisible from the >> image]. Intercepting access to Context state already happens with inst var >> access in methods, with the shallowCopy primitive, with instVarAt: et al, >> etc. >> >> So I expect the issue here is that copyTo: invokes some primitive which >> does not (yet) check for a context receiver and/or argument, and hence >> accidentally it reveals the hidden state to the image and a crash results. >> What I need to know are the definitions for copyTo: and copy, etc all the >> way down to primitives. >> > > Here is the source code: > Cool, nothing unusual here. This should all work perfectly. Tis a VM bug. However... > Context >> copyTo: aContext > "Copy self and my sender chain down to, but not including, aContext. End > of copied chain will have nil sender." > | copy | > self == aContext ifTrue: [^ nil]. > copy := self copy. > self sender ifNotNil: [ > copy privSender: (self sender copyTo: aContext)]. > ^ copy > Let me suggest Context >> copyTo: aContext "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." | copy | self == aContext ifTrue: [^ nil]. copy := self copy. self sender ifNotNil: [:mySender| copy privSender: (mySender copyTo: aContext)]. ^ copy Object>>#copy > ^self shallowCopy postCopy > > Object >> shallowCopy > | class newObject index | > > class := self class. > class isVariable > ifTrue: > [index := self basicSize. > newObject := class basicNew: index. > [index > 0] > whileTrue: > [newObject basicAt: index put: (self basicAt: index). > index := index - 1]] > ifFalse: [newObject := class basicNew]. > index := class instSize. > [index > 0] > whileTrue: > [newObject instVarAt: index put: (self instVarAt: index). > index := index - 1]. > ^ newObject > > The code of the primitiveClone looks the same [1] > > >> Changing `Context>copyTo:` by adding a `self pc` before calling `self >>> copy` leads to no more crashes. Not sure if there is a reason for that or >>> just plain luck. >>> >>> A simple reduced stack is below (more details in this issue [1]). The >>> crash happens always with contexts reified as objects (in this case >>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>> Could this suggest some kind of issue in the vm when reifying contexts, >>> or just some other problem with memory corruption? >>> >> >> This looks like an oversight in some primitive. Here for example is the >> implementation of the shallowCopy primitive, a.k.a. clone, and you can see >> where it explcitly intercepts access to a context. >> >> primitiveClone >> "Return a shallow copy of the receiver. >> Special-case non-single contexts (because of context-to-stack mapping). >> Can't fail for contexts cuz of image context instantiation code (sigh)." >> >> | rcvr newCopy | >> rcvr := self stackTop. >> (objectMemory isImmediate: rcvr) >> ifTrue: >> [newCopy := rcvr] >> ifFalse: >> [(objectMemory isContextNonImm: rcvr) >> ifTrue: >> [newCopy := self cloneContext: rcvr] >> ifFalse: >> [(argumentCount = 0 >> or: [(objectMemory isForwarded: rcvr) not]) >> ifTrue: [newCopy := objectMemory clone: rcvr] >> ifFalse: [newCopy := 0]]. >> newCopy = 0 ifTrue: >> [^self primitiveFailFor: PrimErrNoMemory]]. >> self pop: argumentCount + 1 thenPush: newCopy >> >> But since Squeak doesn't have copyTo: I have no idea what primitive is >> being used. I'm guessing 168 primitiveCopyObject, which seems to check for >> a Context receiver, but not for a CompiledCode receiver. What does the >> primitive failure code look like? Can you post the copyTo: implementations >> here please? >> > > The code is above. I also see Context>>#copyTo: in Squeak calling also > Object>>copy for contexts. > > When a crash happens we don't get the exact same error all the time. For > example we get most often on mac: > > Process 35690 stopped > > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS > (code=EXC_I386_GPFLT) > > frame #0: 0x00000001100b1004 > > -> 0x1100b1004: inl $0x4c, %eax > > 0x1100b1006: leal -0x5c(%rip), %eax > > 0x1100b100c: pushq %r8 > > 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 > > Target 0: (GlamorousToolkit) stopped. > > > Process 29929 stopped > > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT > (code=EXC_I386_BPT, subcode=0x0) > > frame #0: 0x00000001100fe7ed > > -> 0x1100fe7ed: int3 > > 0x1100fe7ee: int3 > > 0x1100fe7ef: int3 > > 0x1100fe7f0: int3 > > Target 0: (GlamorousToolkit) stopped. > > > [1] > https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 > > Cheers, > Andrei > > >> >> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>> ... >>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>> ... >>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>> 0x1206b5b98 s Set>collect: >>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>> 0x1206b6a48 s BlockClosure>ensure: >>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>> 0x1207e6620 s BlockClosure>on:do: >>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>> 0x1207a83e0 s BlockClosure>on:do: >>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>> 0x1207bf830 s [] in BlockClosure>newProcess >>> >>> Cheers, >>> Andrei >>> >>> >>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>> >>> >> >> -- >> _,,,^..^,,,_ >> best, Eliot >> > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Sat Sep 12 19:44:16 2020 From: notifications at github.com (David T Lewis) Date: Sat, 12 Sep 2020 12:44:16 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Fix timestamps for DragDrop events on Windows (#518) In-Reply-To: References: Message-ID: A bit more history - For sqWin32Window.c, I compared the squeakvm.org versions versus initial checkins here, confirming that the timer changes were done by Andreas in work prior to first public release of Cog. Files attached for reference. I am completely confident that Andreas knew exactly what he was doing WRT event timestamps, so it seems to me the right thing to do is eliminate in the image any assumption that event timestamps match ioMSec(). I expect no that further changes should be necessary in the VM. [win32Window-squeakvmorg-versus-oscog.zip](https://github.com/OpenSmalltalk/opensmalltalk-vm/files/5213168/win32Window-squeakvmorg-versus-oscog.zip) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/518#issuecomment-691536698 -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Sat Sep 12 20:39:29 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sat, 12 Sep 2020 20:39:29 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2805.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2805.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2805 Author: eem Time: 12 September 2020, 1:39:18.721879 pm UUID: 48a26aae-6514-45a0-a30b-47c80fb69888 Ancestors: VMMaker.oscog-eem.2804 Plugins: Add isWordsOrShorts: for faster sound primitive marshalling. Squeak currently uses a hacked 32-bit WordArray to hold 16-bit signed sound samples. But Spur supports native 16-bit arrays. Soi using isWordasOrShorts: keeps backwards compatibility while allowing us to migrate to 16-bit native sound buffers when we choose. Use WordsOrShorts in the relevant SoundPlugin & SoundCodecPlugin primitives. Slang: include InterpreterProxy's typed methods in VMPluginCodeGenerator's kernelReturnTypes for improved type inferrence. Fix a slip in inferTypesForImplicitlyTypedVariablesIn:. We should only avoid typing variables assigned a null type if that null type came from a send (and we must do so because types are assigned to methods until we reach a fixed point). Fix a typo. =============== Diff against VMMaker.oscog-eem.2804 =============== Item was changed: ----- Method: InterpreterProxy>>isLong64s: (in category 'testing') ----- isLong64s: oop + ^oop class isLongs! - ^oop class isPointers not and:[oop class isLongs]! Item was changed: ----- Method: InterpreterProxy>>isShorts: (in category 'testing') ----- isShorts: oop + ^oop class isShorts! - ^oop class isPointers not and:[oop class isShorts]! Item was changed: ----- Method: InterpreterProxy>>isWords: (in category 'testing') ----- isWords: oop + ^oop class isWords! - ^oop class isPointers not and:[oop class isBytes not]! Item was added: + ----- Method: InterpreterProxy>>isWordsOrShorts: (in category 'testing') ----- + isWordsOrShorts: oop + + ^oop class isWords or: [oop class isShorts]! Item was added: + ----- Method: SmartSyntaxPluginCodeGenerator>>ccgValBlock:or: (in category 'coercing') ----- + ccgValBlock: valString or: valorString + + ^[:index | String streamContents: + [:aStream | aStream + nextPutAll: 'interpreterProxy success: ((interpreterProxy '; + nextPutAll: valString; + nextPutAll: ': (interpreterProxy stackValue: '; + nextPutAll: index asString; + nextPutAll: ')) || (interpreterProxy '; + nextPutAll: valorString; + nextPutAll: ': (interpreterProxy stackValue: '; + nextPutAll: index asString; + nextPutAll: ')))']] ! Item was changed: ----- Method: SoundCodecPlugin>>primitiveGSMDecode (in category 'gsm 6.10 codec') ----- primitiveGSMDecode | dstIndex dst srcIndex src frameCount state srcSize dstSize result srcDelta dstDelta | dstIndex := interpreterProxy stackIntegerValue: 0. dst := interpreterProxy stackValue: 1. srcIndex := interpreterProxy stackIntegerValue: 2. src := interpreterProxy stackValue: 3. frameCount := interpreterProxy stackIntegerValue: 4. state := interpreterProxy stackValue: 5. + interpreterProxy success: ((interpreterProxy isWordsOrShorts: dst) + and: [(interpreterProxy isBytes: src) + and: [interpreterProxy isBytes: state]]). - interpreterProxy success: (interpreterProxy isWords: dst). - interpreterProxy success: (interpreterProxy isBytes: src). - interpreterProxy success: (interpreterProxy isBytes: state). interpreterProxy failed ifTrue:[^ nil]. + srcSize := interpreterProxy byteSizeOf: src. + dstSize := (interpreterProxy byteSizeOf: dst) / 2. + self gsmDecode: state + BaseHeaderSize _: frameCount _: src _: srcIndex _: srcSize _: dst _: dstIndex _: dstSize _: (self addressOf: srcDelta) _: (self addressOf: dstDelta). - srcSize := interpreterProxy slotSizeOf: src. - dstSize := (interpreterProxy slotSizeOf: dst) * 2. - self cCode: 'gsmDecode(state + BaseHeaderSize, frameCount, src, srcIndex, srcSize, dst, dstIndex, dstSize, &srcDelta, &dstDelta)'. interpreterProxy failed ifTrue:[^ nil]. result := interpreterProxy makePointwithxValue: srcDelta yValue: dstDelta. interpreterProxy failed ifTrue:[^ nil]. + interpreterProxy methodReturnValue: result! - interpreterProxy pop: 6 thenPush: result! Item was changed: ----- Method: SoundCodecPlugin>>primitiveGSMEncode (in category 'gsm 6.10 codec') ----- primitiveGSMEncode | dstIndex dst srcIndex src frameCount state srcSize dstSize result srcDelta dstDelta | dstIndex := interpreterProxy stackIntegerValue: 0. dst := interpreterProxy stackValue: 1. srcIndex := interpreterProxy stackIntegerValue: 2. src := interpreterProxy stackValue: 3. frameCount := interpreterProxy stackIntegerValue: 4. state := interpreterProxy stackValue: 5. + interpreterProxy success: ((interpreterProxy isBytes: dst) + and: [(interpreterProxy isWordsOrShorts: src) + and: [interpreterProxy isBytes: state]]). - interpreterProxy success: (interpreterProxy isBytes: dst). - interpreterProxy success: (interpreterProxy isWords: src). - interpreterProxy success: (interpreterProxy isBytes: state). interpreterProxy failed ifTrue:[^ nil]. + srcSize := (interpreterProxy byteSizeOf: src) / 2. + dstSize := interpreterProxy byteSizeOf: dst. + self gsmEncode: state + BaseHeaderSize _: frameCount _: src _: srcIndex _: srcSize _: dst _: dstIndex _: dstSize _: (self addressOf: srcDelta) _: (self addressOf: dstDelta). - srcSize := (interpreterProxy slotSizeOf: src) * 2. - dstSize := interpreterProxy slotSizeOf: dst. - self cCode: 'gsmEncode(state + BaseHeaderSize, frameCount, src, srcIndex, srcSize, dst, dstIndex, dstSize, &srcDelta, &dstDelta)'. interpreterProxy failed ifTrue:[^ nil]. result := interpreterProxy makePointwithxValue: srcDelta yValue: dstDelta. interpreterProxy failed ifTrue:[^ nil]. + interpreterProxy methodReturnValue: result! - interpreterProxy pop: 6 thenPush: result! Item was changed: ----- Method: SoundCodecPlugin>>primitiveGSMNewState (in category 'gsm 6.10 codec') ----- primitiveGSMNewState - | state | + (interpreterProxy - state := interpreterProxy instantiateClass: interpreterProxy classByteArray + indexableSize: self gsmStateBytes) + ifNil: [self primitiveFailFor: PrimErrNoMemory] + ifNotNil: + [:state| + self gsmInitState: state + BaseHeaderSize. + interpreterProxy methodReturnValue: state]! - indexableSize: self gsmStateBytes. - self gsmInitState: state + interpreterProxy baseHeaderSize. - interpreterProxy pop: 1 thenPush: state! Item was changed: ----- Method: SoundPlugin>>primitiveSoundInsertSamples:from:leadTime: (in category 'primitives') ----- primitiveSoundInsertSamples: frameCount from: buf leadTime: leadTime "Insert a buffer's worth of sound samples into the currently playing buffer. Used to make a sound start playing as quickly as possible. The new sound is mixed with the previously buffered sampled." "Details: Unlike primitiveSoundPlaySamples, this primitive always starts with the first sample the given sample buffer. Its third argument specifies the number of samples past the estimated sound output buffer position the inserted sound should start. If successful, it returns the number of samples inserted." | framesPlayed | self primitive: 'primitiveSoundInsertSamples' + parameters: #(SmallInteger WordsOrShorts SmallInteger). - parameters: #(SmallInteger WordArray SmallInteger). (self cCoerce: frameCount to: #usqInt) > (interpreterProxy slotSizeOf: buf cPtrAsOop) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. framesPlayed := self snd_InsertSamplesFromLeadTime: frameCount _: buf _: leadTime. framesPlayed >= 0 ifTrue: [interpreterProxy methodReturnInteger: framesPlayed] ifFalse: [interpreterProxy primitiveFail]! Item was changed: ----- Method: SoundPlugin>>primitiveSoundPlaySamples:from:startingAt: (in category 'primitives') ----- primitiveSoundPlaySamples: frameCount from: buf startingAt: startIndex + "Output a buffer's worth of stereo sound samples." - "Output a buffer's worth of sound samples." | framesPlayed | self primitive: 'primitiveSoundPlaySamples' + parameters: #(SmallInteger WordsOrShorts SmallInteger). - parameters: #(SmallInteger WordArray SmallInteger). (startIndex >= 1 and: [startIndex + frameCount - 1 <= (interpreterProxy slotSizeOf: buf cPtrAsOop)]) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. framesPlayed := self snd_PlaySamplesFromAtLength: frameCount _: buf _: startIndex - 1. framesPlayed >= 0 ifTrue: [interpreterProxy methodReturnInteger: framesPlayed] ifFalse: [interpreterProxy primitiveFail]! Item was changed: ----- Method: SoundPlugin>>primitiveSoundRecordSamplesInto:startingAt: (in category 'primitives') ----- primitiveSoundRecordSamplesInto: buf startingAt: startWordIndex "Record a buffer's worth of 16-bit sound samples." | bufSizeInBytes samplesRecorded bufPtr byteOffset | self primitive: 'primitiveSoundRecordSamples' + parameters: #(WordsOrShorts SmallInteger). - parameters: #(WordArray SmallInteger). bufSizeInBytes := (interpreterProxy slotSizeOf: buf cPtrAsOop) * 4. byteOffset := (startWordIndex - 1) * 2. (startWordIndex >= 1 and: [byteOffset < bufSizeInBytes]) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadIndex]. bufPtr := (self cCoerce: buf to: #'char *') + byteOffset. samplesRecorded := self snd_RecordSamplesIntoAtLength: bufPtr _: 0 _: bufSizeInBytes - byteOffset. interpreterProxy failed ifFalse: [^samplesRecorded asPositiveIntegerObj]! Item was added: + ----- Method: SpurMemoryManager>>isWordsOrShorts: (in category 'object testing') ----- + isWordsOrShorts: oop + "Answer if the argument contains only indexable 16-bit half words or 32-bit indexable words (no oops). + See comment in formatOf:" + + + ^(self isNonImmediate: oop) + and: [self isWordsOrShortsNonImm: oop]! Item was added: + ----- Method: SpurMemoryManager>>isWordsOrShortsNonImm: (in category 'object testing') ----- + isWordsOrShortsNonImm: objOop + "Answer if the argument contains only indexable 16-bit half words or 32-bit words (no oops). + See comment in formatOf:" + + ^(self formatOf: objOop) between: self firstLongFormat and: self firstByteFormat - 1! Item was changed: ----- Method: StackInterpreterPrimitives>>isAppropriateForCopyObject: (in category 'object access primitives') ----- isAppropriateForCopyObject: oop (objectMemory isPointersNonImm: oop) ifFalse: [^false]. (objectMemory isContext: oop) ifTrue: [^(self isStillMarriedContext: oop) not]. + "Note there is no version in CoInterpreterPrimitives such as - "Note there is no version in CoInterpreterPrimtiives such as (objectMemory isCompiledMethod: oop) ifTrue: [^(self methodHasCogMethod: oop) not]. because isPointersNonImm: excludes compiled methods and the copy loop in primitiveCopyObject cannot handle compiled methods." ^true! Item was changed: ----- Method: TMethod>>inferTypesForImplicitlyTypedVariablesIn: (in category 'type inference') ----- inferTypesForImplicitlyTypedVariablesIn: aCodeGen "infer types for untyped variables from assignments and arithmetic uses. For debugging answer a Dictionary from var to the nodes that determined types This for debugging: (self copy inferTypesForImplicitlyTypedVariablesIn: aCodeGen)" | alreadyExplicitlyTypedOrNotToBeTyped asYetUntyped mustBeSigned newDeclarations effectiveNodes | aCodeGen maybeBreakForTestToInline: selector in: self. alreadyExplicitlyTypedOrNotToBeTyped := declarations keys asSet. asYetUntyped := locals copyWithoutAll: alreadyExplicitlyTypedOrNotToBeTyped. mustBeSigned := Set new. newDeclarations := Dictionary new. effectiveNodes := Dictionary new. "this for debugging" parseTree nodesDo: [:node| | type var | "If there is something of the form i >= 0, then i should be signed, not unsigned." (node isSend and: [(locals includes: (var := node receiver variableNameOrNil)) and: [(#(<= < >= >) includes: node selector) and: [node args first isConstant and: [node args first value = 0]]]]) ifTrue: [mustBeSigned add: var. effectiveNodes at: var put: { #signed. node }, (effectiveNodes at: var ifAbsent: [#()])]. "if an assignment to an untyped local of a known type, set the local's type to that type. Only observe known sends (methods in the current set) and typed local variables." (node isAssignment and: [(locals includes: (var := node variable name)) and: [(alreadyExplicitlyTypedOrNotToBeTyped includes: var) not]]) ifTrue: "don't be fooled by previously inferred types" [type := node expression isSend ifTrue: [aCodeGen returnTypeForSend: node expression in: self ifNil: nil] ifFalse: [self typeFor: (node expression isAssignment ifTrue: [node expression variable] ifFalse: [node expression]) in: aCodeGen]. type "If untyped, then cannot type the variable yet. A subsequent assignment may assign a subtype of what this type ends up being" ifNil: "Further, if the type derives from an as-yet-untyped method, we must defer." + [node expression isSend ifTrue: + [alreadyExplicitlyTypedOrNotToBeTyped add: var. + (aCodeGen methodNamed: node expression selector) ifNotNil: + [newDeclarations removeKey: var ifAbsent: nil]]] - [alreadyExplicitlyTypedOrNotToBeTyped add: var. - (node expression isSend - and: [(aCodeGen methodNamed: node expression selector) notNil]) ifTrue: - [newDeclarations removeKey: var ifAbsent: nil]] ifNotNil: "Merge simple types (but *don't* merge untyped vars); complex types must be defined by the programmer." [((aCodeGen isSimpleType: type) or: [aCodeGen isFloatingPointCType: type]) ifTrue: [(asYetUntyped includes: var) ifTrue: [newDeclarations at: var put: type, ' ', var. asYetUntyped remove: var] ifFalse: [aCodeGen mergeTypeOf: var in: newDeclarations with: type method: self]. effectiveNodes at: var put: { newDeclarations at: var. node }, (effectiveNodes at: var ifAbsent: [#()])]]]]. mustBeSigned do: [:var| (newDeclarations at: var ifAbsent: nil) ifNotNil: [:decl| | type | type := aCodeGen extractTypeFor: var fromDeclaration: decl. type first == $u ifTrue: [newDeclarations at: var put: (aCodeGen signedTypeForIntegralType: type), ' ', var]]]. newDeclarations keysAndValuesDo: [:var :decl| declarations at: var put: decl]. ^effectiveNodes! Item was added: + ----- Method: VMPluginCodeGenerator>>computeKernelReturnTypes (in category 'public') ----- + computeKernelReturnTypes + | dictionary | + dictionary :=super computeKernelReturnTypes. + InterpreterProxy methodsDo: + [:method| + (method pragmaAt: #returnTypeC:) ifNotNil: + [:pragma| + dictionary at: method selector put: pragma arguments first]]. + ^dictionary! Item was added: + Behavior subclass: #WordsOrShorts + instanceVariableNames: '' + classVariableNames: '' + poolDictionaries: '' + category: 'VMMaker-SmartSyntaxPlugins'! + + !WordsOrShorts commentStamp: 'eem 9/10/2020 12:45' prior: 0! + Coercion specification for bits objects organized in either 32-bit or 16-bit units like WordArray, DoubleByteArray, etc. Specifically this supports the sound primitives which were built assuming the original 32-bit SoundBuffer. But now with Spur we can more conveniently use a DoubleByteArray like SoundBuffer with proper signed 16-bit elements.! Item was added: + ----- Method: WordsOrShorts class>>ccg:prolog:expr:index: (in category 'plugin generation') ----- + ccg: cg prolog: aBlock expr: aString index: anInteger + + ^cg + ccgLoad: aBlock + expr: aString + asCharPtrFrom: anInteger + andThen: (cg ccgValBlock: 'isWordsOrShorts')! Item was added: + ----- Method: WordsOrShorts class>>ccgCanConvertFrom: (in category 'plugin generation') ----- + ccgCanConvertFrom: anObject + + ^anObject class isLongs or: [anObject class isShorts]! Item was added: + ----- Method: WordsOrShorts class>>ccgDeclareCForVar: (in category 'plugin generation') ----- + ccgDeclareCForVar: aSymbolOrString + + ^'short *', aSymbolOrString! From noreply at github.com Sat Sep 12 21:49:19 2020 From: noreply at github.com (Eliot Miranda) Date: Sat, 12 Sep 2020 14:49:19 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 675e9d: CogVM source as per VMMaker.oscog-eem.2805 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 675e9d50b4d0f5d68942fd9f075209312f31c459 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/675e9d50b4d0f5d68942fd9f075209312f31c459 Author: Eliot Miranda Date: 2020-09-12 (Sat, 12 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sqSetjmpShim.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/win32/misc/_setjmp-x64.asm M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2805 Plugins: Add isWordsOrShorts: for faster sound primitive marshalling. Squeak currently uses a hacked 32-bit WordArray to hold 16-bit signed sound samples. But Spur supports native 16-bit arrays. So using isWordasOrShorts: keeps backwards compatibility while allowing us to migrate to 16-bit native sound buffers when we choose. Use WordsOrShorts in the relevant SoundPlugin & SoundCodecPlugin primitives. Slang: include InterpreterProxy's typed methods in VMPluginCodeGenerator's kernelReturnTypes for improved type inferrence. Fix a slip in inferTypesForImplicitlyTypedVariablesIn:. We should only avoid typing variables assigned a null type if that null type came from a send (and we must do so because types are assigned to methods until we reach a fixed point). From no-reply at appveyor.com Sat Sep 12 21:53:23 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 12 Sep 2020 21:53:23 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2169 Message-ID: <20200912215323.1.DCF892DD769FBEC1@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Sep 12 22:00:27 2020 From: builds at travis-ci.org (Travis CI) Date: Sat, 12 Sep 2020 22:00:27 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2169 (Cog - 675e9d5) In-Reply-To: Message-ID: <5f5d44faa5b15_13f9a1e8d1d08130819@travis-tasks-54b58647d5-bnz74.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2169 Status: Errored Duration: 10 mins and 36 secs Commit: 675e9d5 (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2805 Plugins: Add isWordsOrShorts: for faster sound primitive marshalling. Squeak currently uses a hacked 32-bit WordArray to hold 16-bit signed sound samples. But Spur supports native 16-bit arrays. So using isWordasOrShorts: keeps backwards compatibility while allowing us to migrate to 16-bit native sound buffers when we choose. Use WordsOrShorts in the relevant SoundPlugin & SoundCodecPlugin primitives. Slang: include InterpreterProxy's typed methods in VMPluginCodeGenerator's kernelReturnTypes for improved type inferrence. Fix a slip in inferTypesForImplicitlyTypedVariablesIn:. We should only avoid typing variables assigned a null type if that null type came from a send (and we must do so because types are assigned to methods until we reach a fixed point). View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/b38617db025d...675e9d50b4d0 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726658953?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Sun Sep 13 22:37:50 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sun, 13 Sep 2020 22:37:50 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2806.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2806.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2806 Author: eem Time: 13 September 2020, 3:37:41.44063 pm UUID: 4298eb4c-c9e8-4fb2-af22-b8cceb0e07aa Ancestors: VMMaker.oscog-eem.2805 Fix slip in primitiveGSMNewState =============== Diff against VMMaker.oscog-eem.2805 =============== Item was changed: ----- Method: SoundCodecPlugin>>primitiveGSMNewState (in category 'gsm 6.10 codec') ----- primitiveGSMNewState (interpreterProxy instantiateClass: interpreterProxy classByteArray indexableSize: self gsmStateBytes) + ifNil: [interpreterProxy primitiveFailFor: PrimErrNoMemory] - ifNil: [self primitiveFailFor: PrimErrNoMemory] ifNotNil: [:state| self gsmInitState: state + BaseHeaderSize. interpreterProxy methodReturnValue: state]! From noreply at github.com Sun Sep 13 22:39:35 2020 From: noreply at github.com (Eliot Miranda) Date: Sun, 13 Sep 2020 15:39:35 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] a37c93: CogVM source as per VMMaker.oscog-eem.2806 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: a37c9383b7ff09439aae5611c8c504b0a7ba798a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a37c9383b7ff09439aae5611c8c504b0a7ba798a Author: Eliot Miranda Date: 2020-09-13 (Sun, 13 Sep 2020) Changed paths: M src/plugins/SoundCodecPrims/SoundCodecPrims.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2806 Fix slip in primitiveGSMNewState From no-reply at appveyor.com Sun Sep 13 22:43:29 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 13 Sep 2020 22:43:29 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2170 Message-ID: <20200913224329.1.F1F50C267ED9679E@appveyor.com> An HTML attachment was scrubbed... URL: From noreply at github.com Sun Sep 13 22:48:09 2020 From: noreply at github.com (Eliot Miranda) Date: Sun, 13 Sep 2020 15:48:09 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 60de1e: Provide a definition of error in sqVirtualMachine.... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 60de1e2b6994e4c9ae8ad4f6831ca1a1e29668ab https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/60de1e2b6994e4c9ae8ad4f6831ca1a1e29668ab Author: Eliot Miranda Date: 2020-09-13 (Sun, 13 Sep 2020) Changed paths: M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/vm/sqVirtualMachine.h Log Message: ----------- Provide a definition of error in sqVirtualMachine.h for the benefit of B2DPlugin and delete extra declarations in the Alien callbak mahinery. Hence rescue the build on mscos64ARMv8. From builds at travis-ci.org Sun Sep 13 22:50:44 2020 From: builds at travis-ci.org (Travis CI) Date: Sun, 13 Sep 2020 22:50:44 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2170 (Cog - a37c938) In-Reply-To: Message-ID: <5f5ea244259e1_13f97bc8b51bc13592a@travis-tasks-76bd6fcbf7-bhkxs.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2170 Status: Errored Duration: 10 mins and 39 secs Commit: a37c938 (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2806 Fix slip in primitiveGSMNewState View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/675e9d50b4d0...a37c9383b7ff View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726858746?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sun Sep 13 22:52:26 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 13 Sep 2020 22:52:26 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2171 Message-ID: <20200913225226.1.417F55ACF47C6105@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sun Sep 13 23:15:13 2020 From: builds at travis-ci.org (Travis CI) Date: Sun, 13 Sep 2020 23:15:13 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2171 (Cog - 60de1e2) In-Reply-To: Message-ID: <5f5ea8016dbc6_13f97be0228f4150789@travis-tasks-76bd6fcbf7-bhkxs.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2171 Status: Errored Duration: 4 mins and 16 secs Commit: 60de1e2 (Cog) Author: Eliot Miranda Message: Provide a definition of error in sqVirtualMachine.h for the benefit of B2DPlugin and delete extra declarations in the Alien callbak mahinery. Hence rescue the build on mscos64ARMv8. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/a37c9383b7ff...60de1e2b6994 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726860147?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Mon Sep 14 02:41:50 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Mon, 14 Sep 2020 02:41:50 0000 Subject: [Vm-dev] VM Maker: Cog-eem.408.mcz Message-ID: Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.408.mcz ==================== Summary ==================== Name: Cog-eem.408 Author: eem Time: 13 September 2020, 7:41:48.817418 pm UUID: 5a782536-c075-4a4c-897c-c63bd9e993d2 Ancestors: Cog-eem.407 Fix a typo. Make MIPS[EL]Simulator simulate a bit... =============== Diff against Cog-eem.407 =============== Item was changed: ----- Method: BochsIA32Alien>>integerRegisterState (in category 'accessing-abstract') ----- integerRegisterState "Answer a WordArray of the integer registers, the pc and the flags. This primitive is unnecessary; it exists only to speed up single-stepping. + If the primitive fails fall back and yield an Array of the same." - If the primitive fails fall abck and yield an Array of the same." ^{ self eax. self ebx. self ecx. self edx. self esp. self ebp. self esi. self edi. self eip. self eflags }! Item was changed: ----- Method: BochsX64Alien>>integerRegisterState (in category 'accessing-abstract') ----- integerRegisterState "Answer a DoubleWordArray of the integer registers, the pc and the flags. This primitive is unnecessary; it exists only to speed up single-stepping. + If the primitive fails fall back and yield an Array of the same." - If the primitive fails fall abck and yield an Array of the same." ^{ self rax. self rbx. self rcx. self rdx. self rsp. self rbp. self rsi. self rdi. self r8. self r9. self r10. self r11. self r12. self r13. self r14. self r15. self rip. self rflags }! Item was changed: ----- Method: GdbARMAlien>>integerRegisterState (in category 'accessing-abstract') ----- integerRegisterState "Answer a WordArray of the integer registers, the pc and the flags. This primitive is unnecessary; it exists only to speed up single-stepping. + If the primitive fails fall back and yield an Array of the same." - If the primitive fails fall abck and yield an Array of the same." ^{ self r0. self r1. self r2. self r3. self r4. self r5. self r6. self r7. self r8. self r9. self sl. self fp. self r12. self sp. self lr. self pc. self rawCPSR}! Item was removed: - ----- Method: MIPSELSimulator>>signedByte: (in category 'memory') ----- - signedByte: address - address < readableBase ifTrue: [self readFault: address]. - address > readableLimit ifTrue: [self readFault: address]. - ^memory signedByteAt: address + 1! Item was removed: - ----- Method: MIPSELSimulator>>signedHalfword: (in category 'memory') ----- - signedHalfword: address - (address bitAnd: 1) = 0 ifFalse: [self error: 'Unaligned read']. - address < readableBase ifTrue: [self readFault: address]. - address > readableLimit ifTrue: [self readFault: address]. - ^memory signedShortAt: address + 1! Item was removed: - ----- Method: MIPSELSimulator>>signedWord: (in category 'memory') ----- - signedWord: address - (address bitAnd: 3) = 0 ifFalse: [self error: 'Unaligned read']. - address < readableBase ifTrue: [self readFault: address]. - address > readableLimit ifTrue: [self readFault: address]. - ^memory longAt: address + 1! Item was changed: ----- Method: MIPSELSimulator>>signedWord:put: (in category 'memory') ----- signedWord: address put: value (address bitAnd: 3) = 0 ifFalse: [self error: 'Unaligned read']. + ^(address between: writableBase and: writableLimit) + ifTrue: [memory longAt: address + 1 put: value] + ifFalse: [self writeFault: address]! - address < writableBase ifTrue: [self writeFault: address]. - address > writableLimit ifTrue: [self writeFault: address]. - ^memory longAt: address + 1 put: value! Item was removed: - ----- Method: MIPSELSimulator>>unsignedByte: (in category 'memory') ----- - unsignedByte: address - address < readableBase ifTrue: [self readFault: address]. - address > readableLimit ifTrue: [self readFault: address]. - ^memory byteAt: address + 1! Item was removed: - ----- Method: MIPSELSimulator>>unsignedHalfword: (in category 'memory') ----- - unsignedHalfword: address - address < readableBase ifTrue: [self readFault: address]. - address > readableLimit ifTrue: [self readFault: address]. - (address bitAnd: 1) = 0 ifFalse: [self error: 'Unaligned read']. - ^memory unsignedShortAt: address + 1! Item was removed: - ----- Method: MIPSELSimulator>>unsignedWord: (in category 'memory') ----- - unsignedWord: address - address < readableBase ifTrue: [self readFault: address]. - address > readableLimit ifTrue: [self readFault: address]. - (address bitAnd: 3) = 0 ifFalse: [self error: 'Unaligned read']. - ^memory unsignedLongAt: address + 1 bigEndian: false! Item was added: + ----- Method: MIPSSimulator>>accessorIsFramePointerSetter: (in category 'accessing-abstract') ----- + accessorIsFramePointerSetter: aSymbol + ^aSymbol == #fp:! Item was added: + ----- Method: MIPSSimulator>>integerRegisterState (in category 'accessing-abstract') ----- + integerRegisterState + "Answer an Array of the integer registers and the pc." + | integerRegisterState | + integerRegisterState := Array new: 33. + integerRegisterState + at: 1 put: 0; + replaceFrom: 2 to: 32 with: registers startingAt: 1; + at: 33 put: pc. + ^integerRegisterState! Item was changed: ----- Method: MIPSSimulator>>loadByte: (in category 'instructions - memory') ----- loadByte: instruction + | base address | - | base address value | base := self unsignedRegister: instruction rs. + address := base + instruction signedImmediate.. + (address between: readableBase and: readableLimit) + ifTrue: [self signedRegister: instruction rt put: (memory signedByteAt: address + 1)] + ifFalse: [self readFault: address] ! - address := base + instruction signedImmediate. - value := self signedByte: address. - self signedRegister: instruction rt put: value.! Item was changed: ----- Method: MIPSSimulator>>loadByteUnsigned: (in category 'instructions - memory') ----- loadByteUnsigned: instruction + | base address | - | base address value | base := self unsignedRegister: instruction rs. address := base + instruction signedImmediate. + (address between: readableBase and: readableLimit) + ifTrue: [self unsignedRegister: instruction rt put: (memory byteAt: address + 1)] + ifFalse: [self readFault: address] ! - value := self unsignedByte: address. - self unsignedRegister: instruction rt put: value.! Item was changed: ----- Method: MIPSSimulator>>loadHalfword: (in category 'instructions - memory') ----- loadHalfword: instruction + | base address | - | base address value | base := self unsignedRegister: instruction rs. address := base + instruction signedImmediate. + (address between: readableBase and: readableLimit - 1) + ifTrue: [self signedRegister: instruction rt put: (memory signedShortAt: address + 1)] + ifFalse: [self readFault: address] ! - value := self signedHalfword: address. - self signedRegister: instruction rt put: value.! Item was changed: ----- Method: MIPSSimulator>>loadHalfwordUnsigned: (in category 'instructions - memory') ----- loadHalfwordUnsigned: instruction + | base address | - | base address value | base := self unsignedRegister: instruction rs. address := base + instruction signedImmediate. + (address between: readableBase and: readableLimit - 1) + ifTrue: [self unsignedRegister: instruction rt put: (memory unsignedShortAt: address + 1)] + ifFalse: [self readFault: address] ! - value := self unsignedHalfword: address. - self unsignedRegister: instruction rt put: value.! Item was changed: ----- Method: MIPSSimulator>>loadWord: (in category 'instructions - memory') ----- loadWord: instruction + | base address | - | base address value | base := self unsignedRegister: instruction rs. address := base + instruction signedImmediate. + (address between: readableBase and: readableLimit - 3) + ifTrue: [self signedRegister: instruction rt put: (memory longAt: address + 1)] + ifFalse: [self readFault: address] ! - value := self signedWord: address. - self signedRegister: instruction rt put: value.! Item was added: + ----- Method: MIPSSimulator>>registerStatePCIndex (in category 'accessing-abstract') ----- + registerStatePCIndex + ^33! Item was changed: + ----- Method: MIPSSimulator>>singleStepIn: (in category 'execution') ----- - ----- Method: MIPSSimulator>>singleStepIn: (in category 'as yet unclassified') ----- singleStepIn: aByteArray self initializeWithMemory: aByteArray. self step.! From eliot.miranda at gmail.com Mon Sep 14 02:46:10 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Sun, 13 Sep 2020 19:46:10 -0700 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2171 (Cog - 60de1e2) In-Reply-To: <5f5ea8016dbc6_13f97be0228f4150789@travis-tasks-76bd6fcbf7-bhkxs.mail> References: <5f5ea8016dbc6_13f97be0228f4150789@travis-tasks-76bd6fcbf7-bhkxs.mail> Message-ID: The following packages have unmet dependencies: 234 libcairo2-dev:i386 : Depends: libglib2.0-dev:i386 but it is not going to be installed 235 libpango1.0-dev:i386 : Depends: libglib2.0-dev:i386 (>= 2.34.0) but it is not going to be installed 236 libpulse-dev:i386 : Depends: libglib2.0-dev:i386 but it is not going to be installed 237E: Unable to correct problems, you have held broken packages. 238The command "./scripts/ci/travis_install.sh" failed and exited with 100 during . 239 240Your build has been stopped. On Sun, Sep 13, 2020 at 4:15 PM Travis CI wrote: > > > OpenSmalltalk > > / > > opensmalltalk-vm > > > > [image: branch icon]Cog > > [image: build has errored] > Build #2171 has errored > > [image: arrow to build time] > [image: clock icon]4 mins and 16 secs > > [image: Eliot Miranda avatar]Eliot Miranda > 60de1e2 CHANGESET → > > > Provide a definition of error in sqVirtualMachine.h for the benefit of > B2DPlugin > and delete extra declarations in the Alien callbak mahinery. Hence rescue > the > build on mscos64ARMv8. > > Want to know about upcoming build environment updates? > > Would you like to stay up-to-date with the upcoming Travis CI build > environment updates? We set up a mailing list for you! > SIGN UP HERE > > [image: book icon] > > Documentation about Travis CI > Have any questions? We're here to help. > Unsubscribe > > from build emails from the OpenSmalltalk/opensmalltalk-vm repository. > To unsubscribe from *all* build emails, please update your settings > . > > [image: black and white travis ci logo] > > Travis CI GmbH, Rigaer Str. 8, 10427 Berlin, Germany | GF/CEO: Randy > Jacops | Contact: contact at travis-ci.com | Amtsgericht Charlottenburg, > Berlin, HRB 140133 B | Umsatzsteuer-ID gemäß §27 a Umsatzsteuergesetz: > DE282002648 > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Mon Sep 14 08:09:55 2020 From: noreply at github.com (Tobias Pape) Date: Mon, 14 Sep 2020 01:09:55 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 0a0fdc: [ci] try to fix a build Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 0a0fdcaecd135e20ea3f9c00e476a64ba8078f5b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0a0fdcaecd135e20ea3f9c00e476a64ba8078f5b Author: Tobias Pape Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M scripts/ci/travis_install.sh Log Message: ----------- [ci] try to fix a build From Das.Linux at gmx.de Mon Sep 14 08:10:43 2020 From: Das.Linux at gmx.de (Tobias Pape) Date: Mon, 14 Sep 2020 10:10:43 +0200 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2171 (Cog - 60de1e2) In-Reply-To: References: <5f5ea8016dbc6_13f97be0228f4150789@travis-tasks-76bd6fcbf7-bhkxs.mail> Message-ID: > On 14.09.2020, at 04:46, Eliot Miranda wrote: > > The following packages have unmet dependencies: > 234 libcairo2-dev:i386 : Depends: libglib2.0-dev:i386 but it is not going to be installed > 235 libpango1.0-dev:i386 : Depends: libglib2.0-dev:i386 (>= 2.34.0) but it is not going to be installed > 236 libpulse-dev:i386 : Depends: libglib2.0-dev:i386 but it is not going to be installed > 237E: Unable to correct problems, you have held broken packages. > 238The command "./scripts/ci/travis_install.sh" failed and exited with 100 during . > 239 > 240Your build has been stopped. Lets see if 0a0fdcaec helps. -t > > On Sun, Sep 13, 2020 at 4:15 PM Travis CI wrote: > > OpenSmalltalk/opensmalltalk-vm > Cog > Build #2171 has errored 4 mins and 16 secs > Eliot Miranda 60de1e2 CHANGESET → > Provide a definition of error in sqVirtualMachine.h for the benefit of B2DPlugin > and delete extra declarations in the Alien callbak mahinery. Hence rescue the > build on mscos64ARMv8. > Want to know about upcoming build environment updates? > > Would you like to stay up-to-date with the upcoming Travis CI build environment updates? We set up a mailing list for you! > > SIGN UP HERE > Documentation about Travis CI > Have any questions? We're here to help. > Unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository. > To unsubscribe from all build emails, please update your settings. > > Travis CI GmbH, Rigaer Str. 8, 10427 Berlin, Germany | GF/CEO: Randy Jacops | Contact: contact at travis-ci.com | Amtsgericht Charlottenburg, Berlin, HRB 140133 B | Umsatzsteuer-ID gemäß §27 a Umsatzsteuergesetz: DE282002648 From no-reply at appveyor.com Mon Sep 14 08:13:19 2020 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 14 Sep 2020 08:13:19 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2172 Message-ID: <20200914081319.1.869D89671DF149EB@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Sep 14 08:37:17 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 14 Sep 2020 08:37:17 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2172 (Cog - 0a0fdca) In-Reply-To: Message-ID: <5f5f2bbd4b349_13f90312b6514106575@travis-tasks-5dcc4c57ff-grwnh.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2172 Status: Errored Duration: 27 mins and 1 sec Commit: 0a0fdca (Cog) Author: Tobias Pape Message: [ci] try to fix a build View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/60de1e2b6994...0a0fdcaecd13 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726953031?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From Das.Linux at gmx.de Mon Sep 14 09:03:51 2020 From: Das.Linux at gmx.de (Tobias Pape) Date: Mon, 14 Sep 2020 11:03:51 +0200 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2171 (Cog - 60de1e2) In-Reply-To: References: <5f5ea8016dbc6_13f97be0228f4150789@travis-tasks-76bd6fcbf7-bhkxs.mail> Message-ID: <23D56AA1-6D8A-4AB3-9E98-CF69CA86E5DC@gmx.de> > On 14.09.2020, at 10:10, Tobias Pape wrote: > > >> On 14.09.2020, at 04:46, Eliot Miranda wrote: >> >> The following packages have unmet dependencies: >> 234 libcairo2-dev:i386 : Depends: libglib2.0-dev:i386 but it is not going to be installed >> 235 libpango1.0-dev:i386 : Depends: libglib2.0-dev:i386 (>= 2.34.0) but it is not going to be installed >> 236 libpulse-dev:i386 : Depends: libglib2.0-dev:i386 but it is not going to be installed >> 237E: Unable to correct problems, you have held broken packages. >> 238The command "./scripts/ci/travis_install.sh" failed and exited with 100 during . >> 239 >> 240Your build has been stopped. > > Lets see if 0a0fdcaec helps. > -t Seems a tad better now… > > >> >> On Sun, Sep 13, 2020 at 4:15 PM Travis CI wrote: >> >> OpenSmalltalk/opensmalltalk-vm >> Cog >> Build #2171 has errored 4 mins and 16 secs >> Eliot Miranda 60de1e2 CHANGESET → >> Provide a definition of error in sqVirtualMachine.h for the benefit of B2DPlugin >> and delete extra declarations in the Alien callbak mahinery. Hence rescue the >> build on mscos64ARMv8. >> Want to know about upcoming build environment updates? >> >> Would you like to stay up-to-date with the upcoming Travis CI build environment updates? We set up a mailing list for you! >> >> SIGN UP HERE >> Documentation about Travis CI >> Have any questions? We're here to help. >> Unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository. >> To unsubscribe from all build emails, please update your settings. >> >> Travis CI GmbH, Rigaer Str. 8, 10427 Berlin, Germany | GF/CEO: Randy Jacops | Contact: contact at travis-ci.com | Amtsgericht Charlottenburg, Berlin, HRB 140133 B | Umsatzsteuer-ID gemäß §27 a Umsatzsteuergesetz: DE282002648 > > > From builds at travis-ci.org Mon Sep 14 09:06:02 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 14 Sep 2020 09:06:02 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2172 (Cog - 0a0fdca) In-Reply-To: Message-ID: <5f5f327a84a77_13f8e42c1f35832992@travis-tasks-5dcc4c57ff-mjktg.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2172 Status: Errored Duration: 4 mins and 29 secs Commit: 0a0fdca (Cog) Author: Tobias Pape Message: [ci] try to fix a build View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/60de1e2b6994...0a0fdcaecd13 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726953031?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Mon Sep 14 10:07:01 2020 From: noreply at github.com (Tobias Pape) Date: Mon, 14 Sep 2020 03:07:01 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 4bbb48: [ci] maybe in vain, but try to build that flavor Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 4bbb489c8e9ee88a558a8e6d25968cd8def055d9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4bbb489c8e9ee88a558a8e6d25968cd8def055d9 Author: Tobias Pape Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M third-party/libpng.spec Log Message: ----------- [ci] maybe in vain, but try to build that flavor From no-reply at appveyor.com Mon Sep 14 10:10:18 2020 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 14 Sep 2020 10:10:18 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2173 Message-ID: <20200914101018.1.F1A02A032ED6B8F1@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Sep 14 10:45:35 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 14 Sep 2020 10:45:35 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2173 (Cog - 4bbb489) In-Reply-To: Message-ID: <5f5f49ceb8823_13f8e42c1f6f073993@travis-tasks-5dcc4c57ff-mjktg.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2173 Status: Errored Duration: 38 mins and 8 secs Commit: 4bbb489 (Cog) Author: Tobias Pape Message: [ci] maybe in vain, but try to build that flavor View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/0a0fdcaecd13...4bbb489c8e9e View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/726982983?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From stes at telenet.be Mon Sep 14 11:35:11 2020 From: stes at telenet.be (stes@PANDORA.BE) Date: Mon, 14 Sep 2020 13:35:11 +0200 (CEST) Subject: [Vm-dev] UnicodePlugin and configure/Makefile.inc Message-ID: <1502620081.160466334.1600083311861.JavaMail.zimbra@telenet.be> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi, When configuring on a Solaris 11.4 system I get in 'configure' checking for PangoCairo libraries... no ******** disabling UnicodePlugin However pango is installed on Solaris 11.4 : library/desktop/pango 1.40.4-11.4.0.0.1.14.0 i-- on Solaris 11.3 I have library/desktop/pango 1.40.4-0.175.3.29.0.3.0 i-- And on Solaris 11.3, the UnicodePlugin compiles and is not disabled. I think this is related to an issue in the Makefile.inc and configure script. The configure script is doing a small test with CPPFLAGS="-I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/lib/i386-linux-gnu/glib-2.0/include" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include But the above includes are wrong for Solaris 11.4 For the UnicodePlugin, I've noticed that platforms/unix/plugins/UnicodePlugin has two files Makefile.inc and acinclude.m4 (which are possibly related, by autoconf) that have XCPPFLAGS= -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/lib/i386-linux-gnu/glib-2.0/include Note that on Solaris 64bit I think the above is not correct. On Solaris there is: # pkg-config --cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include and # PKG_CONFIG_PATH=/usr/lib/64/pkgconfig pkg-config --cflags glib-2.0 - -I/usr/include/glib-2.0 -I/usr/lib/amd64/glib-2.0/include It should somehow include /usr/lib/amd64/glib-2.0/include/ for the Makefile, and also for the configure script, in the case of a 64 bit build. So the arm-linux-gnueabihf and i386-linux-gnu stuff is wrong and not needed. When changing the Makefile.inc to delete the -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -I/usr/lib/i386-linux-gnu/glib-2.0/include stuff, and add the /usr/lib/amd64/glib-2.0/include this is fixed. I can also change the 'configure' script and fix the include. The right fix probably is to regenerate it with 'autoconf' but this requires, perhaps to have it use the pkg-config --cflags output ? Also instead of changing Makefile.inc, maybe some trick is possible to have it use the pkg-config --cflags output ?? Note that for some reason on older versions of Solaris like Solaris 10 and Solaris 11.3, the issue is not happening, but the includes are still wrong. They just don't break the build there. Regards, David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfX1S2AAoJEAwpOKXMq1Ma0BcH/03SRpvmbjXj5+KO8k7RBsqK MlJ9nyRxmhy+vlesUR6huSLIQT1JcEf1AZSgZUjJXIuvyUst1wAIc8oE8o4ulfSo LRoJbPUbrm1JZW5rCeWDPJqtVhYiMxTqVinONdq5tFpk724K2VUycgCTzpMXeAdw uwP5JTgXplzbAZwXaBMpiKqb5hgI0GltPwO+FVo0L/xxb5jAeimkLlJqnDyfQy++ zPWFVRT+xMDSsEPUFC0Oqr1TgAsAnHUpJRu599GJ8fzmYHOGJR4AD8uOrM6cCm86 gOPd0P1ZwZ4LP/Anl2h+hfRS/UD/EOB5GcU+AgWFSfsVK5tMQRI1OWGngCndoT0= =nK33 -----END PGP SIGNATURE----- From stes at telenet.be Mon Sep 14 11:47:28 2020 From: stes at telenet.be (stes@PANDORA.BE) Date: Mon, 14 Sep 2020 13:47:28 +0200 (CEST) Subject: [Vm-dev] Latest OpenSmalltalkVM on Solaris 10 In-Reply-To: <1502620081.160466334.1600083311861.JavaMail.zimbra@telenet.be> References: <1502620081.160466334.1600083311861.JavaMail.zimbra@telenet.be> Message-ID: <1630939273.160500049.1600084048738.JavaMail.zimbra@telenet.be> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 As an experiment, I compiled the latest OpenSmalltalk VM on Solaris 10. The good news is OpenSmalltalk VM still works on Solaris 10. Note that there is one issue with "new experimental code" in sqUnixSocket.c "/stes/src/opensmalltalk/platforms/unix/plugins/SocketPlugin/sqUnixSocket.c", line 95: cannot find include file: "/stes/src/opensmalltalk/platforms/unix/plugins/SocketPlugin/sqUnixSocket.c", line 1517: warning: implicit function declaration: getifaddrs Apparently Solaris 10 has no /usr/include/ifaddrs.h. Also the Squeak-4 sources do not use this include. It can be seen in platforms/unix/plugins/sqUnixSocket.c that there is #if 0 /* old code */ { sqInt localaddr = nameToAddr(localHostName); if (!localaddr) localaddr = nameToAddr("localhost"); return localaddr; } #else /* experimental new code */ { struct ifaddrs *ifaddr, *ifa; so on Solaris 10 I enabled the "old code" again, and that compiles. The "experimental new code" is in there already for quite a few years, I guess. Ideally the configure script could have something HAVE_IFADDRS and #ifdef HAVE_IFADDRS #include So then it could use the 'old code' on Solaris 10 and the new code on Solaris 11. David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfX1f0AAoJEAwpOKXMq1MauLwH/irBtTt/vhzRPW3LfbLyInB8 Oq33iL/OulBBq9e9e42zuDKPS5mlpZs/Rc15sqw1jl+4TLq6PHtHq8jC2Z+H69K7 CCxBZXiypnrwWwx2MPl+e2LB3vTEjWXB8ZVoUMi3utSyAcRL3XU8R+lhsa/E+1OC trP8z5RW7jFHLgP8ZcOiaUIJ+geBq/ybo0V0daGZZGFpLb9fYiC6wdPHhDzVaw2S KY9hHaRvlqx1WER4NwHC8zW1tfS9gUzv4eNFnPcNy3Iy1OP2dl/pj+WFB27Yeu/w El+MOG5lJPqbScyUuRIHOt737apra6bDvQJite3zV9BXEZ9OX9TYg0lQK3tJnWM= =euxC -----END PGP SIGNATURE----- From chisvasileandrei at gmail.com Mon Sep 14 14:15:04 2020 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Mon, 14 Sep 2020 16:15:04 +0200 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: Hi Eliot, > On 12 Sep 2020, at 01:42, Eliot Miranda wrote: > > Hi Andrei, > > On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis > wrote: > > Hi Eliot, > > Thanks for the answer. That helps to understand what is going on and it can explain why just adding a call to `self pc` makes the crash disappear. > > Just what was maybe not obvious in my previous email is that we get this problem more or less randomly. We have tests for verifying that tools work when various extensions raise exceptions (these tests copy the stack). Sometimes they work correctly and sometimes they crash. These crashes happen in various tests and until now the only common thing we noticed is that the pc of the contexts where the crash happens looks off. Also the contexts in which this happens are at the beginning of the stack so part of a long computation (it gets copied multiple times). > > Initially we suspected that there is some memory corruption somewhere due to external calls/memory. Just the fact that calling `self pc` before seems to fix the issue reduces those chances. But who knows. > > Well, it does look like a VM bug. The VM is somehow failing to intercept some access, perhaps in shallow copy. Weird. I shall try and reproduce. Is there anything special about the process you copy using copyTo: ? I don’t think there is something special about that process. It is the process that we start to run tests [1]. The exception happens in the running process and the crash is when copying the stack of that running process. Checked some previous logs and we get these kinds of crashes on the CI server since at least two years. So it does not look like a new bug (but who knows). > > (see below) > > On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda > wrote: > > Hi Andrei, > > On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis > wrote: > > Hi, > > We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm . > > To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. > > (lldb) call (void *) printOop(0x1206b6990) > 0x1206b6990: a(n) Context > 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 > 0x1206b6b28 0x1206b6b50 > > Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. > > The issue is that that value is expected *inside* the VM. It is the frame pointer for the context. But above the Vm this value should be hidden. The VM should intercept all accesses to such fields in contexts and automatically map them back to the appropriate values that the image expects to see. [The same thing is true for CompiledMethods; inside the VM methods may refer to their JITted code, but this is invisible from the image]. Intercepting access to Context state already happens with inst var access in methods, with the shallowCopy primitive, with instVarAt: et al, etc. > > So I expect the issue here is that copyTo: invokes some primitive which does not (yet) check for a context receiver and/or argument, and hence accidentally it reveals the hidden state to the image and a crash results. What I need to know are the definitions for copyTo: and copy, etc all the way down to primitives. > > Here is the source code: > > Cool, nothing unusual here. This should all work perfectly. Tis a VM bug. However... > > Context >> copyTo: aContext > "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." > | copy | > self == aContext ifTrue: [^ nil]. > copy := self copy. > self sender ifNotNil: [ > copy privSender: (self sender copyTo: aContext)]. > ^ copy > > Let me suggest > > Context >> copyTo: aContext > "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." > | copy | > self == aContext ifTrue: [^ nil]. > copy := self copy. > self sender ifNotNil: > [:mySender| copy privSender: (mySender copyTo: aContext)]. > ^ copy Nice! I also tried the non-recursive implementation of Context>>#copyTo: from Squeak and it also crashes. Not sure if related but now in the same image as before I got a different crash and printing the stack does not work. But this time the error seems to come from handleStackOverflow (lldb) call (void *)printCallStack() invalid frame pointer invalid frame pointer invalid frame pointer error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=EXC_I386_GPFLT). The process has been returned to the state before expression evaluation. (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x121e00000) * frame #0: 0x0000000100162258 libGlamorousToolkitVMCore.dylib`marryFrameSP + 584 frame #1: 0x0000000100172982 libGlamorousToolkitVMCore.dylib`handleStackOverflow + 354 frame #2: 0x000000010016b025 libGlamorousToolkitVMCore.dylib`ceStackOverflow + 149 frame #3: 0x00000001100005b3 frame #4: 0x0000000100174d99 libGlamorousToolkitVMCore.dylib`ptEnterInterpreterFromCallback + 73 Cheers, Andrei [1] ./GlamorousToolkit.app/Contents/MacOS/GlamorousToolkit Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' > > Object>>#copy > ^self shallowCopy postCopy > > Object >> shallowCopy > | class newObject index | > > class := self class. > class isVariable > ifTrue: > [index := self basicSize. > newObject := class basicNew: index. > [index > 0] > whileTrue: > [newObject basicAt: index put: (self basicAt: index). > index := index - 1]] > ifFalse: [newObject := class basicNew]. > index := class instSize. > [index > 0] > whileTrue: > [newObject instVarAt: index put: (self instVarAt: index). > index := index - 1]. > ^ newObject > > The code of the primitiveClone looks the same [1] > > > Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. > > A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). > Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? > > This looks like an oversight in some primitive. Here for example is the implementation of the shallowCopy primitive, a.k.a. clone, and you can see where it explcitly intercepts access to a context. > > primitiveClone > "Return a shallow copy of the receiver. > Special-case non-single contexts (because of context-to-stack mapping). > Can't fail for contexts cuz of image context instantiation code (sigh)." > > | rcvr newCopy | > rcvr := self stackTop. > (objectMemory isImmediate: rcvr) > ifTrue: > [newCopy := rcvr] > ifFalse: > [(objectMemory isContextNonImm: rcvr) > ifTrue: > [newCopy := self cloneContext: rcvr] > ifFalse: > [(argumentCount = 0 > or: [(objectMemory isForwarded: rcvr) not]) > ifTrue: [newCopy := objectMemory clone: rcvr] > ifFalse: [newCopy := 0]]. > newCopy = 0 ifTrue: > [^self primitiveFailFor: PrimErrNoMemory]]. > self pop: argumentCount + 1 thenPush: newCopy > > But since Squeak doesn't have copyTo: I have no idea what primitive is being used. I'm guessing 168 primitiveCopyObject, which seems to check for a Context receiver, but not for a CompiledCode receiver. What does the primitive failure code look like? Can you post the copyTo: implementations here please? > > The code is above. I also see Context>>#copyTo: in Squeak calling also Object>>copy for contexts. > > When a crash happens we don't get the exact same error all the time. For example we get most often on mac: > > Process 35690 stopped > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) > frame #0: 0x00000001100b1004 > -> 0x1100b1004: inl $0x4c, %eax > 0x1100b1006: leal -0x5c(%rip), %eax > 0x1100b100c: pushq %r8 > 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 > Target 0: (GlamorousToolkit) stopped. > > > Process 29929 stopped > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) > frame #0: 0x00000001100fe7ed > -> 0x1100fe7ed: int3 > 0x1100fe7ee: int3 > 0x1100fe7ef: int3 > 0x1100fe7f0: int3 > Target 0: (GlamorousToolkit) stopped. > > [1] https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 > > Cheers, > Andrei > > > 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context > 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context > 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context > ... > 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context > 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context > 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator > 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure > 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context > 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context > 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context > 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB > 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator > ... > 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class > 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set > 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array > 0x1206b5b98 s Set>collect: > 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: > 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages > 0x1206b6a48 s BlockClosure>ensure: > 0x1206b6b68 s UIManager class>nonInteractiveDuring: > 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages > 0x1206b6d98 s GtExamplesCommandLineHandler>activate > 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: > 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x1207e6620 s BlockClosure>on:do: > 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand > 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: > 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x1207a83e0 s BlockClosure>on:do: > 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x1207bf830 s [] in BlockClosure>newProcess > Cheers, > Andrei > > > [1] https://github.com/feenkcom/gtoolkit/issues/1440 > > > > -- > _,,,^..^,,,_ > best, Eliot > > > -- > _,,,^..^,,,_ > best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Mon Sep 14 15:32:23 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Mon, 14 Sep 2020 08:32:23 -0700 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: Hi Andrei, > On Sep 14, 2020, at 7:15 AM, Andrei Chis wrote: > > Hi Eliot, > >> On 12 Sep 2020, at 01:42, Eliot Miranda wrote: >> >> Hi Andrei, >> >>> On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis wrote: >>> >>> Hi Eliot, >>> >>> Thanks for the answer. That helps to understand what is going on and it can explain why just adding a call to `self pc` makes the crash disappear. >>> >>> Just what was maybe not obvious in my previous email is that we get this problem more or less randomly. We have tests for verifying that tools work when various extensions raise exceptions (these tests copy the stack). Sometimes they work correctly and sometimes they crash. These crashes happen in various tests and until now the only common thing we noticed is that the pc of the contexts where the crash happens looks off. Also the contexts in which this happens are at the beginning of the stack so part of a long computation (it gets copied multiple times). >>> >>> Initially we suspected that there is some memory corruption somewhere due to external calls/memory. Just the fact that calling `self pc` before seems to fix the issue reduces those chances. But who knows. >> >> Well, it does look like a VM bug. The VM is somehow failing to intercept some access, perhaps in shallow copy. Weird. I shall try and reproduce. Is there anything special about the process you copy using copyTo: ? > > I don’t think there is something special about that process. It is the process that we start to run tests [1]. The exception happens in the running process and the crash is when copying the stack of that running process. Ok, cool. What I’d like to do is get a copy of your test setup and run it in an assert vm to try and get more information. AFAICT the vm code is good do the bug is not obvious. An assert vm may give more information before the crash. Have you tried running the system on an assert vm yet? > Checked some previous logs and we get these kinds of crashes on the CI server since at least two years. So it does not look like a new bug (but who knows). > >> >> (see below) >> >>>>> On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda wrote: >>>>> >>>>> Hi Andrei, >>>>> >>>>>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm. >>>>>> >>>>>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>>>>> >>>>>> (lldb) call (void *) printOop(0x1206b6990) >>>>>> 0x1206b6990: a(n) Context >>>>>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>>>>> 0x1206b6b28 0x1206b6b50 >>>>>> >>>>>> Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. >>>>> >>>>> The issue is that that value is expected *inside* the VM. It is the frame pointer for the context. But above the Vm this value should be hidden. The VM should intercept all accesses to such fields in contexts and automatically map them back to the appropriate values that the image expects to see. [The same thing is true for CompiledMethods; inside the VM methods may refer to their JITted code, but this is invisible from the image]. Intercepting access to Context state already happens with inst var access in methods, with the shallowCopy primitive, with instVarAt: et al, etc. >>>>> >>>>> So I expect the issue here is that copyTo: invokes some primitive which does not (yet) check for a context receiver and/or argument, and hence accidentally it reveals the hidden state to the image and a crash results. What I need to know are the definitions for copyTo: and copy, etc all the way down to primitives. >>>> >>>> Here is the source code: >>> >>> Cool, nothing unusual here. This should all work perfectly. Tis a VM bug. However... >>> >>> Context >> copyTo: aContext >>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>> | copy | >>> self == aContext ifTrue: [^ nil]. >>> copy := self copy. >>> self sender ifNotNil: [ >>> copy privSender: (self sender copyTo: aContext)]. >>> ^ copy >> >> Let me suggest >> >> Context >> copyTo: aContext >> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >> | copy | >> self == aContext ifTrue: [^ nil]. >> copy := self copy. >> self sender ifNotNil: >> [:mySender| copy privSender: (mySender copyTo: aContext)]. >> ^ copy > > Nice! > > I also tried the non-recursive implementation of Context>>#copyTo: from Squeak and it also crashes. > > Not sure if related but now in the same image as before I got a different crash and printing the stack does not work. But this time the error seems to come from handleStackOverflow > > (lldb) call (void *)printCallStack() > invalid frame pointer > invalid frame pointer > invalid frame pointer > error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=EXC_I386_GPFLT). > The process has been returned to the state before expression evaluation. > (lldb) bt > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x121e00000) > * frame #0: 0x0000000100162258 libGlamorousToolkitVMCore.dylib`marryFrameSP + 584 > frame #1: 0x0000000100172982 libGlamorousToolkitVMCore.dylib`handleStackOverflow + 354 > frame #2: 0x000000010016b025 libGlamorousToolkitVMCore.dylib`ceStackOverflow + 149 > frame #3: 0x00000001100005b3 > frame #4: 0x0000000100174d99 libGlamorousToolkitVMCore.dylib`ptEnterInterpreterFromCallback + 73 > > > Cheers, > Andrei > > [1] ./GlamorousToolkit.app/Contents/MacOS/GlamorousToolkit Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' > > >> >>> Object>>#copy >>> ^self shallowCopy postCopy >>> >>> Object >> shallowCopy >>> | class newObject index | >>> >>> class := self class. >>> class isVariable >>> ifTrue: >>> [index := self basicSize. >>> newObject := class basicNew: index. >>> [index > 0] >>> whileTrue: >>> [newObject basicAt: index put: (self basicAt: index). >>> index := index - 1]] >>> ifFalse: [newObject := class basicNew]. >>> index := class instSize. >>> [index > 0] >>> whileTrue: >>> [newObject instVarAt: index put: (self instVarAt: index). >>> index := index - 1]. >>> ^ newObject >>> >>> The code of the primitiveClone looks the same [1] >>> >>>> >>>>> Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. >>>>> >>>>> A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>>>> Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? >>>> >>>> This looks like an oversight in some primitive. Here for example is the implementation of the shallowCopy primitive, a.k.a. clone, and you can see where it explcitly intercepts access to a context. >>>> >>>> primitiveClone >>>> "Return a shallow copy of the receiver. >>>> Special-case non-single contexts (because of context-to-stack mapping). >>>> Can't fail for contexts cuz of image context instantiation code (sigh)." >>>> >>>> | rcvr newCopy | >>>> rcvr := self stackTop. >>>> (objectMemory isImmediate: rcvr) >>>> ifTrue: >>>> [newCopy := rcvr] >>>> ifFalse: >>>> [(objectMemory isContextNonImm: rcvr) >>>> ifTrue: >>>> [newCopy := self cloneContext: rcvr] >>>> ifFalse: >>>> [(argumentCount = 0 >>>> or: [(objectMemory isForwarded: rcvr) not]) >>>> ifTrue: [newCopy := objectMemory clone: rcvr] >>>> ifFalse: [newCopy := 0]]. >>>> newCopy = 0 ifTrue: >>>> [^self primitiveFailFor: PrimErrNoMemory]]. >>>> self pop: argumentCount + 1 thenPush: newCopy >>>> >>>> But since Squeak doesn't have copyTo: I have no idea what primitive is being used. I'm guessing 168 primitiveCopyObject, which seems to check for a Context receiver, but not for a CompiledCode receiver. What does the primitive failure code look like? Can you post the copyTo: implementations here please? >>> >>> The code is above. I also see Context>>#copyTo: in Squeak calling also Object>>copy for contexts. >>> >>> When a crash happens we don't get the exact same error all the time. For example we get most often on mac: >>> >>> Process 35690 stopped >>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) >>> frame #0: 0x00000001100b1004 >>> -> 0x1100b1004: inl $0x4c, %eax >>> 0x1100b1006: leal -0x5c(%rip), %eax >>> 0x1100b100c: pushq %r8 >>> 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 >>> Target 0: (GlamorousToolkit) stopped. >>> >>> >>> Process 29929 stopped >>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >>> frame #0: 0x00000001100fe7ed >>> -> 0x1100fe7ed: int3 >>> 0x1100fe7ee: int3 >>> 0x1100fe7ef: int3 >>> 0x1100fe7f0: int3 >>> Target 0: (GlamorousToolkit) stopped. >>> >>> [1] https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 >>> >>> Cheers, >>> Andrei >>> >>>> >>>>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>>>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>>>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>>>> ... >>>>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>>>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>>>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>>>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>>>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>>>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>>>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>>>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>>>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>>>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>>>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>>>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>>>> ... >>>>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>>>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>>>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>>>> 0x1206b5b98 s Set>collect: >>>>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>>>> 0x1206b6a48 s BlockClosure>ensure: >>>>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>>>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>>>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>>>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>> 0x1207e6620 s BlockClosure>on:do: >>>>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>> 0x1207a83e0 s BlockClosure>on:do: >>>>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>> 0x1207bf830 s [] in BlockClosure>newProcess >>>>> Cheers, >>>>> Andrei >>>>> >>>>> >>>>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>>>> >>>> >>>> >>>> -- >>>> _,,,^..^,,,_ >>>> best, Eliot >> >> >> -- >> _,,,^..^,,,_ >> best, Eliot > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rowledge.org Mon Sep 14 16:59:21 2020 From: tim at rowledge.org (tim Rowledge) Date: Mon, 14 Sep 2020 09:59:21 -0700 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2171 (Cog - 60de1e2) In-Reply-To: <23D56AA1-6D8A-4AB3-9E98-CF69CA86E5DC@gmx.de> References: <5f5ea8016dbc6_13f97be0228f4150789@travis-tasks-76bd6fcbf7-bhkxs.mail> <23D56AA1-6D8A-4AB3-9E98-CF69CA86E5DC@gmx.de> Message-ID: <48FFE12D-77A0-45F2-BF3F-7FE58E9292CF@rowledge.org> > On 2020-09-14, at 2:03 AM, Tobias Pape wrote: > >> >> Lets see if 0a0fdcaec helps. You know you've spent too many hours staring at hex code dumps when you see that and immediately start thinking 'that looks like an ARM shift-left-test-masks-and-dim-the-lights instruction with too many registers specified' tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Strange OpCodes: ESBD: Erase System and Burn Documentation From noreply at github.com Mon Sep 14 17:07:52 2020 From: noreply at github.com (Tobias Pape) Date: Mon, 14 Sep 2020 10:07:52 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] ceaf60: [ci] These fail big time due to complex third-part... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: ceaf607b6c58a03a37ebd641a94b1caeeb8e3dd8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ceaf607b6c58a03a37ebd641a94b1caeeb8e3dd8 Author: Tobias Pape Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M .travis.yml Log Message: ----------- [ci] These fail big time due to complex third-party config. Whoever wants to re-enable those, feel free, but kindly fix the build errors. From Das.Linux at gmx.de Mon Sep 14 17:09:05 2020 From: Das.Linux at gmx.de (Tobias Pape) Date: Mon, 14 Sep 2020 19:09:05 +0200 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2171 (Cog - 60de1e2) In-Reply-To: <48FFE12D-77A0-45F2-BF3F-7FE58E9292CF@rowledge.org> References: <5f5ea8016dbc6_13f97be0228f4150789@travis-tasks-76bd6fcbf7-bhkxs.mail> <23D56AA1-6D8A-4AB3-9E98-CF69CA86E5DC@gmx.de> <48FFE12D-77A0-45F2-BF3F-7FE58E9292CF@rowledge.org> Message-ID: <01A0C35E-F211-4533-AC6D-8F9EE7BA20D6@gmx.de> > On 14.09.2020, at 18:59, tim Rowledge wrote: > > > > >> On 2020-09-14, at 2:03 AM, Tobias Pape wrote: >> >>> >>> Lets see if 0a0fdcaec helps. > > You know you've spent too many hours staring at hex code dumps when you see that and immediately start thinking 'that looks like an ARM shift-left-test-masks-and-dim-the-lights instruction with too many registers specified' > > tim > -- > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim > Strange OpCodes: ESBD: Erase System and Burn Documentation > Works well with your signature today… Best regards -Tobias From no-reply at appveyor.com Mon Sep 14 17:11:09 2020 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 14 Sep 2020 17:11:09 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2174 Message-ID: <20200914171109.1.05FCC86B7D7F0198@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Sep 14 17:32:35 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 14 Sep 2020 17:32:35 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2174 (Cog - ceaf607) In-Reply-To: Message-ID: <5f5fa932d5ef0_13fec96be652815889a@travis-tasks-7d6b8cdf77-jngv6.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2174 Status: Errored Duration: 24 mins and 16 secs Commit: ceaf607 (Cog) Author: Tobias Pape Message: [ci] These fail big time due to complex third-party config. Whoever wants to re-enable those, feel free, but kindly fix the build errors. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/4bbb489c8e9e...ceaf607b6c58 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727109938?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rowledge.org Mon Sep 14 17:36:34 2020 From: tim at rowledge.org (tim Rowledge) Date: Mon, 14 Sep 2020 10:36:34 -0700 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2171 (Cog - 60de1e2) In-Reply-To: <01A0C35E-F211-4533-AC6D-8F9EE7BA20D6@gmx.de> References: <5f5ea8016dbc6_13f97be0228f4150789@travis-tasks-76bd6fcbf7-bhkxs.mail> <23D56AA1-6D8A-4AB3-9E98-CF69CA86E5DC@gmx.de> <48FFE12D-77A0-45F2-BF3F-7FE58E9292CF@rowledge.org> <01A0C35E-F211-4533-AC6D-8F9EE7BA20D6@gmx.de> Message-ID: <56F8B0B3-7972-4E62-A689-FEFA6C69DEB0@rowledge.org> > On 2020-09-14, at 10:09 AM, Tobias Pape wrote: > > >> Strange OpCodes: ESBD: Erase System and Burn Documentation >> > > Works well with your signature today… It's supposedly a random choice but I'm not at all convinced that I'm not hosting an instance of WinterMute tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Strange OpCodes: DST: Deadlock System Tables From Das.Linux at gmx.de Mon Sep 14 17:45:21 2020 From: Das.Linux at gmx.de (Tobias Pape) Date: Mon, 14 Sep 2020 19:45:21 +0200 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2174 In-Reply-To: <20200914171109.1.05FCC86B7D7F0198@appveyor.com> References: <20200914171109.1.05FCC86B7D7F0198@appveyor.com> Message-ID: <6EA7D87E-7F03-4F32-9811-BA2E8B814997@gmx.de> Hi > On 14.09.2020, at 19:11, AppVeyor wrote: > > Build opensmalltalk-vm 1.0.2174 failed > > Commit ceaf607b6c by Tobias Pape on 9/14/2020 5:07 PM: > [ci] These fail big time due to complex third-party config. > > Configure your notification preferences > The appveyor/windows builds fail due to the follwing: https://ci.appveyor.com/project/OpenSmalltalk/vm/builds/35197866/job/bm2c0eqew69db81c#L631 ../../spursrc/vm/gcc3x-cointerp.c: In function ‘callbackEnter’: ../../spursrc/vm/gcc3x-cointerp.c:13438:7: error: too few arguments to function ‘_setjmp’ 13438 | if ((_setjmp(GIV(jmpBuf)[GIV(jmpDepth)])) == 0) { | ^~~~~~~ In file included from ../../spursrc/vm/gcc3x-cointerp.c:26: /usr/i686-w64-mingw32/sys-root/mingw/include/setjmp.h:242:63: note: declared here 242 | int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf _Buf, void *_Ctx); | ^~~~~~~ I didn't know that two-arg setjmp was a thing. It seems that the custom _setjmp in sqSetjmpShim.h gets somehow overridden? Best regards -Tobias From Das.Linux at gmx.de Mon Sep 14 17:46:43 2020 From: Das.Linux at gmx.de (Tobias Pape) Date: Mon, 14 Sep 2020 19:46:43 +0200 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2174 (Cog - ceaf607) In-Reply-To: <5f5fa932d5ef0_13fec96be652815889a@travis-tasks-7d6b8cdf77-jngv6.mail> References: <5f5fa932d5ef0_13fec96be652815889a@travis-tasks-7d6b8cdf77-jngv6.mail> Message-ID: <6620F3B4-D882-4B92-B71B-7DF376416ECB@gmx.de> Aaand now minheadless barfs. This is annoying... > On 14.09.2020, at 19:32, Travis CI wrote: > > OpenSmalltalk / opensmalltalk-vm > Cog > Build #2174 has errored24 mins and 16 secs > Tobias Papeceaf607 CHANGESET → > [ci] These fail big time due to complex third-party config. > > Whoever wants to re-enable those, feel free, but kindly fix the build > errors. > Want to know about upcoming build environment updates? > > Would you like to stay up-to-date with the upcoming Travis CI build environment updates? We set up a mailing list for you! > > SIGN UP HERE > Documentation about Travis CI > Have any questions? We're here to help. > Unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository. > To unsubscribe from all build emails, please update your settings. > > Travis CI GmbH, Rigaer Str. 8, 10427 Berlin, Germany | GF/CEO: Randy Jacops | Contact: contact at travis-ci.com | Amtsgericht Charlottenburg, Berlin, HRB 140133 B | Umsatzsteuer-ID gemäß §27 a Umsatzsteuergesetz: DE282002648 From Das.Linux at gmx.de Mon Sep 14 17:46:58 2020 From: Das.Linux at gmx.de (Tobias Pape) Date: Mon, 14 Sep 2020 19:46:58 +0200 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2171 (Cog - 60de1e2) In-Reply-To: <56F8B0B3-7972-4E62-A689-FEFA6C69DEB0@rowledge.org> References: <5f5ea8016dbc6_13f97be0228f4150789@travis-tasks-76bd6fcbf7-bhkxs.mail> <23D56AA1-6D8A-4AB3-9E98-CF69CA86E5DC@gmx.de> <48FFE12D-77A0-45F2-BF3F-7FE58E9292CF@rowledge.org> <01A0C35E-F211-4533-AC6D-8F9EE7BA20D6@gmx.de> <56F8B0B3-7972-4E62-A689-FEFA6C69DEB0@rowledge.org> Message-ID: <47376B07-E18C-428C-B225-0B5C8273CF1F@gmx.de> > On 14.09.2020, at 19:36, tim Rowledge wrote: > > > > >> On 2020-09-14, at 10:09 AM, Tobias Pape wrote: >> >> >>> Strange OpCodes: ESBD: Erase System and Burn Documentation >>> >> >> Works well with your signature today… > > It's supposedly a random choice but I'm not at all convinced that I'm not hosting an instance of WinterMute > > ha! -t From eliot.miranda at gmail.com Mon Sep 14 20:14:46 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Mon, 14 Sep 2020 13:14:46 -0700 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2174 In-Reply-To: <6EA7D87E-7F03-4F32-9811-BA2E8B814997@gmx.de> References: <20200914171109.1.05FCC86B7D7F0198@appveyor.com> <6EA7D87E-7F03-4F32-9811-BA2E8B814997@gmx.de> Message-ID: Hi Tobias, On Mon, Sep 14, 2020 at 10:45 AM Tobias Pape wrote: > > Hi > > > On 14.09.2020, at 19:11, AppVeyor wrote: > > > > Build opensmalltalk-vm 1.0.2174 failed > > > > Commit ceaf607b6c by Tobias Pape on 9/14/2020 5:07 PM: > > [ci] These fail big time due to complex third-party config. > > > > Configure your notification preferences > > > > The appveyor/windows builds fail due to the follwing: > > > https://ci.appveyor.com/project/OpenSmalltalk/vm/builds/35197866/job/bm2c0eqew69db81c#L631 > > ../../spursrc/vm/gcc3x-cointerp.c: In function ‘callbackEnter’: > ../../spursrc/vm/gcc3x-cointerp.c:13438:7: error: too few arguments to > function ‘_setjmp’ > 13438 | if ((_setjmp(GIV(jmpBuf)[GIV(jmpDepth)])) == 0) { > | ^~~~~~~ > In file included from ../../spursrc/vm/gcc3x-cointerp.c:26: > /usr/i686-w64-mingw32/sys-root/mingw/include/setjmp.h:242:63: note: > declared here > 242 | int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) > _setjmp(jmp_buf _Buf, void *_Ctx); > | ^~~~~~~ > > I didn't know that two-arg setjmp was a thing. > Yes, on win32 with clang/mingw it gets around a weirdness in Microsoft's Kernel32 implementation, which insists on unwinding the stack. That doesn't play well with a number of external libraries, nor with the JIT. Hence mingw providing a work-around. It seems that the custom _setjmp in sqSetjmpShim.h gets somehow overridden? > Sorry. I got confused. Had too many balls up in the air at the same time and convinced myself that a #define fix for the above wasn't working. Hewnce3 I didn't commit a fully functional sqSetjmp.h. I've got as fix. Will be committing in a few minutes. Apologies. Best regards > -Tobias _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Mon Sep 14 20:55:11 2020 From: noreply at github.com (Eliot Miranda) Date: Mon, 14 Sep 2020 13:55:11 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 536280: Fix 64-bit builds by addig the missing define to s... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 536280cdbe8add995616eaa0c78424b95eb00f15 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/536280cdbe8add995616eaa0c78424b95eb00f15 Author: Eliot Miranda Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.msvc M build.win32x86/common/Makefile.msvc.plugin M build.win64x64/common/Makefile M build.win64x64/common/Makefile.plugin M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/sqJPEGReadWriter2Plugin.c M platforms/Cross/vm/sqSetjmpShim.h Log Message: ----------- Fix 64-bit builds by addig the missing define to sqSetjmpShim.h and making sure that _setjmp-x64.asm/.o gets included in the VM and plugin dll builds. Make the same changes to the 32-bit builds, but leave them broken because we do not have a _setjmp-x86.asm yet. Easily derived. From no-reply at appveyor.com Mon Sep 14 21:18:13 2020 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 14 Sep 2020 21:18:13 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2175 Message-ID: <20200914211813.1.4261A3C78843C8AE@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Sep 14 21:19:10 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 14 Sep 2020 21:19:10 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2175 (Cog - 536280c) In-Reply-To: Message-ID: <5f5fde4e15de4_13fde711d94f01593b3@travis-tasks-b5d7bbb8b-98png.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2175 Status: Errored Duration: 23 mins and 34 secs Commit: 536280c (Cog) Author: Eliot Miranda Message: Fix 64-bit builds by addig the missing define to sqSetjmpShim.h and making sure that _setjmp-x64.asm/.o gets included in the VM and plugin dll builds. Make the same changes to the 32-bit builds, but leave them broken because we do not have a _setjmp-x86.asm yet. Easily derived. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/ceaf607b6c58...536280cdbe8a View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727172008?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From chisvasileandrei at gmail.com Mon Sep 14 22:22:01 2020 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Tue, 15 Sep 2020 00:22:01 +0200 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: Hi Eliot, The setup in GT is a bit customised (some changes in the headless vm, some custom plugins, custom rendering) so I first thought it will be impossible to reproduce the bug in a more standard manner. However turns out it is possible. If I use the following script after running the tests a few times in lldb I get the crash starting from a plain Pharo 8 image. $ curl https://get.pharo.org/64/80+vm | bash $ curl -L https://raw.githubusercontent.com/feenkcom/gtoolkit/master/scripts/localbuild/loadgt.st -o loadgt.st $ ./pharo Pharo.image st --quit $ lldb ./pharo-vm/Pharo.app/Contents/MacOS/Pharo (lldb) run --headless Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' I also tried to compile the vm myself on Mac (Catalina 10.15.6). I build a normal and assert for https://github.com/OpenSmalltalk/opensmalltalk-vm and https://github.com/pharo-project/opensmalltalk-vm from the cog branch. In both cases I get an issue related to pixman 0.34.0 [1] but that’s easy to workaround. For https://github.com/OpenSmalltalk/opensmalltalk-vm I got an extra problem related to Cairo [2] and had to change libpng from libpng16 to libpng12 to get it to work. With both the normal VMs I could reproduce the bug and got stacks with the Context>copyTo: messages. With the assert VMs I only got a crash for now with the assert vm from https://github.com/pharo-project/opensmalltalk-vm . However there is no Context>copyTo: and the memory seems quite corrupted. I suspect the crash also appears in https://github.com/OpenSmalltalk/opensmalltalk-vm but seems that with the assert vm it is much harder to reproduce. Had to run the tests 20 times and got one crash; running the tests once take 20-30 minutes. This is from only crash until now with the assert vm. Not sure if they are helpful or not, or actually related to the problem. validInstructionPointerinFrame(GIV(instructionPointer), GIV(framePointer)) 18471 Pharo was compiled with optimization - stepping may behave oddly; variables may not be available. Process 73731 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] 139 static inline sqInt intAtPointer(char *ptr) { return (sqInt)(*((int *)ptr)); } 140 static inline sqInt intAtPointerput(char *ptr, int val) { return (sqInt)(*((int *)ptr)= val); } 141 static inline sqInt longAtPointer(char *ptr) { return *(sqInt *)ptr; } -> 142 static inline sqInt longAtPointerput(char *ptr, sqInt val) { return *(sqInt *)ptr= val; } 143 static inline sqLong long64AtPointer(char *ptr) { return *(sqLong *)ptr; } 144 static inline sqLong long64AtPointerput(char *ptr, sqLong val) { return *(sqLong *)ptr= val; } 145 static inline float singleFloatAtPointer(char *ptr) { return *(float *)ptr; } Target 0: (Pharo) stopped. (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) * frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] frame #1: 0x00000001000161cf Pharo`marryFrameSP(theFP=, theSP=0x0000000000000000) at gcc3x-cointerp.c:68120:3 [opt] frame #2: 0x000000010001f5ac Pharo`ceContextinstVar(maybeContext=5510359872, slotIndex=0) at gcc3x-cointerp.c:15221:12 [opt] frame #3: 0x00000001480017d6 frame #4: 0x00000001000022be Pharo`interpret at gcc3x-cointerp.c:2755:3 [opt] frame #5: 0x00000001000bc244 Pharo`-[sqSqueakMainApplication runSqueak](self=0x0000000101c76dc0, _cmd=) at sqSqueakMainApplication.m:201:2 [opt] frame #6: 0x00007fff3326729b Foundation`__NSFirePerformWithOrder + 360 frame #7: 0x00007fff30ad3335 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 frame #8: 0x00007fff30ad3267 CoreFoundation`__CFRunLoopDoObservers + 457 frame #9: 0x00007fff30ad2805 CoreFoundation`__CFRunLoopRun + 874 frame #10: 0x00007fff30ad1e3e CoreFoundation`CFRunLoopRunSpecific + 462 frame #11: 0x00007fff2f6feabd HIToolbox`RunCurrentEventLoopInMode + 292 frame #12: 0x00007fff2f6fe6f4 HIToolbox`ReceiveNextEventCommon + 359 frame #13: 0x00007fff2f6fe579 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64 frame #14: 0x00007fff2dd44039 AppKit`_DPSNextEvent + 883 frame #15: 0x00007fff2dd42880 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352 frame #16: 0x00007fff2dd3458e AppKit`-[NSApplication run] + 658 frame #17: 0x00007fff2dd06396 AppKit`NSApplicationMain + 777 frame #18: 0x00007fff6ab3ecc9 libdyld.dylib`start + 1 (lldb) call printCallStack() 0x7ffeefbe3920 M INVALID RECEIVER>(nil) 0x148716b40: a(n) bad class 0x7ffeefbe3968 M [] in INVALID RECEIVER>(nil) Context(Object)>>doesNotUnderstand: #bounds 0x194648118: a(n) bad class 0x7ffeefbe39a8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class 0x7ffeefbe39e8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class 0x7ffeefbe3a30 I INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbe3a80 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbe3ab8 M INVALID RECEIVER>(nil) 0x148163cd0: a(n) bad class 0x7ffeefbe3b08 I INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class 0x7ffeefbe3b40 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class 0x7ffeefbe3b78 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class 0x7ffeefbe3bc0 I INVALID RECEIVER>(nil) 0x148716a38: a(n) bad class 0x7ffeefbe3c10 I INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class 0x7ffeefbe3c40 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class 0x7ffeefbe3c78 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class 0x7ffeefbe3cc0 M INVALID RECEIVER>(nil) 0x14d0337f0: a(n) bad class 0x7ffeefbe3d08 M INVALID RECEIVER>(nil) 0x14d033738: a(n) bad class 0x7ffeefbe3d50 M INVALID RECEIVER>(nil) 0x14d033680: a(n) bad class 0x7ffeefbe3d98 M INVALID RECEIVER>(nil) 0x1946493f0: a(n) bad class 0x7ffeefbe3de0 M INVALID RECEIVER>(nil) 0x194649338: a(n) bad class 0x7ffeefbe3e28 M INVALID RECEIVER>(nil) 0x194649280: a(n) bad class 0x7ffeefbe3e70 M INVALID RECEIVER>(nil) 0x1946491c8: a(n) bad class 0x7ffeefbe3eb8 M INVALID RECEIVER>(nil) 0x194649110: a(n) bad class 0x7ffeefbec768 M INVALID RECEIVER>(nil) 0x194649038: a(n) bad class 0x7ffeefbec7b0 M INVALID RECEIVER>(nil) 0x194648f60: a(n) bad class 0x7ffeefbec7f8 M INVALID RECEIVER>(nil) 0x194648e88: a(n) bad class 0x7ffeefbec840 M INVALID RECEIVER>(nil) 0x194648dd0: a(n) bad class 0x7ffeefbec888 M INVALID RECEIVER>(nil) 0x194648d18: a(n) bad class 0x7ffeefbec8d0 M INVALID RECEIVER>(nil) 0x194648c60: a(n) bad class 0x7ffeefbec918 M INVALID RECEIVER>(nil) 0x194648b88: a(n) bad class 0x7ffeefbec960 M INVALID RECEIVER>(nil) 0x194648ad0: a(n) bad class 0x7ffeefbec9a8 M INVALID RECEIVER>(nil) 0x194648a18: a(n) bad class 0x7ffeefbec9f0 M INVALID RECEIVER>(nil) 0x194648960: a(n) bad class 0x7ffeefbeca38 M INVALID RECEIVER>(nil) 0x1946488a8: a(n) bad class 0x7ffeefbeca80 M INVALID RECEIVER>(nil) 0x1946487f0: a(n) bad class 0x7ffeefbecac8 M INVALID RECEIVER>(nil) 0x194648708: a(n) bad class 0x7ffeefbecb10 M INVALID RECEIVER>(nil) 0x194648620: a(n) bad class 0x7ffeefbecb58 M INVALID RECEIVER>(nil) 0x194648508: a(n) bad class 0x7ffeefbecba0 M INVALID RECEIVER>(nil) 0x194648450: a(n) bad class 0x7ffeefbecbe8 M INVALID RECEIVER>(nil) 0x1481641a8: a(n) bad class 0x7ffeefbecc30 M INVALID RECEIVER>(nil) 0x1481640f0: a(n) bad class 0x7ffeefbecc78 M INVALID RECEIVER>(nil) 0x148164038: a(n) bad class 0x7ffeefbeccc0 M INVALID RECEIVER>(nil) 0x148163f80: a(n) bad class 0x7ffeefbecd08 M INVALID RECEIVER>(nil) 0x148163ec8: a(n) bad class 0x7ffeefbecd50 M INVALID RECEIVER>(nil) 0x148163e10: a(n) bad class 0x7ffeefbecd98 M INVALID RECEIVER>(nil) 0x148163d28: a(n) bad class 0x7ffeefbecde0 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class 0x7ffeefbece28 M INVALID RECEIVER>(nil) 0x148163b38: a(n) bad class 0x7ffeefbece70 M INVALID RECEIVER>(nil) 0x148163a80: a(n) bad class 0x7ffeefbeceb8 M INVALID RECEIVER>(nil) 0x1481639c8: a(n) bad class 0x7ffeefbe7758 M INVALID RECEIVER>(nil) 0x1481638e0: a(n) bad class 0x7ffeefbe77a0 M INVALID RECEIVER>(nil) 0x148163808: a(n) bad class 0x7ffeefbe77e8 M INVALID RECEIVER>(nil) 0x148163750: a(n) bad class 0x7ffeefbe7830 M INVALID RECEIVER>(nil) 0x148163698: a(n) bad class 0x7ffeefbe7878 M INVALID RECEIVER>(nil) 0x1481635c0: a(n) bad class 0x7ffeefbe78c0 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class 0x7ffeefbe7908 M INVALID RECEIVER>(nil) 0x148163408: a(n) bad class 0x7ffeefbe7950 M INVALID RECEIVER>(nil) 0x148163350: a(n) bad class 0x7ffeefbe7998 M INVALID RECEIVER>(nil) 0x148163298: a(n) bad class 0x7ffeefbe79e0 M INVALID RECEIVER>(nil) 0x148163188: a(n) bad class 0x7ffeefbe7a28 M INVALID RECEIVER>(nil) 0x148163098: a(n) bad class 0x7ffeefbe7a70 M INVALID RECEIVER>(nil) 0x148162fa0: a(n) bad class 0x7ffeefbe7ab8 M INVALID RECEIVER>(nil) 0x148162ec8: a(n) bad class 0x7ffeefbe7b00 M INVALID RECEIVER>(nil) 0x148162e10: a(n) bad class 0x7ffeefbe7b48 M INVALID RECEIVER>(nil) 0x148712a08: a(n) bad class 0x7ffeefbe7b90 M INVALID RECEIVER>(nil) 0x148712950: a(n) bad class 0x7ffeefbe7bd8 M INVALID RECEIVER>(nil) 0x148712898: a(n) bad class 0x7ffeefbe7c20 M INVALID RECEIVER>(nil) 0x148713cc0: a(n) bad class 0x7ffeefbe7c68 M INVALID RECEIVER>(nil) 0x148713018: a(n) bad class 0x7ffeefbe7cb0 M INVALID RECEIVER>(nil) 0x148713480: a(n) bad class 0x7ffeefbe7cf8 M INVALID RECEIVER>(nil) 0x148713140: a(n) bad class 0x7ffeefbe7d40 M INVALID RECEIVER>(nil) 0x148713928: a(n) bad class 0x7ffeefbe7d88 M INVALID RECEIVER>(nil) 0x1487133c8: a(n) bad class 0x7ffeefbe7de0 I INVALID RECEIVER>(nil) 0x148713238: a(n) bad class 0x7ffeefbe7e28 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class 0x7ffeefbe7e70 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class 0x7ffeefbe7eb8 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class 0x7ffeefbeea68 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class 0x7ffeefbeeac8 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class 0x7ffeefbeeb00 M INVALID RECEIVER>(nil) 0x148713108: a(n) bad class 0x7ffeefbeeb50 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class 0x7ffeefbeeb98 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class 0x7ffeefbeebe0 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class 0x7ffeefbeec10 M INVALID RECEIVER>(nil) 0x9=1 0x7ffeefbeec48 M INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class 0x7ffeefbeeca0 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class 0x7ffeefbeecd0 M INVALID RECEIVER>(nil) 0x1487130d0: a(n) bad class 0x7ffeefbeed10 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class 0x7ffeefbeed58 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class 0x7ffeefbeedb0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class 0x7ffeefbeedf0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class 0x7ffeefbeee20 M [] in INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class 0x7ffeefbeee78 M INVALID RECEIVER>(nil) 0x148162df0: a(n) bad class 0x7ffeefbeeec0 M INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class 0x7ffeefbe5978 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class 0x7ffeefbe59d8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class 0x7ffeefbe5a18 M INVALID RECEIVER>(nil) 0x148163150: a(n) bad class 0x7ffeefbe5a68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class 0x7ffeefbe5aa0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class 0x7ffeefbe5ad8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class 0x7ffeefbe5b08 M INVALID RECEIVER>(nil) 0x1481634c0: a(n) bad class 0x7ffeefbe5b48 M INVALID RECEIVER>(nil) 0x14c403ca8: a(n) bad class 0x7ffeefbe5b88 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class 0x7ffeefbe5bc0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class 0x7ffeefbe5bf0 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class 0x7ffeefbe5c20 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class 0x7ffeefbe5c68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class 0x7ffeefbe5c98 M INVALID RECEIVER>(nil) 0x194656468: a(n) bad class 0x7ffeefbe5cd0 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbe5d00 M INVALID RECEIVER>(nil) 0x148163bf0: a(n) bad class 0x7ffeefbe5d50 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbe5d88 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class 0x7ffeefbe5dc0 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class 0x7ffeefbe5e00 M INVALID RECEIVER>(nil) 0x148163de0: a(n) bad class 0x7ffeefbe5e38 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbe5e80 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbe5eb8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbdf9d8 M INVALID RECEIVER>(nil) 0x194648430: a(n) bad class 0x7ffeefbdfa10 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbdfa50 M [] in INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class 0x7ffeefbdfa90 M INVALID RECEIVER>(nil) 0x1946486d8: a(n) bad class 0x7ffeefbdfad0 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class 0x7ffeefbdfb10 M INVALID RECEIVER>(nil) 0x1946485e0: a(n) bad class 0x7ffeefbdfb48 M INVALID RECEIVER>(nil) 0x1489f7da8: a(n) bad class 0x7ffeefbdfb80 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class 0x7ffeefbdfbb8 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbdfbe8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbdfc20 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class 0x7ffeefbdfc58 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class 0x7ffeefbdfc98 M INVALID RECEIVER>(nil) 0x194648c40: a(n) bad class 0x7ffeefbdfcc8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbdfd08 M INVALID RECEIVER>(nil) 0x194648f40: a(n) bad class 0x7ffeefbdfd40 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbdfd70 M INVALID RECEIVER>(nil) 0x14902a730: a(n) bad class 0x7ffeefbdfdb0 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class 0x7ffeefbdfde8 M INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class 0x7ffeefbdfe20 M [] in INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class 0x7ffeefbdfe70 M [] in INVALID RECEIVER>(nil) 0x14d032f98: a(n) bad class 0x7ffeefbdfeb8 M INVALID RECEIVER>(nil) 0x14d032fe0: a(n) bad class (callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil)) 72783 0x14d033738 is not a context A more realistic setup would be to run GT with an assert headless vm. But until now I did not figure out how to build an assert vm for the gt-headless branch from https://github.com/feenkcom/opensmalltalk-vm . Cheers, Andrei [1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/258 [2] checking for cairo's PNG functions feature... configure: WARNING: Could not find libpng in the pkg-config search path checking whether cairo's PNG functions feature could be enabled... no configure: error: recommended PNG functions feature could not be enabled > On 14 Sep 2020, at 17:32, Eliot Miranda wrote: > > Hi Andrei, > > >> On Sep 14, 2020, at 7:15 AM, Andrei Chis wrote: >> >> Hi Eliot, >> >>> On 12 Sep 2020, at 01:42, Eliot Miranda > wrote: >>> >>> Hi Andrei, >>> >>> On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis > wrote: >>> >>> Hi Eliot, >>> >>> Thanks for the answer. That helps to understand what is going on and it can explain why just adding a call to `self pc` makes the crash disappear. >>> >>> Just what was maybe not obvious in my previous email is that we get this problem more or less randomly. We have tests for verifying that tools work when various extensions raise exceptions (these tests copy the stack). Sometimes they work correctly and sometimes they crash. These crashes happen in various tests and until now the only common thing we noticed is that the pc of the contexts where the crash happens looks off. Also the contexts in which this happens are at the beginning of the stack so part of a long computation (it gets copied multiple times). >>> >>> Initially we suspected that there is some memory corruption somewhere due to external calls/memory. Just the fact that calling `self pc` before seems to fix the issue reduces those chances. But who knows. >>> >>> Well, it does look like a VM bug. The VM is somehow failing to intercept some access, perhaps in shallow copy. Weird. I shall try and reproduce. Is there anything special about the process you copy using copyTo: ? >> >> I don’t think there is something special about that process. It is the process that we start to run tests [1]. The exception happens in the running process and the crash is when copying the stack of that running process. > > Ok, cool. What I’d like to do is get a copy of your test setup and run it in an assert vm to try and get more information. AFAICT the vm code is good do the bug is not obvious. An assert vm may give more information before the crash. Have you tried running the system on an assert vm yet? > >> Checked some previous logs and we get these kinds of crashes on the CI server since at least two years. So it does not look like a new bug (but who knows). >> >>> >>> (see below) >>> >>> On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda > wrote: >>> >>> Hi Andrei, >>> >>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis > wrote: >>> >>> Hi, >>> >>> We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm . >>> >>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>> >>> (lldb) call (void *) printOop(0x1206b6990) >>> 0x1206b6990: a(n) Context >>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>> 0x1206b6b28 0x1206b6b50 >>> >>> Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. >>> >>> The issue is that that value is expected *inside* the VM. It is the frame pointer for the context. But above the Vm this value should be hidden. The VM should intercept all accesses to such fields in contexts and automatically map them back to the appropriate values that the image expects to see. [The same thing is true for CompiledMethods; inside the VM methods may refer to their JITted code, but this is invisible from the image]. Intercepting access to Context state already happens with inst var access in methods, with the shallowCopy primitive, with instVarAt: et al, etc. >>> >>> So I expect the issue here is that copyTo: invokes some primitive which does not (yet) check for a context receiver and/or argument, and hence accidentally it reveals the hidden state to the image and a crash results. What I need to know are the definitions for copyTo: and copy, etc all the way down to primitives. >>> >>> Here is the source code: >>> >>> Cool, nothing unusual here. This should all work perfectly. Tis a VM bug. However... >>> >>> Context >> copyTo: aContext >>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>> | copy | >>> self == aContext ifTrue: [^ nil]. >>> copy := self copy. >>> self sender ifNotNil: [ >>> copy privSender: (self sender copyTo: aContext)]. >>> ^ copy >>> >>> Let me suggest >>> >>> Context >> copyTo: aContext >>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>> | copy | >>> self == aContext ifTrue: [^ nil]. >>> copy := self copy. >>> self sender ifNotNil: >>> [:mySender| copy privSender: (mySender copyTo: aContext)]. >>> ^ copy >> >> Nice! >> >> I also tried the non-recursive implementation of Context>>#copyTo: from Squeak and it also crashes. >> >> Not sure if related but now in the same image as before I got a different crash and printing the stack does not work. But this time the error seems to come from handleStackOverflow >> >> (lldb) call (void *)printCallStack() >> invalid frame pointer >> invalid frame pointer >> invalid frame pointer >> error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=EXC_I386_GPFLT). >> The process has been returned to the state before expression evaluation. >> (lldb) bt >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x121e00000) >> * frame #0: 0x0000000100162258 libGlamorousToolkitVMCore.dylib`marryFrameSP + 584 >> frame #1: 0x0000000100172982 libGlamorousToolkitVMCore.dylib`handleStackOverflow + 354 >> frame #2: 0x000000010016b025 libGlamorousToolkitVMCore.dylib`ceStackOverflow + 149 >> frame #3: 0x00000001100005b3 >> frame #4: 0x0000000100174d99 libGlamorousToolkitVMCore.dylib`ptEnterInterpreterFromCallback + 73 >> >> >> Cheers, >> Andrei >> >> [1] ./GlamorousToolkit.app/Contents/MacOS/GlamorousToolkit Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' >> >> >>> >>> Object>>#copy >>> ^self shallowCopy postCopy >>> >>> Object >> shallowCopy >>> | class newObject index | >>> >>> class := self class. >>> class isVariable >>> ifTrue: >>> [index := self basicSize. >>> newObject := class basicNew: index. >>> [index > 0] >>> whileTrue: >>> [newObject basicAt: index put: (self basicAt: index). >>> index := index - 1]] >>> ifFalse: [newObject := class basicNew]. >>> index := class instSize. >>> [index > 0] >>> whileTrue: >>> [newObject instVarAt: index put: (self instVarAt: index). >>> index := index - 1]. >>> ^ newObject >>> >>> The code of the primitiveClone looks the same [1] >>> >>> >>> Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. >>> >>> A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>> Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? >>> >>> This looks like an oversight in some primitive. Here for example is the implementation of the shallowCopy primitive, a.k.a. clone, and you can see where it explcitly intercepts access to a context. >>> >>> primitiveClone >>> "Return a shallow copy of the receiver. >>> Special-case non-single contexts (because of context-to-stack mapping). >>> Can't fail for contexts cuz of image context instantiation code (sigh)." >>> >>> | rcvr newCopy | >>> rcvr := self stackTop. >>> (objectMemory isImmediate: rcvr) >>> ifTrue: >>> [newCopy := rcvr] >>> ifFalse: >>> [(objectMemory isContextNonImm: rcvr) >>> ifTrue: >>> [newCopy := self cloneContext: rcvr] >>> ifFalse: >>> [(argumentCount = 0 >>> or: [(objectMemory isForwarded: rcvr) not]) >>> ifTrue: [newCopy := objectMemory clone: rcvr] >>> ifFalse: [newCopy := 0]]. >>> newCopy = 0 ifTrue: >>> [^self primitiveFailFor: PrimErrNoMemory]]. >>> self pop: argumentCount + 1 thenPush: newCopy >>> >>> But since Squeak doesn't have copyTo: I have no idea what primitive is being used. I'm guessing 168 primitiveCopyObject, which seems to check for a Context receiver, but not for a CompiledCode receiver. What does the primitive failure code look like? Can you post the copyTo: implementations here please? >>> >>> The code is above. I also see Context>>#copyTo: in Squeak calling also Object>>copy for contexts. >>> >>> When a crash happens we don't get the exact same error all the time. For example we get most often on mac: >>> >>> Process 35690 stopped >>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) >>> frame #0: 0x00000001100b1004 >>> -> 0x1100b1004: inl $0x4c, %eax >>> 0x1100b1006: leal -0x5c(%rip), %eax >>> 0x1100b100c: pushq %r8 >>> 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 >>> Target 0: (GlamorousToolkit) stopped. >>> >>> >>> Process 29929 stopped >>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >>> frame #0: 0x00000001100fe7ed >>> -> 0x1100fe7ed: int3 >>> 0x1100fe7ee: int3 >>> 0x1100fe7ef: int3 >>> 0x1100fe7f0: int3 >>> Target 0: (GlamorousToolkit) stopped. >>> >>> [1] https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 >>> >>> Cheers, >>> Andrei >>> >>> >>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>> ... >>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>> ... >>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>> 0x1206b5b98 s Set>collect: >>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>> 0x1206b6a48 s BlockClosure>ensure: >>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>> 0x1207e6620 s BlockClosure>on:do: >>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>> 0x1207a83e0 s BlockClosure>on:do: >>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>> 0x1207bf830 s [] in BlockClosure>newProcess >>> Cheers, >>> Andrei >>> >>> >>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>> >>> >>> >>> -- >>> _,,,^..^,,,_ >>> best, Eliot >>> >>> >>> -- >>> _,,,^..^,,,_ >>> best, Eliot >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Mon Sep 14 23:27:10 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Mon, 14 Sep 2020 16:27:10 -0700 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: <9A2F6367-8B79-4A0D-B82A-A7E2A391A764@gmail.com> Hi Andrei, > > On Sep 14, 2020, at 3:22 PM, Andrei Chis wrote: > > Hi Eliot, > > The setup in GT is a bit customised (some changes in the headless vm, some custom plugins, custom rendering) so I first thought it will be impossible to reproduce the bug in a more standard manner. > However turns out it is possible. If I use the following script after running the tests a few times in lldb I get the crash starting from a plain Pharo 8 image. > > $ curl https://get.pharo.org/64/80+vm | bash > $ curl -L https://raw.githubusercontent.com/feenkcom/gtoolkit/master/scripts/localbuild/loadgt.st -o loadgt.st > $ ./pharo Pharo.image st --quit > > $ lldb ./pharo-vm/Pharo.app/Contents/MacOS/Pharo > (lldb) run --headless Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' > > > I also tried to compile the vm myself on Mac (Catalina 10.15.6). I build a normal and assert for https://github.com/OpenSmalltalk/opensmalltalk-vm and https://github.com/pharo-project/opensmalltalk-vm from the cog branch. > In both cases I get an issue related to pixman 0.34.0 [1] but that’s easy to workaround. For https://github.com/OpenSmalltalk/opensmalltalk-vm I got an extra problem related to Cairo [2] and had to change libpng from libpng16 to libpng12 to get it to work. > > With both the normal VMs I could reproduce the bug and got stacks with the Context>copyTo: messages. > > With the assert VMs I only got a crash for now with the assert vm from https://github.com/pharo-project/opensmalltalk-vm. However there is no Context>copyTo: and the memory seems quite corrupted. > I suspect the crash also appears in https://github.com/OpenSmalltalk/opensmalltalk-vm but seems that with the assert vm it is much harder to reproduce. Had to run the tests 20 times and got one crash; running the tests once take 20-30 minutes. > > > This is from only crash until now with the assert vm. Not sure if they are helpful or not, or actually related to the problem. > > validInstructionPointerinFrame(GIV(instructionPointer), GIV(framePointer)) 18471 > Pharo was compiled with optimization - stepping may behave oddly; variables may not be available. > Process 73731 stopped > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) > frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] > 139 static inline sqInt intAtPointer(char *ptr) { return (sqInt)(*((int *)ptr)); } > 140 static inline sqInt intAtPointerput(char *ptr, int val) { return (sqInt)(*((int *)ptr)= val); } > 141 static inline sqInt longAtPointer(char *ptr) { return *(sqInt *)ptr; } > -> 142 static inline sqInt longAtPointerput(char *ptr, sqInt val) { return *(sqInt *)ptr= val; } > 143 static inline sqLong long64AtPointer(char *ptr) { return *(sqLong *)ptr; } > 144 static inline sqLong long64AtPointerput(char *ptr, sqLong val) { return *(sqLong *)ptr= val; } > 145 static inline float singleFloatAtPointer(char *ptr) { return *(float *)ptr; } > Target 0: (Pharo) stopped. > > > (lldb) bt > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) > * frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] > frame #1: 0x00000001000161cf Pharo`marryFrameSP(theFP=, theSP=0x0000000000000000) at gcc3x-cointerp.c:68120:3 [opt] > frame #2: 0x000000010001f5ac Pharo`ceContextinstVar(maybeContext=5510359872, slotIndex=0) at gcc3x-cointerp.c:15221:12 [opt] > frame #3: 0x00000001480017d6 > frame #4: 0x00000001000022be Pharo`interpret at gcc3x-cointerp.c:2755:3 [opt] > frame #5: 0x00000001000bc244 Pharo`-[sqSqueakMainApplication runSqueak](self=0x0000000101c76dc0, _cmd=) at sqSqueakMainApplication.m:201:2 [opt] > frame #6: 0x00007fff3326729b Foundation`__NSFirePerformWithOrder + 360 > frame #7: 0x00007fff30ad3335 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 > frame #8: 0x00007fff30ad3267 CoreFoundation`__CFRunLoopDoObservers + 457 > frame #9: 0x00007fff30ad2805 CoreFoundation`__CFRunLoopRun + 874 > frame #10: 0x00007fff30ad1e3e CoreFoundation`CFRunLoopRunSpecific + 462 > frame #11: 0x00007fff2f6feabd HIToolbox`RunCurrentEventLoopInMode + 292 > frame #12: 0x00007fff2f6fe6f4 HIToolbox`ReceiveNextEventCommon + 359 > frame #13: 0x00007fff2f6fe579 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64 > frame #14: 0x00007fff2dd44039 AppKit`_DPSNextEvent + 883 > frame #15: 0x00007fff2dd42880 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352 > frame #16: 0x00007fff2dd3458e AppKit`-[NSApplication run] + 658 > frame #17: 0x00007fff2dd06396 AppKit`NSApplicationMain + 777 > frame #18: 0x00007fff6ab3ecc9 libdyld.dylib`start + 1 > > > (lldb) call printCallStack() > 0x7ffeefbe3920 M INVALID RECEIVER>(nil) 0x148716b40: a(n) bad class > 0x7ffeefbe3968 M [] in INVALID RECEIVER>(nil) Context(Object)>>doesNotUnderstand: #bounds > 0x194648118: a(n) bad class > 0x7ffeefbe39a8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class > 0x7ffeefbe39e8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class > 0x7ffeefbe3a30 I INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe3a80 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe3ab8 M INVALID RECEIVER>(nil) 0x148163cd0: a(n) bad class > 0x7ffeefbe3b08 I INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class > 0x7ffeefbe3b40 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class > 0x7ffeefbe3b78 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class > 0x7ffeefbe3bc0 I INVALID RECEIVER>(nil) 0x148716a38: a(n) bad class > 0x7ffeefbe3c10 I INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class > 0x7ffeefbe3c40 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class > 0x7ffeefbe3c78 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class > 0x7ffeefbe3cc0 M INVALID RECEIVER>(nil) 0x14d0337f0: a(n) bad class > 0x7ffeefbe3d08 M INVALID RECEIVER>(nil) 0x14d033738: a(n) bad class > 0x7ffeefbe3d50 M INVALID RECEIVER>(nil) 0x14d033680: a(n) bad class > 0x7ffeefbe3d98 M INVALID RECEIVER>(nil) 0x1946493f0: a(n) bad class > 0x7ffeefbe3de0 M INVALID RECEIVER>(nil) 0x194649338: a(n) bad class > 0x7ffeefbe3e28 M INVALID RECEIVER>(nil) 0x194649280: a(n) bad class > 0x7ffeefbe3e70 M INVALID RECEIVER>(nil) 0x1946491c8: a(n) bad class > 0x7ffeefbe3eb8 M INVALID RECEIVER>(nil) 0x194649110: a(n) bad class > 0x7ffeefbec768 M INVALID RECEIVER>(nil) 0x194649038: a(n) bad class > 0x7ffeefbec7b0 M INVALID RECEIVER>(nil) 0x194648f60: a(n) bad class > 0x7ffeefbec7f8 M INVALID RECEIVER>(nil) 0x194648e88: a(n) bad class > 0x7ffeefbec840 M INVALID RECEIVER>(nil) 0x194648dd0: a(n) bad class > 0x7ffeefbec888 M INVALID RECEIVER>(nil) 0x194648d18: a(n) bad class > 0x7ffeefbec8d0 M INVALID RECEIVER>(nil) 0x194648c60: a(n) bad class > 0x7ffeefbec918 M INVALID RECEIVER>(nil) 0x194648b88: a(n) bad class > 0x7ffeefbec960 M INVALID RECEIVER>(nil) 0x194648ad0: a(n) bad class > 0x7ffeefbec9a8 M INVALID RECEIVER>(nil) 0x194648a18: a(n) bad class > 0x7ffeefbec9f0 M INVALID RECEIVER>(nil) 0x194648960: a(n) bad class > 0x7ffeefbeca38 M INVALID RECEIVER>(nil) 0x1946488a8: a(n) bad class > 0x7ffeefbeca80 M INVALID RECEIVER>(nil) 0x1946487f0: a(n) bad class > 0x7ffeefbecac8 M INVALID RECEIVER>(nil) 0x194648708: a(n) bad class > 0x7ffeefbecb10 M INVALID RECEIVER>(nil) 0x194648620: a(n) bad class > 0x7ffeefbecb58 M INVALID RECEIVER>(nil) 0x194648508: a(n) bad class > 0x7ffeefbecba0 M INVALID RECEIVER>(nil) 0x194648450: a(n) bad class > 0x7ffeefbecbe8 M INVALID RECEIVER>(nil) 0x1481641a8: a(n) bad class > 0x7ffeefbecc30 M INVALID RECEIVER>(nil) 0x1481640f0: a(n) bad class > 0x7ffeefbecc78 M INVALID RECEIVER>(nil) 0x148164038: a(n) bad class > 0x7ffeefbeccc0 M INVALID RECEIVER>(nil) 0x148163f80: a(n) bad class > 0x7ffeefbecd08 M INVALID RECEIVER>(nil) 0x148163ec8: a(n) bad class > 0x7ffeefbecd50 M INVALID RECEIVER>(nil) 0x148163e10: a(n) bad class > 0x7ffeefbecd98 M INVALID RECEIVER>(nil) 0x148163d28: a(n) bad class > 0x7ffeefbecde0 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class > 0x7ffeefbece28 M INVALID RECEIVER>(nil) 0x148163b38: a(n) bad class > 0x7ffeefbece70 M INVALID RECEIVER>(nil) 0x148163a80: a(n) bad class > 0x7ffeefbeceb8 M INVALID RECEIVER>(nil) 0x1481639c8: a(n) bad class > 0x7ffeefbe7758 M INVALID RECEIVER>(nil) 0x1481638e0: a(n) bad class > 0x7ffeefbe77a0 M INVALID RECEIVER>(nil) 0x148163808: a(n) bad class > 0x7ffeefbe77e8 M INVALID RECEIVER>(nil) 0x148163750: a(n) bad class > 0x7ffeefbe7830 M INVALID RECEIVER>(nil) 0x148163698: a(n) bad class > 0x7ffeefbe7878 M INVALID RECEIVER>(nil) 0x1481635c0: a(n) bad class > 0x7ffeefbe78c0 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class > 0x7ffeefbe7908 M INVALID RECEIVER>(nil) 0x148163408: a(n) bad class > 0x7ffeefbe7950 M INVALID RECEIVER>(nil) 0x148163350: a(n) bad class > 0x7ffeefbe7998 M INVALID RECEIVER>(nil) 0x148163298: a(n) bad class > 0x7ffeefbe79e0 M INVALID RECEIVER>(nil) 0x148163188: a(n) bad class > 0x7ffeefbe7a28 M INVALID RECEIVER>(nil) 0x148163098: a(n) bad class > 0x7ffeefbe7a70 M INVALID RECEIVER>(nil) 0x148162fa0: a(n) bad class > 0x7ffeefbe7ab8 M INVALID RECEIVER>(nil) 0x148162ec8: a(n) bad class > 0x7ffeefbe7b00 M INVALID RECEIVER>(nil) 0x148162e10: a(n) bad class > 0x7ffeefbe7b48 M INVALID RECEIVER>(nil) 0x148712a08: a(n) bad class > 0x7ffeefbe7b90 M INVALID RECEIVER>(nil) 0x148712950: a(n) bad class > 0x7ffeefbe7bd8 M INVALID RECEIVER>(nil) 0x148712898: a(n) bad class > 0x7ffeefbe7c20 M INVALID RECEIVER>(nil) 0x148713cc0: a(n) bad class > 0x7ffeefbe7c68 M INVALID RECEIVER>(nil) 0x148713018: a(n) bad class > 0x7ffeefbe7cb0 M INVALID RECEIVER>(nil) 0x148713480: a(n) bad class > 0x7ffeefbe7cf8 M INVALID RECEIVER>(nil) 0x148713140: a(n) bad class > 0x7ffeefbe7d40 M INVALID RECEIVER>(nil) 0x148713928: a(n) bad class > 0x7ffeefbe7d88 M INVALID RECEIVER>(nil) 0x1487133c8: a(n) bad class > 0x7ffeefbe7de0 I INVALID RECEIVER>(nil) 0x148713238: a(n) bad class > 0x7ffeefbe7e28 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class > 0x7ffeefbe7e70 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class > 0x7ffeefbe7eb8 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeea68 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeeac8 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeeb00 M INVALID RECEIVER>(nil) 0x148713108: a(n) bad class > 0x7ffeefbeeb50 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class > 0x7ffeefbeeb98 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class > 0x7ffeefbeebe0 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class > 0x7ffeefbeec10 M INVALID RECEIVER>(nil) 0x9=1 > 0x7ffeefbeec48 M INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class > 0x7ffeefbeeca0 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeecd0 M INVALID RECEIVER>(nil) 0x1487130d0: a(n) bad class > 0x7ffeefbeed10 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeed58 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeedb0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class > 0x7ffeefbeedf0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class > 0x7ffeefbeee20 M [] in INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class > 0x7ffeefbeee78 M INVALID RECEIVER>(nil) 0x148162df0: a(n) bad class > 0x7ffeefbeeec0 M INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class > 0x7ffeefbe5978 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe59d8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5a18 M INVALID RECEIVER>(nil) 0x148163150: a(n) bad class > 0x7ffeefbe5a68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5aa0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5ad8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5b08 M INVALID RECEIVER>(nil) 0x1481634c0: a(n) bad class > 0x7ffeefbe5b48 M INVALID RECEIVER>(nil) 0x14c403ca8: a(n) bad class > 0x7ffeefbe5b88 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5bc0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5bf0 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5c20 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5c68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5c98 M INVALID RECEIVER>(nil) 0x194656468: a(n) bad class > 0x7ffeefbe5cd0 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe5d00 M INVALID RECEIVER>(nil) 0x148163bf0: a(n) bad class > 0x7ffeefbe5d50 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe5d88 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbe5dc0 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbe5e00 M INVALID RECEIVER>(nil) 0x148163de0: a(n) bad class > 0x7ffeefbe5e38 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe5e80 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe5eb8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbdf9d8 M INVALID RECEIVER>(nil) 0x194648430: a(n) bad class > 0x7ffeefbdfa10 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbdfa50 M [] in INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class > 0x7ffeefbdfa90 M INVALID RECEIVER>(nil) 0x1946486d8: a(n) bad class > 0x7ffeefbdfad0 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class > 0x7ffeefbdfb10 M INVALID RECEIVER>(nil) 0x1946485e0: a(n) bad class > 0x7ffeefbdfb48 M INVALID RECEIVER>(nil) 0x1489f7da8: a(n) bad class > 0x7ffeefbdfb80 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class > 0x7ffeefbdfbb8 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbdfbe8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbdfc20 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbdfc58 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbdfc98 M INVALID RECEIVER>(nil) 0x194648c40: a(n) bad class > 0x7ffeefbdfcc8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbdfd08 M INVALID RECEIVER>(nil) 0x194648f40: a(n) bad class > 0x7ffeefbdfd40 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbdfd70 M INVALID RECEIVER>(nil) 0x14902a730: a(n) bad class > 0x7ffeefbdfdb0 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbdfde8 M INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class > 0x7ffeefbdfe20 M [] in INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class > 0x7ffeefbdfe70 M [] in INVALID RECEIVER>(nil) 0x14d032f98: a(n) bad class > 0x7ffeefbdfeb8 M INVALID RECEIVER>(nil) 0x14d032fe0: a(n) bad class > > (callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil)) 72783 > 0x14d033738 is not a context OK, interesting. Both the assert failure and the badly corrupted stack trace lead me to believe that the issue happens long before the crash and is probably a stack corruption, either by a primitive cutting back the stack incorrectly, or some other hot riot ion (for example are all those nils in INVALID RECEIVER>(nil) real or an artifact of attempting to print an invalid value?). So the next step is to run the asset vm with leak checking turned on. Use myvm —leakcheck 3 to check after every GC We can add, eg leak checking after an FFI call, in an afternoon > A more realistic setup would be to run GT with an assert headless vm. But until now I did not figure out how to build an assert vm for the gt-headless branch from https://github.com/feenkcom/opensmalltalk-vm. > > Cheers, > Andrei > > > [1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/258 > > [2] checking for cairo's PNG functions feature... > configure: WARNING: Could not find libpng in the pkg-config search path > checking whether cairo's PNG functions feature could be enabled... no > configure: error: recommended PNG functions feature could not be enabled > >> On 14 Sep 2020, at 17:32, Eliot Miranda wrote: >> >> Hi Andrei, >> >> >>>> On Sep 14, 2020, at 7:15 AM, Andrei Chis wrote: >>>> >>> Hi Eliot, >>> >>>> On 12 Sep 2020, at 01:42, Eliot Miranda wrote: >>>> >>>> Hi Andrei, >>>> >>>> On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis wrote: >>>>> >>>>> Hi Eliot, >>>>> >>>>> Thanks for the answer. That helps to understand what is going on and it can explain why just adding a call to `self pc` makes the crash disappear. >>>>> >>>>> Just what was maybe not obvious in my previous email is that we get this problem more or less randomly. We have tests for verifying that tools work when various extensions raise exceptions (these tests copy the stack). Sometimes they work correctly and sometimes they crash. These crashes happen in various tests and until now the only common thing we noticed is that the pc of the contexts where the crash happens looks off. Also the contexts in which this happens are at the beginning of the stack so part of a long computation (it gets copied multiple times). >>>>> >>>>> Initially we suspected that there is some memory corruption somewhere due to external calls/memory. Just the fact that calling `self pc` before seems to fix the issue reduces those chances. But who knows. >>>> >>>> Well, it does look like a VM bug. The VM is somehow failing to intercept some access, perhaps in shallow copy. Weird. I shall try and reproduce. Is there anything special about the process you copy using copyTo: ? >>> >>> I don’t think there is something special about that process. It is the process that we start to run tests [1]. The exception happens in the running process and the crash is when copying the stack of that running process. >> >> Ok, cool. What I’d like to do is get a copy of your test setup and run it in an assert vm to try and get more information. AFAICT the vm code is good do the bug is not obvious. An assert vm may give more information before the crash. Have you tried running the system on an assert vm yet? >> >>> Checked some previous logs and we get these kinds of crashes on the CI server since at least two years. So it does not look like a new bug (but who knows). >>> >>>> >>>> (see below) >>>> >>>>>>> On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda wrote: >>>>>>> >>>>>>> Hi Andrei, >>>>>>> >>>>>>>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm. >>>>>>>> >>>>>>>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>>>>>>> >>>>>>>> (lldb) call (void *) printOop(0x1206b6990) >>>>>>>> 0x1206b6990: a(n) Context >>>>>>>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>>>>>>> 0x1206b6b28 0x1206b6b50 >>>>>>>> >>>>>>>> Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. >>>>>>> >>>>>>> The issue is that that value is expected *inside* the VM. It is the frame pointer for the context. But above the Vm this value should be hidden. The VM should intercept all accesses to such fields in contexts and automatically map them back to the appropriate values that the image expects to see. [The same thing is true for CompiledMethods; inside the VM methods may refer to their JITted code, but this is invisible from the image]. Intercepting access to Context state already happens with inst var access in methods, with the shallowCopy primitive, with instVarAt: et al, etc. >>>>>>> >>>>>>> So I expect the issue here is that copyTo: invokes some primitive which does not (yet) check for a context receiver and/or argument, and hence accidentally it reveals the hidden state to the image and a crash results. What I need to know are the definitions for copyTo: and copy, etc all the way down to primitives. >>>>>> >>>>>> Here is the source code: >>>>> >>>>> Cool, nothing unusual here. This should all work perfectly. Tis a VM bug. However... >>>>> >>>>> Context >> copyTo: aContext >>>>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>>>> | copy | >>>>> self == aContext ifTrue: [^ nil]. >>>>> copy := self copy. >>>>> self sender ifNotNil: [ >>>>> copy privSender: (self sender copyTo: aContext)]. >>>>> ^ copy >>>> >>>> Let me suggest >>>> >>>> Context >> copyTo: aContext >>>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>>> | copy | >>>> self == aContext ifTrue: [^ nil]. >>>> copy := self copy. >>>> self sender ifNotNil: >>>> [:mySender| copy privSender: (mySender copyTo: aContext)]. >>>> ^ copy >>> >>> Nice! >>> >>> I also tried the non-recursive implementation of Context>>#copyTo: from Squeak and it also crashes. >>> >>> Not sure if related but now in the same image as before I got a different crash and printing the stack does not work. But this time the error seems to come from handleStackOverflow >>> >>> (lldb) call (void *)printCallStack() >>> invalid frame pointer >>> invalid frame pointer >>> invalid frame pointer >>> error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=EXC_I386_GPFLT). >>> The process has been returned to the state before expression evaluation. >>> (lldb) bt >>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x121e00000) >>> * frame #0: 0x0000000100162258 libGlamorousToolkitVMCore.dylib`marryFrameSP + 584 >>> frame #1: 0x0000000100172982 libGlamorousToolkitVMCore.dylib`handleStackOverflow + 354 >>> frame #2: 0x000000010016b025 libGlamorousToolkitVMCore.dylib`ceStackOverflow + 149 >>> frame #3: 0x00000001100005b3 >>> frame #4: 0x0000000100174d99 libGlamorousToolkitVMCore.dylib`ptEnterInterpreterFromCallback + 73 >>> >>> >>> Cheers, >>> Andrei >>> >>> [1] ./GlamorousToolkit.app/Contents/MacOS/GlamorousToolkit Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' >>> >>> >>>> >>>>> Object>>#copy >>>>> ^self shallowCopy postCopy >>>>> >>>>> Object >> shallowCopy >>>>> | class newObject index | >>>>> >>>>> class := self class. >>>>> class isVariable >>>>> ifTrue: >>>>> [index := self basicSize. >>>>> newObject := class basicNew: index. >>>>> [index > 0] >>>>> whileTrue: >>>>> [newObject basicAt: index put: (self basicAt: index). >>>>> index := index - 1]] >>>>> ifFalse: [newObject := class basicNew]. >>>>> index := class instSize. >>>>> [index > 0] >>>>> whileTrue: >>>>> [newObject instVarAt: index put: (self instVarAt: index). >>>>> index := index - 1]. >>>>> ^ newObject >>>>> >>>>> The code of the primitiveClone looks the same [1] >>>>> >>>>>> >>>>>>> Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. >>>>>>> >>>>>>> A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>>>>>> Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? >>>>>> >>>>>> This looks like an oversight in some primitive. Here for example is the implementation of the shallowCopy primitive, a.k.a. clone, and you can see where it explcitly intercepts access to a context. >>>>>> >>>>>> primitiveClone >>>>>> "Return a shallow copy of the receiver. >>>>>> Special-case non-single contexts (because of context-to-stack mapping). >>>>>> Can't fail for contexts cuz of image context instantiation code (sigh)." >>>>>> >>>>>> | rcvr newCopy | >>>>>> rcvr := self stackTop. >>>>>> (objectMemory isImmediate: rcvr) >>>>>> ifTrue: >>>>>> [newCopy := rcvr] >>>>>> ifFalse: >>>>>> [(objectMemory isContextNonImm: rcvr) >>>>>> ifTrue: >>>>>> [newCopy := self cloneContext: rcvr] >>>>>> ifFalse: >>>>>> [(argumentCount = 0 >>>>>> or: [(objectMemory isForwarded: rcvr) not]) >>>>>> ifTrue: [newCopy := objectMemory clone: rcvr] >>>>>> ifFalse: [newCopy := 0]]. >>>>>> newCopy = 0 ifTrue: >>>>>> [^self primitiveFailFor: PrimErrNoMemory]]. >>>>>> self pop: argumentCount + 1 thenPush: newCopy >>>>>> >>>>>> But since Squeak doesn't have copyTo: I have no idea what primitive is being used. I'm guessing 168 primitiveCopyObject, which seems to check for a Context receiver, but not for a CompiledCode receiver. What does the primitive failure code look like? Can you post the copyTo: implementations here please? >>>>> >>>>> The code is above. I also see Context>>#copyTo: in Squeak calling also Object>>copy for contexts. >>>>> >>>>> When a crash happens we don't get the exact same error all the time. For example we get most often on mac: >>>>> >>>>> Process 35690 stopped >>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) >>>>> frame #0: 0x00000001100b1004 >>>>> -> 0x1100b1004: inl $0x4c, %eax >>>>> 0x1100b1006: leal -0x5c(%rip), %eax >>>>> 0x1100b100c: pushq %r8 >>>>> 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 >>>>> Target 0: (GlamorousToolkit) stopped. >>>>> >>>>> >>>>> Process 29929 stopped >>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >>>>> frame #0: 0x00000001100fe7ed >>>>> -> 0x1100fe7ed: int3 >>>>> 0x1100fe7ee: int3 >>>>> 0x1100fe7ef: int3 >>>>> 0x1100fe7f0: int3 >>>>> Target 0: (GlamorousToolkit) stopped. >>>>> >>>>> [1] https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 >>>>> >>>>> Cheers, >>>>> Andrei >>>>> >>>>>> >>>>>>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>>>>>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>>>>>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>>>>>> ... >>>>>>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>>>>>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>>>>>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>>>>>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>>>>>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>>>>>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>>>>>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>>>>>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>>>>>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>>>>>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>>>>>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>>>>>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>>>>>> ... >>>>>>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>>>>>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>>>>>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>>>>>> 0x1206b5b98 s Set>collect: >>>>>>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>>>>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>>>>>> 0x1206b6a48 s BlockClosure>ensure: >>>>>>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>>>>>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>>>>>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>>>>>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>>>>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>>>> 0x1207e6620 s BlockClosure>on:do: >>>>>>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>>>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>>>>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>>>>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>>>> 0x1207a83e0 s BlockClosure>on:do: >>>>>>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>>>> 0x1207bf830 s [] in BlockClosure>newProcess >>>>>>> Cheers, >>>>>>> Andrei >>>>>>> >>>>>>> >>>>>>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> _,,,^..^,,,_ >>>>>> best, Eliot >>>> >>>> >>>> -- >>>> _,,,^..^,,,_ >>>> best, Eliot _,,,^..^,,,_ (phone) -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Tue Sep 15 00:11:05 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Tue, 15 Sep 2020 00:11:05 0000 Subject: [Vm-dev] VM Maker: Cog-eem.409.mcz Message-ID: Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.409.mcz ==================== Summary ==================== Name: Cog-eem.409 Author: eem Time: 14 September 2020, 5:11:03.609816 pm UUID: 12f864b3-51e2-4d9b-a0e1-380233c6a563 Ancestors: Cog-eem.408 Make MIPSEL simulate a bit more (the things we do when trying to avoid hard work...) =============== Diff against Cog-eem.408 =============== Item was added: + ----- Method: MIPSELSimulator class>>wordSize (in category 'accessing') ----- + wordSize + ^4! Item was changed: + ----- Method: MIPSSimulator>>a0 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>a0 (in category 'registers') ----- a0 ^self unsignedRegister: A0! Item was changed: + ----- Method: MIPSSimulator>>a0: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>a0: (in category 'registers') ----- a0: anInteger ^self unsignedRegister: A0 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>a1 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>a1 (in category 'registers') ----- a1 ^self unsignedRegister: A1! Item was changed: + ----- Method: MIPSSimulator>>a1: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>a1: (in category 'registers') ----- a1: anInteger ^self unsignedRegister: A1 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>a2 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>a2 (in category 'registers') ----- a2 ^self unsignedRegister: A2! Item was changed: + ----- Method: MIPSSimulator>>a2: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>a2: (in category 'registers') ----- a2: anInteger ^self unsignedRegister: A2 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>a3 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>a3 (in category 'registers') ----- a3 ^self unsignedRegister: A3! Item was changed: + ----- Method: MIPSSimulator>>a3: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>a3: (in category 'registers') ----- a3: anInteger ^self unsignedRegister: A3 put: anInteger! Item was added: + ----- Method: MIPSSimulator>>at (in category 'accessing-registers') ----- + at + ^self unsignedRegister: AT! Item was added: + ----- Method: MIPSSimulator>>attemptJumpTo:type: (in category 'instructions - control') ----- + attemptJumpTo: nextPC type: trapType + (nextPC between: readableBase and: exectuableLimit) ifFalse: + [^(ProcessorSimulationTrap + pc: pc + nextpc: pc + OneInstruction + address: nextPC + type: trapType) + signal]. + pc := nextPC - OneInstruction "Account for general increment"! Item was added: + ----- Method: MIPSSimulator>>controlRegisterGetters (in category 'accessing-abstract') ----- + controlRegisterGetters + ^#(pc)! Item was added: + ----- Method: MIPSSimulator>>decorateDisassembly:for:fromAddress: (in category 'disassembly') ----- + decorateDisassembly: anInstructionString for: aSymbolManager "" fromAddress: address + "for now..." + ^anInstructionString! Item was changed: ----- Method: MIPSSimulator>>disassembleInstructionAt:In: (in category 'disassembly') ----- disassembleInstructionAt: index In: memory ^String streamContents: + [:aStream| | word | - [:aStream| | instruction word | word := memory unsignedLongAt: index + 1. + "word printOn: aStream base: 16 nDigits: 8." + index printOn: aStream base: 16 nDigits: 6. + aStream nextPut: $:; space. + aStream nextPutAll: ((MIPSInstruction new value: word) decodeFor: MIPSDisassembler new)]! - word printOn: aStream base: 16 nDigits: 8. - aStream space; space. - instruction := MIPSInstruction new value: word. - aStream nextPutAll: (instruction decodeFor: MIPSDisassembler new)]! Item was added: + ----- Method: MIPSSimulator>>disassembleNextInstructionIn:for: (in category 'disassembly') ----- + disassembleNextInstructionIn: memory for: aSymbolManager "" + | instruction | + pc >= memory size ifTrue: + [| string | + string := aSymbolManager ifNotNil: + [aSymbolManager lookupAddress: pc]. + ^self pc hex, ' : ', (string ifNil: ['Invalid address'])]. + instruction := self disassembleInstructionAt: self pc In: memory. + ^aSymbolManager + ifNil: [instruction] + ifNotNil: [self decorateDisassembly: instruction for: aSymbolManager fromAddress: pc]! Item was changed: + ----- Method: MIPSSimulator>>fp (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>fp (in category 'registers') ----- fp ^self unsignedRegister: FP! Item was changed: + ----- Method: MIPSSimulator>>fp: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>fp: (in category 'registers') ----- fp: anInteger ^self unsignedRegister: FP put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>getterForRegister: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>getterForRegister: (in category 'registers') ----- getterForRegister: registerNumber ^#(zr at v0 v1 a0 a1 a2 a3 t0 t1 t2 t3 t4 t5 t6 t7 s0 s1 s2 s3 s4 s5 s6 s7 t8 t9 k0 k1 gp sp fp ra) at: registerNumber + 1! Item was changed: + ----- Method: MIPSSimulator>>gp (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>gp (in category 'registers') ----- gp ^self unsignedRegister: GP! Item was changed: + ----- Method: MIPSSimulator>>gp: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>gp: (in category 'registers') ----- gp: anInteger ^self unsignedRegister: GP put: anInteger! Item was changed: ----- Method: MIPSSimulator>>jump: (in category 'instructions - control') ----- jump: instruction | nextPC | self assert: inDelaySlot not. jumpingPC := pc. pc := pc + OneInstruction. nextPC := (pc bitAnd: 16rF0000000) + (instruction target << 2). "Region is that of the delay slot." self executeDelaySlot. + self attemptJumpTo: nextPC type: #jump! - pc := nextPC - OneInstruction. "Account for general increment"! Item was changed: ----- Method: MIPSSimulator>>jumpAndLink: (in category 'instructions - control') ----- jumpAndLink: instruction | nextPC | self assert: inDelaySlot not. self unsignedRegister: RA put: pc + TwoInstructions. "Return past delay slot." jumpingPC := pc. pc := pc + OneInstruction. nextPC := (pc bitAnd: 16rF0000000) + (instruction target << 2). "Region is that of the delay slot." self executeDelaySlot. + self attemptJumpTo: nextPC type: #call! - pc := nextPC - OneInstruction. "Account for general increment"! Item was changed: ----- Method: MIPSSimulator>>jumpAndLinkRegister: (in category 'instructions - control') ----- jumpAndLinkRegister: instruction | nextPC | self assert: inDelaySlot not. self unsignedRegister: instruction rd put: pc + TwoInstructions. "Return past delay slot." nextPC := self unsignedRegister: instruction rs. jumpingPC := pc. pc := pc + OneInstruction. self executeDelaySlot. + self attemptJumpTo: nextPC type: #call! - pc := nextPC. - pc := pc - OneInstruction. "Account for general increment"! Item was changed: ----- Method: MIPSSimulator>>jumpRegister: (in category 'instructions - control') ----- jumpRegister: instruction | nextPC | self assert: inDelaySlot not. nextPC := self unsignedRegister: instruction rs. jumpingPC := pc. pc := pc + OneInstruction. self executeDelaySlot. + self attemptJumpTo: nextPC type: (instruction rs == RA ifTrue: [#return] ifFalse: [#jump])! - pc := nextPC. - pc := pc - OneInstruction. "Account for general increment"! Item was changed: + ----- Method: MIPSSimulator>>k0 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>k0 (in category 'registers') ----- k0 ^self unsignedRegister: K0! Item was changed: + ----- Method: MIPSSimulator>>k0: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>k0: (in category 'registers') ----- k0: anInteger ^self unsignedRegister: K0 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>k1 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>k1 (in category 'registers') ----- k1 ^self unsignedRegister: K1! Item was changed: + ----- Method: MIPSSimulator>>k1: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>k1: (in category 'registers') ----- k1: anInteger ^self unsignedRegister: K1 put: anInteger! Item was added: + ----- Method: MIPSSimulator>>leafRetpcIn: (in category 'accessing-abstract') ----- + leafRetpcIn: aMemory + "Answer the retpc assuming that the processor is in a simulated call established + by simulateLeafCallOf:nextpc:memory:" + ^self ra! Item was added: + ----- Method: MIPSSimulator>>printFields:inRegisterState:on: (in category 'user interface') ----- + printFields: fields inRegisterState: registerStateVector on: aStream + | rsvs | + aStream ensureCr. + rsvs := registerStateVector readStream. + fields withIndexDo: + [:sym :index| | val | + sym = #cr + ifTrue: [aStream cr] + ifFalse: + [(val := rsvs next) isNil ifTrue: [^self]. + aStream nextPutAll: sym; nextPut: $:; space. + val printOn: aStream base: 16 length: 8 padded: true. + val > 16 ifTrue: + [aStream space; nextPut: $(. + val printOn: aStream base: 10 length: 1 padded: false. + aStream nextPut: $)]. + (fields at: index + 1) ~~ #cr ifTrue: + [aStream tab]]]! Item was added: + ----- Method: MIPSSimulator>>printNameOn: (in category 'user interface') ----- + printNameOn: aStream + self perform: #printOn: withArguments: {aStream} inSuperclass: Object! Item was added: + ----- Method: MIPSSimulator>>printRegisterState:on: (in category 'user interface') ----- + printRegisterState: registerStateVector on: aStream + #( (at v0 v1 cr) + (a0 a1 a2 a3 cr) + (t0 t1 t2 t3 cr) + (t4 t5 t6 t7 cr) + (s0 s1 s2 s3 cr) + (s4 s5 s6 s7 cr) + (t8 t9 k0 k1 cr) + (gp sp fp ra cr)) doWithIndex: + [:subset :index| + (subset anySatisfy: [:getter| getter ~~ #cr and: [(self perform: getter) ~= 0]]) ifTrue: + [self printFields: subset + inRegisterState: (registerStateVector copyFrom: index * 4 - 3 to: index * 4) + on: aStream]]. + self printFields: #(pc cr) + inRegisterState: (registerStateVector last: 1) + on: aStream! Item was changed: + ----- Method: MIPSSimulator>>printRegistersOn: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>printRegistersOn: (in category 'registers') ----- printRegistersOn: stream 0 to: 31 do: [:reg | stream space. stream nextPutAll: (MIPSConstants nameForRegister: reg). stream space. (self unsignedRegister: reg) printOn: stream base: 16 nDigits: 8. stream space. (self signedRegister: reg) printOn: stream. stream cr]. stream nextPutAll: ' hi '. hi printOn: stream base: 16 nDigits: 8. stream space. hi printOn: stream. stream cr. stream nextPutAll: ' lo '. lo printOn: stream base: 16 nDigits: 8. stream space. lo printOn: stream. stream cr. stream nextPutAll: ' pc '. pc printOn: stream base: 16 nDigits: 8. stream space. pc printOn: stream. stream cr.! Item was changed: + ----- Method: MIPSSimulator>>ra (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>ra (in category 'registers') ----- ra ^self unsignedRegister: RA! Item was changed: + ----- Method: MIPSSimulator>>ra: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>ra: (in category 'registers') ----- ra: anInteger ^self unsignedRegister: RA put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>s0 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s0 (in category 'registers') ----- s0 ^self unsignedRegister: S0! Item was changed: + ----- Method: MIPSSimulator>>s0: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s0: (in category 'registers') ----- s0: anInteger ^self unsignedRegister: S0 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>s1 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s1 (in category 'registers') ----- s1 ^self unsignedRegister: S1! Item was changed: + ----- Method: MIPSSimulator>>s1: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s1: (in category 'registers') ----- s1: anInteger ^self unsignedRegister: S1 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>s2 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s2 (in category 'registers') ----- s2 ^self unsignedRegister: S2! Item was changed: + ----- Method: MIPSSimulator>>s2: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s2: (in category 'registers') ----- s2: anInteger ^self unsignedRegister: S2 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>s3 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s3 (in category 'registers') ----- s3 ^self unsignedRegister: S3! Item was changed: + ----- Method: MIPSSimulator>>s3: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s3: (in category 'registers') ----- s3: anInteger ^self unsignedRegister: S3 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>s4 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s4 (in category 'registers') ----- s4 ^self unsignedRegister: S4! Item was changed: + ----- Method: MIPSSimulator>>s4: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s4: (in category 'registers') ----- s4: anInteger ^self unsignedRegister: S4 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>s5 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s5 (in category 'registers') ----- s5 ^self unsignedRegister: S5! Item was changed: + ----- Method: MIPSSimulator>>s5: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s5: (in category 'registers') ----- s5: anInteger ^self unsignedRegister: S5 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>s6 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s6 (in category 'registers') ----- s6 ^self unsignedRegister: S6! Item was changed: + ----- Method: MIPSSimulator>>s6: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s6: (in category 'registers') ----- s6: anInteger ^self unsignedRegister: S6 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>s7 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s7 (in category 'registers') ----- s7 ^self unsignedRegister: S7! Item was changed: + ----- Method: MIPSSimulator>>s7: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>s7: (in category 'registers') ----- s7: anInteger ^self unsignedRegister: S7 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>setterForRegister: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>setterForRegister: (in category 'registers') ----- setterForRegister: registerNumber ^#(zr: at: v0: v1: a0: a1: a2: a3: t0: t1: t2: t3: t4: t5: t6: t7: s0: s1: s2: s3: s4: s5: s6: s7: t8: t9: k0: k1: gp: sp: fp: ra:) at: registerNumber + 1! Item was changed: + ----- Method: MIPSSimulator>>signedRegister: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>signedRegister: (in category 'registers') ----- signedRegister: registerNumber registerNumber == ZR ifTrue: [^0] ifFalse: [^registers at: registerNumber + 1].! Item was changed: + ----- Method: MIPSSimulator>>signedRegister:put: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>signedRegister:put: (in category 'registers') ----- signedRegister: registerNumber put: signedValue self assert: (signedValue between: -16r80000000 and: 16r7FFFFFFF). registerNumber == ZR ifFalse: [^registers at: registerNumber + 1 put: signedValue].! Item was added: + ----- Method: MIPSSimulator>>simulateLeafReturnIn: (in category 'execution') ----- + simulateLeafReturnIn: aMemory + self pc: self ra! Item was added: + ----- Method: MIPSSimulator>>singleStepIn:minimumAddress:readOnlyBelow: (in category 'execution') ----- + singleStepIn: aMemory minimumAddress: minimumAddress readOnlyBelow: minimumWritableAddress + memory := aMemory. + readableBase := minimumAddress. + writableBase := minimumWritableAddress. + self step! Item was changed: + ----- Method: MIPSSimulator>>sp (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>sp (in category 'registers') ----- sp ^self unsignedRegister: SP! Item was changed: + ----- Method: MIPSSimulator>>sp: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>sp: (in category 'registers') ----- sp: anInteger ^self unsignedRegister: SP put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>t0 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t0 (in category 'registers') ----- t0 ^self unsignedRegister: T0! Item was changed: + ----- Method: MIPSSimulator>>t0: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t0: (in category 'registers') ----- t0: anInteger ^self unsignedRegister: T0 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>t1 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t1 (in category 'registers') ----- t1 ^self unsignedRegister: T1! Item was changed: + ----- Method: MIPSSimulator>>t1: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t1: (in category 'registers') ----- t1: anInteger ^self unsignedRegister: T1 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>t2 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t2 (in category 'registers') ----- t2 ^self unsignedRegister: T2! Item was changed: + ----- Method: MIPSSimulator>>t2: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t2: (in category 'registers') ----- t2: anInteger ^self unsignedRegister: T2 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>t3 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t3 (in category 'registers') ----- t3 ^self unsignedRegister: T3! Item was changed: + ----- Method: MIPSSimulator>>t3: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t3: (in category 'registers') ----- t3: anInteger ^self unsignedRegister: T3 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>t4 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t4 (in category 'registers') ----- t4 ^self unsignedRegister: T4! Item was changed: + ----- Method: MIPSSimulator>>t4: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t4: (in category 'registers') ----- t4: anInteger ^self unsignedRegister: T4 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>t5 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t5 (in category 'registers') ----- t5 ^self unsignedRegister: T5! Item was changed: + ----- Method: MIPSSimulator>>t5: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t5: (in category 'registers') ----- t5: anInteger ^self unsignedRegister: T5 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>t6 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t6 (in category 'registers') ----- t6 ^self unsignedRegister: T6! Item was changed: + ----- Method: MIPSSimulator>>t6: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t6: (in category 'registers') ----- t6: anInteger ^self unsignedRegister: T6 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>t7 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t7 (in category 'registers') ----- t7 ^self unsignedRegister: T7! Item was changed: + ----- Method: MIPSSimulator>>t7: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t7: (in category 'registers') ----- t7: anInteger ^self unsignedRegister: T7 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>t8 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t8 (in category 'registers') ----- t8 ^self unsignedRegister: T8! Item was changed: + ----- Method: MIPSSimulator>>t8: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t8: (in category 'registers') ----- t8: anInteger ^self unsignedRegister: T8 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>t9 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t9 (in category 'registers') ----- t9 ^self unsignedRegister: T9! Item was changed: + ----- Method: MIPSSimulator>>t9: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>t9: (in category 'registers') ----- t9: anInteger ^self unsignedRegister: T9 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>unsignedRegister: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>unsignedRegister: (in category 'registers') ----- unsignedRegister: registerNumber registerNumber == ZR ifTrue: [^0] ifFalse: [^self signed32ToUnsigned32: (registers at: registerNumber + 1)].! Item was changed: + ----- Method: MIPSSimulator>>unsignedRegister:put: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>unsignedRegister:put: (in category 'registers') ----- unsignedRegister: registerNumber put: unsignedValue registerNumber == ZR ifFalse: [^registers at: registerNumber + 1 put: (self unsigned32ToSigned32: unsignedValue)].! Item was changed: + ----- Method: MIPSSimulator>>v0 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>v0 (in category 'registers') ----- v0 ^self unsignedRegister: V0! Item was changed: + ----- Method: MIPSSimulator>>v0: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>v0: (in category 'registers') ----- v0: anInteger ^self unsignedRegister: V0 put: anInteger! Item was changed: + ----- Method: MIPSSimulator>>v1 (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>v1 (in category 'registers') ----- v1 ^self unsignedRegister: V1! Item was changed: + ----- Method: MIPSSimulator>>v1: (in category 'accessing-registers') ----- - ----- Method: MIPSSimulator>>v1: (in category 'registers') ----- v1: anInteger ^self unsignedRegister: V1 put: anInteger! Item was added: + ----- Method: MIPSSimulator>>zr (in category 'accessing-registers') ----- + zr + ^0! From noreply at github.com Tue Sep 15 05:55:32 2020 From: noreply at github.com (Eliot Miranda) Date: Mon, 14 Sep 2020 22:55:32 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 2080d9: Add as-yet-untested platforms/win32/misc/_setjmp-x... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 2080d9f1f45067cfeb16ea8107803159dc4ba167 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2080d9f1f45067cfeb16ea8107803159dc4ba167 Author: Eliot Miranda Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.tools A platforms/win32/misc/_setjmp-x86.asm Log Message: ----------- Add as-yet-untested platforms/win32/misc/_setjmp-x86.asm. This does SEH registration of the frame pointer. From noreply at github.com Tue Sep 15 06:11:40 2020 From: noreply at github.com (Eliot Miranda) Date: Mon, 14 Sep 2020 23:11:40 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] c08c66: Add SEH registration to the 64-bit win64 setjmp/lo... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: c08c6660574fdddffa63ac1f7c1328920e68a1aa https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c08c6660574fdddffa63ac1f7c1328920e68a1aa Author: Eliot Miranda Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M platforms/win32/misc/_setjmp-x64.asm Log Message: ----------- Add SEH registration to the 64-bit win64 setjmp/longjmp. From builds at travis-ci.org Tue Sep 15 06:18:22 2020 From: builds at travis-ci.org (Travis CI) Date: Tue, 15 Sep 2020 06:18:22 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2176 (Cog - 2080d9f) In-Reply-To: Message-ID: <5f605cae59104_13f803fe9dd9810111d@travis-tasks-8659cf6d9f-fm48j.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2176 Status: Errored Duration: 22 mins and 22 secs Commit: 2080d9f (Cog) Author: Eliot Miranda Message: Add as-yet-untested platforms/win32/misc/_setjmp-x86.asm. This does SEH registration of the frame pointer. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/536280cdbe8a...2080d9f1f450 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727267866?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Sep 15 06:30:46 2020 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 15 Sep 2020 06:30:46 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2176 Message-ID: <20200915063046.1.BF40EEBB00946FB9@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Sep 15 06:39:25 2020 From: builds at travis-ci.org (Travis CI) Date: Tue, 15 Sep 2020 06:39:25 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2177 (Cog - c08c666) In-Reply-To: Message-ID: <5f60619cab3cd_13fa1fa21e89c14662b@travis-tasks-8659cf6d9f-jwqpx.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2177 Status: Errored Duration: 27 mins and 21 secs Commit: c08c666 (Cog) Author: Eliot Miranda Message: Add SEH registration to the 64-bit win64 setjmp/longjmp. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/2080d9f1f450...c08c6660574f View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727270316?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Sep 15 07:00:56 2020 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 15 Sep 2020 07:00:56 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2177 Message-ID: <20200915070056.1.75749C34EBB8600E@appveyor.com> An HTML attachment was scrubbed... URL: From notifications at github.com Tue Sep 15 07:32:44 2020 From: notifications at github.com (Astares) Date: Tue, 15 Sep 2020 00:32:44 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Customization for Pharo & About Dialog (#388) In-Reply-To: References: Message-ID: Still not solved - and customization should be allowed/possible. Otherwise people will not be able to build labeled products based on the VM. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/388#issuecomment-692525699 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Tue Sep 15 07:52:06 2020 From: notifications at github.com (demarey) Date: Tue, 15 Sep 2020 00:52:06 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Customization for Pharo & About Dialog (#388) In-Reply-To: References: Message-ID: I did a PR to update this one some days ago: https://github.com/tesonep/opensmalltalk-vm/pull/1 Waiting for merge -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/388#issuecomment-692535503 -------------- next part -------------- An HTML attachment was scrubbed... URL: From Das.Linux at gmx.de Tue Sep 15 11:39:06 2020 From: Das.Linux at gmx.de (Tobias Pape) Date: Tue, 15 Sep 2020 13:39:06 +0200 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2174 In-Reply-To: References: <20200914171109.1.05FCC86B7D7F0198@appveyor.com> <6EA7D87E-7F03-4F32-9811-BA2E8B814997@gmx.de> Message-ID: <1CED3F33-FB50-47BA-85EB-13BE33D2BB85@gmx.de> > On 14.09.2020, at 22:14, Eliot Miranda wrote: > > Hi Tobias, > > On Mon, Sep 14, 2020 at 10:45 AM Tobias Pape wrote: > > Hi > > > On 14.09.2020, at 19:11, AppVeyor wrote: > > > > Build opensmalltalk-vm 1.0.2174 failed > > > > Commit ceaf607b6c by Tobias Pape on 9/14/2020 5:07 PM: > > [ci] These fail big time due to complex third-party config. > > > > Configure your notification preferences > > > > The appveyor/windows builds fail due to the follwing: > > https://ci.appveyor.com/project/OpenSmalltalk/vm/builds/35197866/job/bm2c0eqew69db81c#L631 > > ../../spursrc/vm/gcc3x-cointerp.c: In function ‘callbackEnter’: > ../../spursrc/vm/gcc3x-cointerp.c:13438:7: error: too few arguments to function ‘_setjmp’ > 13438 | if ((_setjmp(GIV(jmpBuf)[GIV(jmpDepth)])) == 0) { > | ^~~~~~~ > In file included from ../../spursrc/vm/gcc3x-cointerp.c:26: > /usr/i686-w64-mingw32/sys-root/mingw/include/setjmp.h:242:63: note: declared here > 242 | int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf _Buf, void *_Ctx); > | ^~~~~~~ > > I didn't know that two-arg setjmp was a thing. > > Yes, on win32 with clang/mingw it gets around a weirdness in Microsoft's Kernel32 implementation, which insists on unwinding the stack. That doesn't play well with a number of external libraries, nor with the JIT. Hence mingw providing a work-around. > > It seems that the custom _setjmp in sqSetjmpShim.h gets somehow overridden? > > Sorry. I got confused. Had too many balls up in the air at the same time and convinced myself that a #define fix for the above wasn't working. Hewnce3 I didn't commit a fully functional sqSetjmp.h. I've got as fix. Will be committing in a few minutes. Apologies. No worries :) -t From commits at source.squeak.org Tue Sep 15 20:41:54 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Tue, 15 Sep 2020 20:41:54 0000 Subject: [Vm-dev] VM Maker: Cog-eem.410.mcz Message-ID: Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.410.mcz ==================== Summary ==================== Name: Cog-eem.410 Author: eem Time: 15 September 2020, 1:41:52.361982 pm UUID: 74aea94d-a83d-4b8a-a3e7-9744bddb8476 Ancestors: Cog-eem.409 Get the MIPS simulator not to inctement the pc when faulting. Fix a typo. =============== Diff against Cog-eem.409 =============== Item was changed: ----- Method: MIPSELSimulator>>executeFault: (in category 'memory') ----- executeFault: address | jumpInstruction type | self assert: inDelaySlot not. + fault := #call. "default" jumpInstruction := MIPSInstruction new value: (self fetchInstruction: jumpingPC). + jumpInstruction opcode = J + ifTrue: [type := #jump] + ifFalse: + [jumpInstruction opcode = SPECIAL ifTrue: + [jumpInstruction function = JR ifTrue: + [fault := jumpInstruction rs = RA + ifTrue: [#return] + ifFalse: [#jump]]]]. - jumpInstruction opcode = J ifTrue: [type := #jump]. - jumpInstruction opcode = JAL ifTrue: [type := #call]. - jumpInstruction opcode = SPECIAL ifTrue: - [jumpInstruction function = JR ifTrue: - [jumpInstruction rs = RA - ifTrue: [type := #return] - ifFalse: [type := #jump]]. - jumpInstruction function = JALR ifTrue: - [type := #call]]. - self assert: type ~~ nil. ^(ProcessorSimulationTrap + pc: jumpingPC + nextpc: address - pc: nil - nextpc: nil address: address + type: fault - type: type accessor: nil) signal! Item was changed: ----- Method: MIPSELSimulator>>fetchInstruction: (in category 'memory') ----- fetchInstruction: address + address < executableBase ifTrue: [self executeFault: address]. + address > executableLimit ifTrue: [self executeFault: address]. - address < exectuableBase ifTrue: [self executeFault: address]. - address > exectuableLimit ifTrue: [self executeFault: address]. (address bitAnd: 3) = 0 ifFalse: [self error: 'Unaligned read']. ^memory unsignedLongAt: address + 1 bigEndian: false! Item was changed: ----- Method: MIPSELSimulator>>readFault: (in category 'memory') ----- readFault: address | destReg | self assert: inDelaySlot not. "Or we have to store nextPC somewhere." destReg := (MIPSInstruction new value: (self fetchInstruction: pc)) rt. ^(ProcessorSimulationTrap pc: pc nextpc: pc + 4 address: address + type: (fault := #read) - type: #read accessor: (self setterForRegister: destReg)) signal ! Item was changed: ----- Method: MIPSELSimulator>>writeFault: (in category 'memory') ----- writeFault: address | srcReg | self assert: inDelaySlot not. "Or we have to store nextPC somewhere." srcReg := (MIPSInstruction new value: (self fetchInstruction: pc)) rt. ^(ProcessorSimulationTrap pc: pc nextpc: pc + 4 address: address + type: (fault := #write) - type: #write accessor: (self getterForRegister: srcReg)) signal ! Item was changed: Object subclass: #MIPSSimulator + instanceVariableNames: 'memory registers pc instructionCount inDelaySlot readableBase writableBase readableLimit writableLimit jumpingPC hi lo executableBase executableLimit fault' - instanceVariableNames: 'memory registers pc instructionCount inDelaySlot readableBase writableBase exectuableBase readableLimit writableLimit exectuableLimit jumpingPC hi lo' classVariableNames: 'EndSimulationPC' poolDictionaries: 'MIPSConstants' category: 'Cog-Processors'! !MIPSSimulator commentStamp: 'rmacnak 11/11/2015 20:33:00' prior: 0! Simulator for 32-bit MIPS, without implementation of memory access.! Item was changed: ----- Method: MIPSSimulator>>attemptJumpTo:type: (in category 'instructions - control') ----- attemptJumpTo: nextPC type: trapType + (nextPC between: readableBase and: executableLimit) ifFalse: - (nextPC between: readableBase and: exectuableLimit) ifFalse: [^(ProcessorSimulationTrap pc: pc nextpc: pc + OneInstruction address: nextPC + type: (fault := trapType)) - type: trapType) signal]. pc := nextPC - OneInstruction "Account for general increment"! Item was changed: ----- Method: MIPSSimulator>>initializeWithMemory: (in category 'as yet unclassified') ----- initializeWithMemory: aByteArray memory := aByteArray. readableBase := 0. writableBase := 0. + executableBase := 0. - exectuableBase := 0. readableLimit := memory size. writableLimit := memory size. + executableLimit := memory size.! - exectuableLimit := memory size.! Item was changed: ----- Method: MIPSSimulator>>runInMemory:minimumAddress:readOnlyBelow: (in category 'processor api') ----- runInMemory: aMemory minimumAddress: minimumAddress readOnlyBelow: minimumWritableAddress "Note that minimumWritableAddress is both the minimum writeable address AND the maximum executable address" memory := aMemory. readableBase := minimumAddress. writableBase := minimumWritableAddress. + executableBase := minimumAddress. - exectuableBase := minimumAddress. readableLimit := aMemory byteSize. writableLimit := aMemory byteSize. + executableLimit := minimumWritableAddress. - exectuableLimit := minimumWritableAddress. self execute.! Item was changed: ----- Method: MIPSSimulator>>step (in category 'as yet unclassified') ----- step "If the next instruction is a branch, its delay slot will also be executed." | instruction | "Transcript print: instructionCount; nextPutAll: ' X '; nextPutAll: self currentInstruction; flush" + fault := nil. instruction := MIPSInstruction new value: (self fetchInstruction: pc). instruction decodeFor: self. + fault + ifNotNil: [fault := nil] + ifNil: [pc := pc + OneInstruction]. + instructionCount := instructionCount + 1! - pc := pc + OneInstruction. - instructionCount := instructionCount + 1.! From commits at source.squeak.org Tue Sep 15 20:47:24 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Tue, 15 Sep 2020 20:47:24 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2807.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2807.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2807 Author: eem Time: 15 September 2020, 1:47:10.947101 pm UUID: 697ee836-b47e-4392-a5e8-3a43b3d5dbf8 Ancestors: VMMaker.oscog-eem.2806 Cogit: Fix a slip in CogMIPSELCompiler>>computeMaximumSize and nuke an unused concretizer. Simplify maybeBreakGeneratingFrom:to: senders and save epsilon. =============== Diff against VMMaker.oscog-eem.2806 =============== Item was changed: ----- Method: CogMIPSELCompiler>>computeMaximumSize (in category 'generate machine code') ----- computeMaximumSize "Each MIPS instruction has 4 bytes. Many abstract opcodes need more than one instruction. Instructions that refer to constants and/or literals depend on literals being stored in-line or out-of-line. N.B. The ^N forms are to get around the bytecode compiler's long branch limits which are exceeded when each case jumps around the otherwise." opcode caseOf: { + [BrEqualRR] -> [^8]. - [BrEqualRR] -> [^8]. [BrNotEqualRR] -> [^8]. [BrUnsignedLessRR] -> [^12]. [BrUnsignedLessEqualRR] -> [^12]. [BrUnsignedGreaterRR] -> [^12]. [BrUnsignedGreaterEqualRR] -> [^12]. [BrSignedLessRR] -> [^12]. [BrSignedLessEqualRR] -> [^12]. [BrSignedGreaterRR] -> [^12]. [BrSignedGreaterEqualRR] -> [^12]. [BrLongEqualRR] -> [^16]. + [BrLongNotEqualRR] -> [^16]. - [BrLongNotEqualRR] -> [^16]. [MulRR] -> [^4]. [DivRR] -> [^4]. [MoveLowR] -> [^4]. [MoveHighR] -> [^4]. "Noops & Pseudo Ops" [Label] -> [^0]. [Literal] -> [^4]. [AlignmentNops] -> [^(operands at: 0) - 4]. [Fill32] -> [^4]. [Nop] -> [^4]. "Control" [Call] -> [^self literalLoadInstructionBytes + 8]. [CallFull] -> [^self literalLoadInstructionBytes + 8]. + [JumpR] -> [^8]. - [JumpR] -> [^8]. [Jump] -> [^8]. [JumpFull] -> [^self literalLoadInstructionBytes + 8]. + [JumpLong] -> [^self literalLoadInstructionBytes + 8]. - [JumpLong] -> [^self literalLoadInstructionBytes + 8]. [JumpZero] -> [^8]. [JumpNonZero] -> [^8]. [JumpNegative] -> [^8]. [JumpNonNegative] -> [^8]. [JumpOverflow] -> [^8]. [JumpNoOverflow] -> [^8]. [JumpCarry] -> [^8]. [JumpNoCarry] -> [^8]. [JumpLess] -> [^8]. [JumpGreaterOrEqual] -> [^8]. [JumpGreater] -> [^8]. [JumpLessOrEqual] -> [^8]. [JumpBelow] -> [^8]. [JumpAboveOrEqual] -> [^8]. [JumpAbove] -> [^8]. [JumpBelowOrEqual] -> [^8]. [JumpLongZero] -> [^self literalLoadInstructionBytes + 8]. [JumpLongNonZero] -> [^self literalLoadInstructionBytes + 8]. [JumpFPEqual] -> [^8]. [JumpFPNotEqual] -> [^8]. [JumpFPLess] -> [^8]. [JumpFPGreaterOrEqual]-> [^8]. [JumpFPGreater] -> [^8]. [JumpFPLessOrEqual] -> [^8]. [JumpFPOrdered] -> [^8]. + [JumpFPUnordered] -> [^8]. - [JumpFPUnordered] -> [^8]. [RetN] -> [^8]. [Stop] -> [^4]. "Arithmetic" [AddCqR] -> [^(self isShortOffset: (operands at: 0)) ifTrue: [4] ifFalse: [12]]. + [AndCqR] -> [^((operands at: 0) between: 0 and: 16rFFFF) ifTrue: [4] ifFalse: [12]]. + [AndCqRR] -> [^((operands at: 0) between: 0 and: 16rFFFF) ifTrue: [4] ifFalse: [12]]. - [AndCqR] -> [^(self isShortOffset: (operands at: 0)) ifTrue: [4] ifFalse: [12]]. - [AndCqRR] -> [^(self isShortOffset: (operands at: 0)) ifTrue: [4] ifFalse: [12]]. [OrCqR] -> [^(self isShortOffset: (operands at: 0)) ifTrue: [4] ifFalse: [12]]. [OrCqRR] -> [^(self isShortOffset: (operands at: 0)) ifTrue: [4] ifFalse: [12]]. [CmpCqR] -> [^28]. [SubCqR] -> [^(self isShortOffset: (operands at: 0)) ifTrue: [4] ifFalse: [12]]. [TstCqR] -> [^(self isShortOffset: (operands at: 0)) ifTrue: [4] ifFalse: [12]]. [XorCqR] -> [^12]. [AddCwR] -> [^12]. [AndCwR] -> [^12]. [CmpCwR] -> [^28]. [OrCwR] -> [^12]. [SubCwR] -> [^12]. [XorCwR] -> [^12]. [AddRR] -> [^4]. [AndRR] -> [^4]. [CmpRR] -> [^20]. [OrRR] -> [^4]. [XorRR] -> [^4]. [SubRR] -> [^4]. [NegateR] -> [^4]. [AddRRR] -> [^4]. [SubRRR] -> [^4]. [LoadEffectiveAddressMwrR] -> [^(self isShortOffset: (operands at: 0)) ifTrue: [4] ifFalse: [12]]. [LogicalShiftLeftCqR] -> [^4]. [LogicalShiftRightCqR] -> [^4]. [ArithmeticShiftRightCqR] -> [^4]. [LogicalShiftLeftRR] -> [^4]. [LogicalShiftRightRR] -> [^4]. [ArithmeticShiftRightRR] -> [^4]. [AddRdRd] -> [^4]. [CmpRdRd] -> [^4]. [SubRdRd] -> [^4]. [MulRdRd] -> [^4]. [DivRdRd] -> [^4]. [SqrtRd] -> [^4]. [AddCheckOverflowCqR] -> [^28]. [AddCheckOverflowRR] -> [^20]. [SubCheckOverflowCqR] -> [^28]. [SubCheckOverflowRR] -> [^20]. [MulCheckOverflowRR] -> [^20]. [ClzRR] -> [^4]. "Data Movement" [MoveCqR] -> [^(self isShortOffset: (operands at: 0)) ifTrue: [4] ifFalse: [8]]. [MoveCwR] -> [^8]. [MoveRR] -> [^4]. [MoveRdRd] -> [^4]. [MoveAwR] -> [^(self isAddressRelativeToVarBase: (operands at: 0)) ifTrue: [4] ifFalse: [self literalLoadInstructionBytes + 4]]. [MoveRAw] -> [^(self isAddressRelativeToVarBase: (operands at: 1)) ifTrue: [4] ifFalse: [self literalLoadInstructionBytes + 4]]. [MoveAbR] -> [^(self isAddressRelativeToVarBase: (operands at: 0)) ifTrue: [4] ifFalse: [self literalLoadInstructionBytes + 4]]. [MoveRAb] -> [^(self isAddressRelativeToVarBase: (operands at: 1)) ifTrue: [4] ifFalse: [self literalLoadInstructionBytes + 4]]. [MoveRMwr] -> [^4]. [MoveRdM64r] -> [^self literalLoadInstructionBytes + 4]. [MoveMbrR] -> [^4]. [MoveRMbr] -> [^4]. [MoveM16rR] -> [^4]. [MoveRM16r] -> [^4]. [MoveM64rRd] -> [^self literalLoadInstructionBytes + 4]. [MoveMwrR] -> [^(self isShortOffset: (operands at: 0)) ifTrue: [4] ifFalse: [16]]. [MoveXbrRR] -> [^8]. [MoveRXbrR] -> [^8]. [MoveXwrRR] -> [^12]. [MoveRXwrR] -> [^12]. [PopR] -> [^8]. [PushR] -> [^8]. [PushCw] -> [^16]. [PushCq] -> [^16]. [PrefetchAw] -> [^12]. "Conversion" [ConvertRRd] -> [^8]. }. ^0 "to keep C compiler quiet" ! Item was removed: - ----- Method: CogMIPSELCompiler>>concretizeAndCqRR (in category 'generate machine code - concretize') ----- - concretizeAndCqRR - | value srcReg dstReg | - value := operands at: 0. - srcReg := operands at: 1. - dstReg := operands at: 2. - self machineCodeAt: 0 put: (self luiR: AT C: (self high16BitsOf: value)). - self machineCodeAt: 4 put: (self oriR: AT R: AT C: (self low16BitsOf: value)). - self machineCodeAt: 8 put: (self andR: dstReg R: srcReg R: AT). - ^12! Item was added: + ----- Method: CogMIPSELCompiler>>generalPurposeRegisterMap (in category 'disassembly') ----- + generalPurposeRegisterMap + + "Answer a Dictionary from register getter to register index." + ^Dictionary newFromPairs: + { #at. AT. + #v0. V0. + #v1. V1. + #a0. A0. + #a1. A1. + #a2. A2. + #a3. A3. + #t0. T0. + #t1. T1. + #t2. T2. + #t3. T3. + #t4. T4. + #t5. T5. + #t6. T6. + #t7. T7. + #s0. S0. + #s1. S1. + #s2. S2. + #s3. S3. + #s4. S4. + #s5. S5. + #s6. S6. + #s7. S7. + #t8. T8. + #t9. T9. + #k0. K0. + #k1. K1. + #gp. GP }! Item was changed: ----- Method: Cogit>>cogMNUPICSelector:receiver:methodOperand:numArgs: (in category 'in-line cacheing') ----- cogMNUPICSelector: selector receiver: rcvr methodOperand: methodOperand numArgs: numArgs "Attempt to create a one-case PIC for an MNU. The tag for the case is at the send site and so doesn't need to be generated." | startAddress writablePIC actualPIC | ((objectMemory isYoung: selector) or: [(objectRepresentation inlineCacheTagForInstance: rcvr) = self picAbortDiscriminatorValue]) ifTrue: [^0]. coInterpreter compilationBreakpoint: selector classTag: (objectMemory fetchClassTagOf: rcvr) isMNUCase: true. self assert: endCPICCase0 notNil. "get memory in the code zone for the CPIC; if that fails we return an error code for the sender to use to work out how to blow up" startAddress := methodZone allocate: closedPICSize. startAddress = 0 ifTrue: [coInterpreter callForCogCompiledCodeCompaction. ^0]. + self maybeBreakGeneratingFrom: startAddress to: startAddress + closedPICSize. - self maybeBreakGeneratingFrom: startAddress to: startAddress + closedPICSize - 1. writablePIC := self writableMethodFor: startAddress. "memcpy the prototype across to our allocated space; because anything else would be silly" self codeMemcpy: writablePIC _: cPICPrototype _: closedPICSize. self fillInCPICHeader: writablePIC numArgs: numArgs numCases: 1 hasMNUCase: true selector: selector. self configureMNUCPIC: (actualPIC := self cCoerceSimple: startAddress to: #'CogMethod *') methodOperand: methodOperand numArgs: numArgs delta: startAddress - cPICPrototype asUnsignedInteger. "This also implicitly flushes the read/write mapped dual zone to the read/execute zone." backEnd flushICacheFrom: startAddress to: startAddress + closedPICSize. self assert: (backEnd callTargetFromReturnAddress: startAddress + missOffset) = (self picAbortTrampolineFor: numArgs). self assertValidDualZoneFrom: startAddress to: startAddress + closedPICSize. ^actualPIC! Item was changed: ----- Method: Cogit>>cogPICSelector:numArgs:Case0Method:Case1Method:tag:isMNUCase: (in category 'in-line cacheing') ----- cogPICSelector: selector numArgs: numArgs Case0Method: case0CogMethod Case1Method: case1MethodOrNil tag: case1Tag isMNUCase: isMNUCase "Attempt to create a two-case PIC for case0CogMethod and case1Method,case1Tag. The tag for case0CogMethod is at the send site and so doesn't need to be generated. case1Method may be any of - a Cog method; link to its unchecked entry-point - a CompiledMethod; link to ceInterpretMethodFromPIC: - a CompiledMethod; link to ceMNUFromPICMNUMethod:receiver:" | startAddress writablePIC actualPIC | (objectMemory isYoung: selector) ifTrue: [^self cCoerceSimple: YoungSelectorInPIC to: #'CogMethod *']. coInterpreter compilationBreakpoint: selector classTag: case1Tag isMNUCase: isMNUCase. "get memory in the code zone for the CPIC; if that fails we return an error code for the sender to use to work out how to blow up" startAddress := methodZone allocate: closedPICSize. startAddress = 0 ifTrue: [^self cCoerceSimple: InsufficientCodeSpace to: #'CogMethod *']. + self maybeBreakGeneratingFrom: startAddress to: startAddress + closedPICSize. - self maybeBreakGeneratingFrom: startAddress to: startAddress + closedPICSize - 1. writablePIC := self writableMethodFor: startAddress. "memcpy the prototype across to our allocated space; because anything else would be silly" self codeMemcpy: writablePIC _: cPICPrototype _: closedPICSize. self fillInCPICHeader: writablePIC numArgs: numArgs numCases: 2 hasMNUCase: isMNUCase selector: selector. self configureCPIC: (actualPIC := self cCoerceSimple: startAddress to: #'CogMethod *') Case0: case0CogMethod Case1Method: case1MethodOrNil tag: case1Tag isMNUCase: isMNUCase numArgs: numArgs delta: startAddress - cPICPrototype asUnsignedInteger. "This also implicitly flushes the read/write mapped dual zone to the read/execute zone." backEnd flushICacheFrom: startAddress to: startAddress + closedPICSize. self assert: (backEnd callTargetFromReturnAddress: startAddress + missOffset) = (self picAbortTrampolineFor: numArgs). self assertValidDualZoneFrom: startAddress to: startAddress + closedPICSize. ^actualPIC! Item was changed: ----- Method: Cogit>>generateInstructionsAt: (in category 'generate machine code') ----- generateInstructionsAt: eventualAbsoluteAddress "Size pc-dependent instructions and assign eventual addresses to all instructions. Answer the size of the code. Compute forward branches based on virtual address (abstract code starts at 0), assuming that any branches branched over are long. Compute backward branches based on actual address. Reuse the fixups array to record the pc-dependent instructions that need to have their code generation postponed until after the others." | absoluteAddress pcDependentIndex abstractInstruction fixup | absoluteAddress := eventualAbsoluteAddress. pcDependentIndex := 0. 0 to: opcodeIndex - 1 do: [:i| abstractInstruction := self abstractInstructionAt: i. + "N.B. if you want to break in resizing, break here, note the instruction index, back up to the + sender, restart, and step into computeMaximumSizes, breaking at this instruction's index." + self maybeBreakGeneratingFrom: absoluteAddress to: absoluteAddress + abstractInstruction maxSize. - self maybeBreakGeneratingFrom: absoluteAddress to: absoluteAddress + abstractInstruction maxSize - 1. abstractInstruction isPCDependent ifTrue: [abstractInstruction sizePCDependentInstructionAt: absoluteAddress. fixup := self fixupAtIndex: pcDependentIndex. pcDependentIndex := pcDependentIndex + 1. fixup instructionIndex: i. absoluteAddress := absoluteAddress + abstractInstruction machineCodeSize] ifFalse: [absoluteAddress := abstractInstruction concretizeAt: absoluteAddress]]. 0 to: pcDependentIndex - 1 do: [:j| fixup := self fixupAtIndex: j. abstractInstruction := self abstractInstructionAt: fixup instructionIndex. + "N.B. if you want to break in resizing, break here, note the instruction index, back up to the + sender, restart, and step into computeMaximumSizes, breaking at this instruction's index." self maybeBreakGeneratingFrom: abstractInstruction address to: abstractInstruction address + abstractInstruction maxSize - 1. abstractInstruction concretizeAt: abstractInstruction address]. ^absoluteAddress - eventualAbsoluteAddress! Item was changed: ----- Method: Cogit>>maybeBreakGeneratingFrom:to: (in category 'simulation only') ----- maybeBreakGeneratingFrom: address to: end "Variation on maybeBreakAt: that only works for integer breakPCs, so we can have break blocks that stop at any pc, except when generating." "Simulation only; void in C" (breakPC isInteger + and: [breakPC >= address + and: [breakPC < end + and: [breakBlock shouldStopIfAtPC: address]]]) ifTrue: - and: [(breakPC between: address and: end) - and: [breakBlock shouldStopIfAtPC: address]]) ifTrue: [coInterpreter changed: #byteCountText. self halt: 'machine code generation at ', address hex, ' in ', thisContext sender selector]! Item was changed: ----- Method: StackToRegisterMappingCogit>>generateInstructionsAt: (in category 'generate machine code') ----- generateInstructionsAt: eventualAbsoluteAddress "Size pc-dependent instructions and assign eventual addresses to all instructions. Answer the size of the code. Compute forward branches based on virtual address (abstract code starts at 0), assuming that any branches branched over are long. Compute backward branches based on actual address. Reuse the fixups array to record the pc-dependent instructions that need to have their code generation postponed until after the others. + Override to add handling for null branches (branches to the immediately following - Override to andd handling for null branches (branches to the immediately following instruction) occasioned by StackToRegisterMapping's following of jumps." | absoluteAddress pcDependentIndex abstractInstruction fixup | absoluteAddress := eventualAbsoluteAddress. pcDependentIndex := 0. 0 to: opcodeIndex - 1 do: [:i| abstractInstruction := self abstractInstructionAt: i. + "N.B. if you want to break in resizing, break here, note the instruction index, back up to the + sender, restart, and step into computeMaximumSizes, breaking at this instruction's index." + self maybeBreakGeneratingFrom: absoluteAddress to: absoluteAddress + abstractInstruction maxSize. - self maybeBreakGeneratingFrom: absoluteAddress to: absoluteAddress + abstractInstruction maxSize - 1. abstractInstruction isPCDependent ifTrue: [abstractInstruction sizePCDependentInstructionAt: absoluteAddress. (abstractInstruction isJump and: [(i + 1 < opcodeIndex and: [abstractInstruction getJmpTarget == (self abstractInstructionAt: i + 1)]) or: [i + 2 < opcodeIndex and: [abstractInstruction getJmpTarget == (self abstractInstructionAt: i + 2) and: [(self abstractInstructionAt: i + 1) opcode = Nop]]]]) ifTrue: [abstractInstruction opcode: Nop; concretizeAt: absoluteAddress] ifFalse: [fixup := self fixupAtIndex: pcDependentIndex. pcDependentIndex := pcDependentIndex + 1. fixup instructionIndex: i]. absoluteAddress := absoluteAddress + abstractInstruction machineCodeSize] ifFalse: [absoluteAddress := abstractInstruction concretizeAt: absoluteAddress. + "N.B. if you want to break in resizing, break here, note the instruction index, back up to the + sender, restart, and step into computeMaximumSizes, breaking at this instruction's index." self assert: abstractInstruction machineCodeSize = abstractInstruction maxSize]]. 0 to: pcDependentIndex - 1 do: [:j| fixup := self fixupAtIndex: j. abstractInstruction := self abstractInstructionAt: fixup instructionIndex. self maybeBreakGeneratingFrom: abstractInstruction address to: abstractInstruction address + abstractInstruction maxSize - 1. abstractInstruction concretizeAt: abstractInstruction address]. ^absoluteAddress - eventualAbsoluteAddress! From eliot.miranda at gmail.com Tue Sep 15 21:07:57 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Tue, 15 Sep 2020 14:07:57 -0700 Subject: [Vm-dev] [squeak-dev] Time>>eventMillisecondClock and event timestamps In-Reply-To: <81AD7450-676E-4C78-BA29-2E84BD97A539@gmail.com> References: <81AD7450-676E-4C78-BA29-2E84BD97A539@gmail.com> Message-ID: Here's the VM event template: typedef struct sqInputEvent { sqIntptr_t type; /* type of event; either one of EventTypeXXX */ usqIntptr_t timeStamp; /* time stamp */ /* the interpretation of the following fields depend on the type of the event */ sqIntptr_t unused1; sqIntptr_t unused2; sqIntptr_t unused3; sqIntptr_t unused4; sqIntptr_t unused5; sqIntptr_t windowIndex; /* SmallInteger used in image to identify a host window structure */ } sqInputEvent; The interesting thing here is that the timeStamp is already a 64-bit quantity on 64-bit platforms. So it is trivial to use UTC microseconds divided by 1000, or (UTC microseconds minus start microseconds) divided by 1000, to timestamp events on 64-bit platforms. On 32-bit platforms we could either add an extra field at the end, or do something heinous with type. We could use 8 bits for the type and the top 24 bits to extend the 32-bit timestamp to 56 bits, which gives us 2.28 million years of milliseconds, or 2.28 thousand years of microseconds, while still leaving us 248 new event types (we use 8 at the moment). So why don't we - modify the VM to stamp events with the utc second clock, either using the full 64-bits of the timestamp on 64-bit platforms, or the 32-bit timestamp and the top 24 bits of the type field on 32-bit platforms. - add a flag to the image flags that says whether events are time stamped in utc microseconds (if set) or in wrapping milliseconds from startup (or whatever the cross-platform backward-compatiblity semantics should be) - modify primitive 94 primitiveGetNextEvent to examine the flag and either pass the event up as is, or convert it into a backards=compatible event depending on the flag copied from the image header at startup? The benefit is that we can ditch support for millisecond time stamps in all parts of the VM other than in primitive 94 primitiveGetNextEvent. On Tue, Sep 15, 2020 at 9:04 AM Eliot Miranda wrote: > Hi Marcel, Hi Dave, > > On Sep 15, 2020, at 8:28 AM, Marcel Taeumel wrote: > >  > Hi Dave. > > > ... but I think that we should first look at how we might handle this > better in the image ... > > To some extent, this will be the good'ol discussion about how to achieve > cross-platform compatibility. Whose job is it? VM? Image? Both? Do we want > to have "platformName = 'Win32'" (or similar) checks in the image? Or can > we rely on platform-independent information coming from the VM? > > Well, thinking about maybe the future role of FFI for Squeak, we may not > want to change too much in the VM at this point. A minimal-effort approach > with in-image change might be the right thing to do. :-) > > > Agreed. My concerns are > > 1. The wrapping millisecond clock is a baaaaaad idea. It wraps in 49 > days. The code that used to exist in Time was extremely complex and hard > to maintain (fooling the system into being close to wrap around is not > easy). And now we do have applications which are expected to run for long > periods. But even though it is a bad idea we presumably have applications > in images (someone mentioned RFB) which depend on the vm stamping events > using the wrapping millisecond clock, and if possible the vm should > continue to do so > > 2. we have a much better much simpler clock that does not wrap and can be > used to compare times between images across the globe, the utc microsecond > clock. If we want timestamps we should derive them from this clock > > 3. backwards compatibility. If we change event timestamps do we lose the > ability to run 5.x images on the new vm? Is there a way that the vm can be > informed by the image whether it wants timestamps? (We can add another > image header flag to control the vm response) > > Regarding 3. I can imagine adding a 32-bit field at the end of a vm event > and have having 64 bits (existing time stamp plus new field) to allow > stamping the event with the utc clock (& not utc now but the utc updated by > the vm heartbeat at 500Hz). > > Best, > Marcel > > Am 15.09.2020 17:04:18 schrieb David T. Lewis : > I do not have any specific solution or approach in mind, but I think > that we should first look at how we might handle this better in the > image. The Windows VM is not doing anything wrong, on the contrary I > think that its policy of using native MSG timestamps feels like the > right thing to do. > > It seems to me that the problem is our assumption that event timestamps > should match the millisecond clock in the VM. Certainly that can > be made to work, but seems to me like fixing the wrong problem. > > Time class>>eventMillisecondClock is a recent addition. Maybe we > can find another way to synthesize event time stamps in the image. > > Dave > > > On Tue, Sep 15, 2020 at 04:32:59PM +0200, Marcel Taeumel wrote: > > Hi all. > > > > Here is a quick thought: It should be possible to synthesize events from > within the image to then use those synthesized events along with regular > events. Think about testing, mouse over etc. Thus, either > #eventMillisecondClock should be platform-specific, or all event timestamps > that come from the VM should be similar ... which means that the Windows VM > code needs to be changed to not use the MSG structure but ioMSecs. > > > > Best, > > Marcel > > Am 12.09.2020 21:58:50 schrieb David T. Lewis : > > Thanks Tim, > > > > I've been digging through version control history, and I think what > > I see is that the assumption of prim 94 matching prim 135 was valid > > through the life of the interpreter VM (squeakvm.org SVN sources) but > > that it had changed for Windows as of the public release of Cog. > > > > I don't see anything wrong with the Windows VM implementation (aside > > from the one bug that Christoph fixed), instead I think we may just > > be dealing with a holdover assumption that is no longer valid. > > > > I'm inclined to think we should see if we can make the prim 135 > > dependence go away in the image. Some other way of synthesizing event > > time stamps maybe? > > > > Dave > > > > On Fri, Sep 11, 2020 at 03:45:35PM -0700, tim Rowledge wrote: > > > I think the key thing is that the answers from the primitive 135 must > be aligned with the tick values obtained from primitive 94. > > > > > > Of course if prim 94 is properly functional (all elements of the event > array are correctly filled in) then prim 135 should never be needed; it was > created for those machines that waaaaay back when I added the input events > still couldn't provide such data. I'm not entirely sure there actually were > any.... > > > > > > The only usage of prim 135 not related directly to events seems to be > SmalltalkImage>>#vmStatisticsReportOn:, though there are several methods > that looks a bit iffy. > > > > > > EventSensor>>#createMouseEvent is only used in a couple of places to > do with rectangle transforming interactively, and probably ought to be > improved. > > > EventSensor>>#nextEventSynthesized is only used if the EventSensor has > no event queue and that is ... a bit complex but probably should never > happen since we removed the old InputSensor years and years ago. > > > EventSensor>>#primGetNextEvent: - since we declare the prim essential > maybe we should drop the fake-it code and really insist on the prim being > there? > > > MorphicEvent>>#timeStamp looks like a probably redundant backup? > > > MouseEvent>>#asMouseMove looks like the new MouseMoveEvent ought to > copy the time stamp from the receiver? > > > > > > > > > > > > tim > > > -- > > > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim > > > There are no stupid questions. But, there are a lot of inquisitive > idiots. > > > > > > > > > > > > > > > > > > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Wed Sep 16 09:05:23 2020 From: noreply at github.com (Tobias Pape) Date: Wed, 16 Sep 2020 02:05:23 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 745aed: [configure] check for st_blksize during configure Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 745aedefcf046731dbe6c4e0525b7101bab5aaba https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/745aedefcf046731dbe6c4e0525b7101bab5aaba Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/config/config.h.in M platforms/unix/config/configure M platforms/unix/config/configure.ac Log Message: ----------- [configure] check for st_blksize during configure From builds at travis-ci.org Wed Sep 16 09:29:51 2020 From: builds at travis-ci.org (Travis CI) Date: Wed, 16 Sep 2020 09:29:51 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2178 (Cog - 745aede) In-Reply-To: Message-ID: <5f61db12d4016_13fe5ab0b69b0125461@travis-tasks-649b7d75fc-w2s2m.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2178 Status: Errored Duration: 24 mins and 6 secs Commit: 745aede (Cog) Author: Tobias Pape Message: [configure] check for st_blksize during configure View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/c08c6660574f...745aedefcf04 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727638363?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Sep 16 09:35:17 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 16 Sep 2020 09:35:17 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2178 Message-ID: <20200916093517.1.428035916323709D@appveyor.com> An HTML attachment was scrubbed... URL: From noreply at github.com Wed Sep 16 09:37:29 2020 From: noreply at github.com (Tobias Pape) Date: Wed, 16 Sep 2020 02:37:29 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1e107b: [unix] Harmonize use of config.h Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 1e107be155f27df34f6578615984ab154a51efa4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1e107be155f27df34f6578615984ab154a51efa4 Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c M platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm/sqConfig.h M platforms/unix/vm/sqUnixMemory.c M platforms/unix/vm/sqUnixSpurMemory.c Log Message: ----------- [unix] Harmonize use of config.h - prefer sq.h/sqConfig.h wherever sensible - these should come early - use HAVE_ tests to see if includes are necessary/available From builds at travis-ci.org Wed Sep 16 10:01:14 2020 From: builds at travis-ci.org (Travis CI) Date: Wed, 16 Sep 2020 10:01:14 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2179 (Cog - 1e107be) In-Reply-To: Message-ID: <5f61e26a1372e_13fe5ab0b67d0145620@travis-tasks-649b7d75fc-w2s2m.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2179 Status: Errored Duration: 23 mins and 14 secs Commit: 1e107be (Cog) Author: Tobias Pape Message: [unix] Harmonize use of config.h - prefer sq.h/sqConfig.h wherever sensible - these should come early - use HAVE_ tests to see if includes are necessary/available View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/745aedefcf04...1e107be155f2 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727645685?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Sep 16 10:06:40 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 16 Sep 2020 10:06:40 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2179 Message-ID: <20200916100640.1.965EF89BCDB2B189@appveyor.com> An HTML attachment was scrubbed... URL: From Christoph.Thiede at student.hpi.uni-potsdam.de Wed Sep 16 11:57:09 2020 From: Christoph.Thiede at student.hpi.uni-potsdam.de (Thiede, Christoph) Date: Wed, 16 Sep 2020 11:57:09 +0000 Subject: [Vm-dev] [squeak-dev] Time>>eventMillisecondClock and event timestamps In-Reply-To: References: <81AD7450-676E-4C78-BA29-2E84BD97A539@gmail.com>, Message-ID: <61c90e5473a44b26a5eaa321a80f281e@student.hpi.uni-potsdam.de> Hi all, I still have very little experience with the VM side stuff, but what Dave says is precisely what I would have claimed, too: > The Windows VM is not doing anything wrong, on the contrary I think that its policy of using native MSG timestamps feels like the right thing to do. So please answer my naive question, what's wrong with #eventMillisecondClock at all, why can't we change its implementation in the Win32 VM to use GetTickCount() for it? :-) Best, Christoph ________________________________ Von: Squeak-dev im Auftrag von Eliot Miranda Gesendet: Dienstag, 15. September 2020 23:07:57 An: The general-purpose Squeak developers list Cc: Open Smalltalk Virtual Machine Development Discussion Betreff: Re: [squeak-dev] Time>>eventMillisecondClock and event timestamps Here's the VM event template: typedef struct sqInputEvent { sqIntptr_t type; /* type of event; either one of EventTypeXXX */ usqIntptr_t timeStamp; /* time stamp */ /* the interpretation of the following fields depend on the type of the event */ sqIntptr_t unused1; sqIntptr_t unused2; sqIntptr_t unused3; sqIntptr_t unused4; sqIntptr_t unused5; sqIntptr_t windowIndex; /* SmallInteger used in image to identify a host window structure */ } sqInputEvent; The interesting thing here is that the timeStamp is already a 64-bit quantity on 64-bit platforms. So it is trivial to use UTC microseconds divided by 1000, or (UTC microseconds minus start microseconds) divided by 1000, to timestamp events on 64-bit platforms. On 32-bit platforms we could either add an extra field at the end, or do something heinous with type. We could use 8 bits for the type and the top 24 bits to extend the 32-bit timestamp to 56 bits, which gives us 2.28 million years of milliseconds, or 2.28 thousand years of microseconds, while still leaving us 248 new event types (we use 8 at the moment). So why don't we - modify the VM to stamp events with the utc second clock, either using the full 64-bits of the timestamp on 64-bit platforms, or the 32-bit timestamp and the top 24 bits of the type field on 32-bit platforms. - add a flag to the image flags that says whether events are time stamped in utc microseconds (if set) or in wrapping milliseconds from startup (or whatever the cross-platform backward-compatiblity semantics should be) - modify primitive 94 primitiveGetNextEvent to examine the flag and either pass the event up as is, or convert it into a backards=compatible event depending on the flag copied from the image header at startup? The benefit is that we can ditch support for millisecond time stamps in all parts of the VM other than in primitive 94 primitiveGetNextEvent. On Tue, Sep 15, 2020 at 9:04 AM Eliot Miranda > wrote: Hi Marcel, Hi Dave, On Sep 15, 2020, at 8:28 AM, Marcel Taeumel > wrote:  Hi Dave. > ... but I think that we should first look at how we might handle this better in the image ... To some extent, this will be the good'ol discussion about how to achieve cross-platform compatibility. Whose job is it? VM? Image? Both? Do we want to have "platformName = 'Win32'" (or similar) checks in the image? Or can we rely on platform-independent information coming from the VM? Well, thinking about maybe the future role of FFI for Squeak, we may not want to change too much in the VM at this point. A minimal-effort approach with in-image change might be the right thing to do. :-) Agreed. My concerns are 1. The wrapping millisecond clock is a baaaaaad idea. It wraps in 49 days. The code that used to exist in Time was extremely complex and hard to maintain (fooling the system into being close to wrap around is not easy). And now we do have applications which are expected to run for long periods. But even though it is a bad idea we presumably have applications in images (someone mentioned RFB) which depend on the vm stamping events using the wrapping millisecond clock, and if possible the vm should continue to do so 2. we have a much better much simpler clock that does not wrap and can be used to compare times between images across the globe, the utc microsecond clock. If we want timestamps we should derive them from this clock 3. backwards compatibility. If we change event timestamps do we lose the ability to run 5.x images on the new vm? Is there a way that the vm can be informed by the image whether it wants timestamps? (We can add another image header flag to control the vm response) Regarding 3. I can imagine adding a 32-bit field at the end of a vm event and have having 64 bits (existing time stamp plus new field) to allow stamping the event with the utc clock (& not utc now but the utc updated by the vm heartbeat at 500Hz). Best, Marcel Am 15.09.2020 17:04:18 schrieb David T. Lewis >: I do not have any specific solution or approach in mind, but I think that we should first look at how we might handle this better in the image. The Windows VM is not doing anything wrong, on the contrary I think that its policy of using native MSG timestamps feels like the right thing to do. It seems to me that the problem is our assumption that event timestamps should match the millisecond clock in the VM. Certainly that can be made to work, but seems to me like fixing the wrong problem. Time class>>eventMillisecondClock is a recent addition. Maybe we can find another way to synthesize event time stamps in the image. Dave On Tue, Sep 15, 2020 at 04:32:59PM +0200, Marcel Taeumel wrote: > Hi all. > > Here is a quick thought: It should be possible to synthesize events from within the image to then use those synthesized events along with regular events. Think about testing, mouse over etc. Thus, either #eventMillisecondClock should be platform-specific, or all event timestamps that come from the VM should be similar ... which means that the Windows VM code needs to be changed to not use the MSG structure but ioMSecs. > > Best, > Marcel > Am 12.09.2020 21:58:50 schrieb David T. Lewis : > Thanks Tim, > > I've been digging through version control history, and I think what > I see is that the assumption of prim 94 matching prim 135 was valid > through the life of the interpreter VM (squeakvm.org SVN sources) but > that it had changed for Windows as of the public release of Cog. > > I don't see anything wrong with the Windows VM implementation (aside > from the one bug that Christoph fixed), instead I think we may just > be dealing with a holdover assumption that is no longer valid. > > I'm inclined to think we should see if we can make the prim 135 > dependence go away in the image. Some other way of synthesizing event > time stamps maybe? > > Dave > > On Fri, Sep 11, 2020 at 03:45:35PM -0700, tim Rowledge wrote: > > I think the key thing is that the answers from the primitive 135 must be aligned with the tick values obtained from primitive 94. > > > > Of course if prim 94 is properly functional (all elements of the event array are correctly filled in) then prim 135 should never be needed; it was created for those machines that waaaaay back when I added the input events still couldn't provide such data. I'm not entirely sure there actually were any.... > > > > The only usage of prim 135 not related directly to events seems to be SmalltalkImage>>#vmStatisticsReportOn:, though there are several methods that looks a bit iffy. > > > > EventSensor>>#createMouseEvent is only used in a couple of places to do with rectangle transforming interactively, and probably ought to be improved. > > EventSensor>>#nextEventSynthesized is only used if the EventSensor has no event queue and that is ... a bit complex but probably should never happen since we removed the old InputSensor years and years ago. > > EventSensor>>#primGetNextEvent: - since we declare the prim essential maybe we should drop the fake-it code and really insist on the prim being there? > > MorphicEvent>>#timeStamp looks like a probably redundant backup? > > MouseEvent>>#asMouseMove looks like the new MouseMoveEvent ought to copy the time stamp from the receiver? > > > > > > > > tim > > -- > > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim > > There are no stupid questions. But, there are a lot of inquisitive idiots. > > > > > > > > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Wed Sep 16 15:31:51 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Wed, 16 Sep 2020 08:31:51 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1e107b: [unix] Harmonize use of config.h In-Reply-To: References: Message-ID: Hi TObias, cool stuff!! I'm hoping we can actually generate a single config.h file for each build.XXX directory and share it between all builds for that platform. Can you please test a newspeak build on MacOS? That uses the FileCopyPlugin and currently your changes break the Mac build for that plugin. On Wed, Sep 16, 2020 at 2:37 AM Tobias Pape wrote: > > Branch: refs/heads/Cog > Home: https://github.com/OpenSmalltalk/opensmalltalk-vm > Commit: 1e107be155f27df34f6578615984ab154a51efa4 > > https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1e107be155f27df34f6578615984ab154a51efa4 > Author: Tobias Pape > Date: 2020-09-16 (Wed, 16 Sep 2020) > > Changed paths: > M platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c > M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c > M platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c > M platforms/unix/vm-display-fbdev/sqUnixFBDev.c > M platforms/unix/vm/sqConfig.h > M platforms/unix/vm/sqUnixMemory.c > M platforms/unix/vm/sqUnixSpurMemory.c > > Log Message: > ----------- > [unix] Harmonize use of config.h > > - prefer sq.h/sqConfig.h wherever sensible > - these should come early > - use HAVE_ tests to see if includes are necessary/available > > > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Wed Sep 16 15:37:33 2020 From: noreply at github.com (Eliot Miranda) Date: Wed, 16 Sep 2020 08:37:33 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] ecf7d0: Nuke the old immutability builds. Immutability is... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: ecf7d0873a8c2cca55e6b78bee70644cea273674 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ecf7d0873a8c2cca55e6b78bee70644cea273674 Author: Eliot Miranda Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: R build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm R build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm R build.linux32x86/squeak.cog.spur.immutability/build/mvm R build.linux32x86/squeak.cog.spur.immutability/makeallclean R build.linux32x86/squeak.cog.spur.immutability/makealldirty R build.linux32x86/squeak.cog.spur.immutability/plugins.ext R build.linux32x86/squeak.cog.spur.immutability/plugins.int R build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm R build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm R build.linux64x64/squeak.cog.spur.immutability/build/mvm R build.linux64x64/squeak.cog.spur.immutability/makeallclean R build.linux64x64/squeak.cog.spur.immutability/makealldirty R build.linux64x64/squeak.cog.spur.immutability/plugins.ext R build.linux64x64/squeak.cog.spur.immutability/plugins.int R build.macos32x86/squeak.cog.spur+immutability/Makefile R build.macos32x86/squeak.cog.spur+immutability/mvm R build.macos32x86/squeak.cog.spur+immutability/plugins.ext R build.macos32x86/squeak.cog.spur+immutability/plugins.int R build.macos64ARMv8/squeak.cog.spur.immutability/Makefile R build.macos64ARMv8/squeak.cog.spur.immutability/mvm R build.macos64ARMv8/squeak.cog.spur.immutability/plugins.ext R build.macos64ARMv8/squeak.cog.spur.immutability/plugins.int R build.macos64x64/squeak.cog.spur.immutability/Makefile R build.macos64x64/squeak.cog.spur.immutability/mvm R build.macos64x64/squeak.cog.spur.immutability/plugins.ext R build.macos64x64/squeak.cog.spur.immutability/plugins.int Log Message: ----------- Nuke the old immutability builds. Immutability is the norm these days. From builds at travis-ci.org Wed Sep 16 16:02:24 2020 From: builds at travis-ci.org (Travis CI) Date: Wed, 16 Sep 2020 16:02:24 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2180 (Cog - ecf7d08) In-Reply-To: Message-ID: <5f62370fee236_13fb53dfd11c830036f@travis-tasks-d686bd7d6-5chnx.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2180 Status: Errored Duration: 24 mins and 23 secs Commit: ecf7d08 (Cog) Author: Eliot Miranda Message: Nuke the old immutability builds. Immutability is the norm these days. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/1e107be155f2...ecf7d0873a8c View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727747416?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Wed Sep 16 16:06:37 2020 From: noreply at github.com (Tobias Pape) Date: Wed, 16 Sep 2020 09:06:37 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 85b7ad: [unix/fbdev] use C standard int names Message-ID: Branch: refs/heads/krono/highdpi-v2 Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 85b7adecc0f8f13df67c79dad35a7471bea31626 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/85b7adecc0f8f13df67c79dad35a7471bea31626 Author: Tobias Pape Date: 2020-09-11 (Fri, 11 Sep 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- [unix/fbdev] use C standard int names Commit: b38617db025d4a8d6792cd0bb791b3793703a7d8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b38617db025d4a8d6792cd0bb791b3793703a7d8 Author: Tobias Pape Date: 2020-09-11 (Fri, 11 Sep 2020) Changed paths: M platforms/unix/vm/sqUnixMain.c Log Message: ----------- [unix] Accept more "default" modules (queried by default) Commit: 675e9d50b4d0f5d68942fd9f075209312f31c459 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/675e9d50b4d0f5d68942fd9f075209312f31c459 Author: Eliot Miranda Date: 2020-09-12 (Sat, 12 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sqSetjmpShim.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/win32/misc/_setjmp-x64.asm M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2805 Plugins: Add isWordsOrShorts: for faster sound primitive marshalling. Squeak currently uses a hacked 32-bit WordArray to hold 16-bit signed sound samples. But Spur supports native 16-bit arrays. So using isWordasOrShorts: keeps backwards compatibility while allowing us to migrate to 16-bit native sound buffers when we choose. Use WordsOrShorts in the relevant SoundPlugin & SoundCodecPlugin primitives. Slang: include InterpreterProxy's typed methods in VMPluginCodeGenerator's kernelReturnTypes for improved type inferrence. Fix a slip in inferTypesForImplicitlyTypedVariablesIn:. We should only avoid typing variables assigned a null type if that null type came from a send (and we must do so because types are assigned to methods until we reach a fixed point). Commit: a37c9383b7ff09439aae5611c8c504b0a7ba798a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a37c9383b7ff09439aae5611c8c504b0a7ba798a Author: Eliot Miranda Date: 2020-09-13 (Sun, 13 Sep 2020) Changed paths: M src/plugins/SoundCodecPrims/SoundCodecPrims.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2806 Fix slip in primitiveGSMNewState Commit: 60de1e2b6994e4c9ae8ad4f6831ca1a1e29668ab https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/60de1e2b6994e4c9ae8ad4f6831ca1a1e29668ab Author: Eliot Miranda Date: 2020-09-13 (Sun, 13 Sep 2020) Changed paths: M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/vm/sqVirtualMachine.h Log Message: ----------- Provide a definition of error in sqVirtualMachine.h for the benefit of B2DPlugin and delete extra declarations in the Alien callbak mahinery. Hence rescue the build on mscos64ARMv8. Commit: 0a0fdcaecd135e20ea3f9c00e476a64ba8078f5b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0a0fdcaecd135e20ea3f9c00e476a64ba8078f5b Author: Tobias Pape Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M scripts/ci/travis_install.sh Log Message: ----------- [ci] try to fix a build Commit: 4bbb489c8e9ee88a558a8e6d25968cd8def055d9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/4bbb489c8e9ee88a558a8e6d25968cd8def055d9 Author: Tobias Pape Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M third-party/libpng.spec Log Message: ----------- [ci] maybe in vain, but try to build that flavor Commit: ceaf607b6c58a03a37ebd641a94b1caeeb8e3dd8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ceaf607b6c58a03a37ebd641a94b1caeeb8e3dd8 Author: Tobias Pape Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M .travis.yml Log Message: ----------- [ci] These fail big time due to complex third-party config. Whoever wants to re-enable those, feel free, but kindly fix the build errors. Commit: 536280cdbe8add995616eaa0c78424b95eb00f15 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/536280cdbe8add995616eaa0c78424b95eb00f15 Author: Eliot Miranda Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.msvc M build.win32x86/common/Makefile.msvc.plugin M build.win64x64/common/Makefile M build.win64x64/common/Makefile.plugin M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/sqJPEGReadWriter2Plugin.c M platforms/Cross/vm/sqSetjmpShim.h Log Message: ----------- Fix 64-bit builds by addig the missing define to sqSetjmpShim.h and making sure that _setjmp-x64.asm/.o gets included in the VM and plugin dll builds. Make the same changes to the 32-bit builds, but leave them broken because we do not have a _setjmp-x86.asm yet. Easily derived. Commit: 2080d9f1f45067cfeb16ea8107803159dc4ba167 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2080d9f1f45067cfeb16ea8107803159dc4ba167 Author: Eliot Miranda Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.tools A platforms/win32/misc/_setjmp-x86.asm Log Message: ----------- Add as-yet-untested platforms/win32/misc/_setjmp-x86.asm. This does SEH registration of the frame pointer. Commit: c08c6660574fdddffa63ac1f7c1328920e68a1aa https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c08c6660574fdddffa63ac1f7c1328920e68a1aa Author: Eliot Miranda Date: 2020-09-14 (Mon, 14 Sep 2020) Changed paths: M platforms/win32/misc/_setjmp-x64.asm Log Message: ----------- Add SEH registration to the 64-bit win64 setjmp/longjmp. Commit: 409f8cd0e7a2b7f1f31ff39894ccc9aa24b86715 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/409f8cd0e7a2b7f1f31ff39894ccc9aa24b86715 Author: Tobias Pape Date: 2020-09-15 (Tue, 15 Sep 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c Log Message: ----------- [unix/fbdev] use C standard int names Commit: 745aedefcf046731dbe6c4e0525b7101bab5aaba https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/745aedefcf046731dbe6c4e0525b7101bab5aaba Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/config/config.h.in M platforms/unix/config/configure M platforms/unix/config/configure.ac Log Message: ----------- [configure] check for st_blksize during configure Commit: 0825a8e3fd05e6da0668aab7b9b26b0ce732679b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0825a8e3fd05e6da0668aab7b9b26b0ce732679b Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M .travis.yml M build.win32x86/common/Makefile M build.win32x86/common/Makefile.msvc M build.win32x86/common/Makefile.msvc.plugin M build.win32x86/common/Makefile.tools M build.win64x64/common/Makefile M build.win64x64/common/Makefile.plugin M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/plugins/IA32ABI/arm32abicc.c M platforms/Cross/plugins/IA32ABI/arm64abicc.c M platforms/Cross/plugins/IA32ABI/x64win64abicc.c M platforms/Cross/plugins/JPEGReadWriter2Plugin/sqJPEGReadWriter2Plugin.c M platforms/Cross/vm/sqSetjmpShim.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/unix/config/config.h.in M platforms/unix/config/configure M platforms/unix/config/configure.ac M platforms/unix/vm/sqUnixMain.c M platforms/win32/misc/_setjmp-x64.asm A platforms/win32/misc/_setjmp-x86.asm M scripts/ci/travis_install.sh M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/B2DPlugin/B2DPlugin.c M src/plugins/B3DAcceleratorPlugin/B3DAcceleratorPlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/DESPlugin/DESPlugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/JPEGReaderPlugin/JPEGReaderPlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/MD5Plugin/MD5Plugin.c M src/plugins/ScratchPlugin/ScratchPlugin.c M src/plugins/SoundCodecPrims/SoundCodecPrims.c M src/plugins/SoundPlugin/SoundPlugin.c M src/plugins/Squeak3D/Squeak3D.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/SqueakSSL/SqueakSSL.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/ZipPlugin/ZipPlugin.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c M third-party/libpng.spec Log Message: ----------- Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2 * origin/Cog: [configure] check for st_blksize during configure Add SEH registration to the 64-bit win64 setjmp/longjmp. Add as-yet-untested platforms/win32/misc/_setjmp-x86.asm. This does SEH registration of the frame pointer. Fix 64-bit builds by addig the missing define to sqSetjmpShim.h and making sure that _setjmp-x64.asm/.o gets included in the VM and plugin dll builds. Make the same changes to the 32-bit builds, but leave them broken because we do not have a _setjmp-x86.asm yet. Easily derived. [ci] These fail big time due to complex third-party config. [ci] maybe in vain, but try to build that flavor [ci] try to fix a build Provide a definition of error in sqVirtualMachine.h for the benefit of B2DPlugin and delete extra declarations in the Alien callbak mahinery. Hence rescue the build on mscos64ARMv8. CogVM source as per VMMaker.oscog-eem.2806 CogVM source as per VMMaker.oscog-eem.2805 [unix] Accept more "default" modules (queried by default) [unix/fbdev] use C standard int names Commit: 1e107be155f27df34f6578615984ab154a51efa4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1e107be155f27df34f6578615984ab154a51efa4 Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c M platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm/sqConfig.h M platforms/unix/vm/sqUnixMemory.c M platforms/unix/vm/sqUnixSpurMemory.c Log Message: ----------- [unix] Harmonize use of config.h - prefer sq.h/sqConfig.h wherever sensible - these should come early - use HAVE_ tests to see if includes are necessary/available Commit: 1966717ab84c16be38b6057c9857a4a4a40bc3bb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1966717ab84c16be38b6057c9857a4a4a40bc3bb Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c M platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm/sqConfig.h M platforms/unix/vm/sqUnixMemory.c M platforms/unix/vm/sqUnixSpurMemory.c Log Message: ----------- Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2 * origin/Cog: [unix] Harmonize use of config.h Commit: 3f6ed583da1608312eb3a6d30a34e32f28c952c0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3f6ed583da1608312eb3a6d30a34e32f28c952c0 Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/vm-display-fbdev/sqUnixFBDev.c Log Message: ----------- [fbdev] tweak debug printing since we're painting on the framebuffer, anything printed to stdout etc. will never show up. We now save up the debug messages and replay them once we have shut down the frame buffer. Commit: 3db3d8fa1e3bd4b4e566dcb8ab63726b9d403a25 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3db3d8fa1e3bd4b4e566dcb8ab63726b9d403a25 Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/config/Makefile.in Log Message: ----------- [unix] Make sure everything from the vm is linked using whole-archive ensures all symbols from vm/vm.a are included which is what we need for export-dynamic later-on. This also makes the dupes-thing obsolete Commit: bfb88e8a24e4e46e8d2b17228b954aa12d84d078 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/bfb88e8a24e4e46e8d2b17228b954aa12d84d078 Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11.c A platforms/unix/vm-display-X11/sqUnixX11Scale.c M platforms/unix/vm-display-fbdev/sqUnixFBDev.c M platforms/unix/vm-display-fbdev/sqUnixFBDevFramebuffer.c M platforms/unix/vm-display-fbdev/sqUnixFBDevKeyboard.c M platforms/unix/vm/Makefile.in M platforms/unix/vm/SqDisplay.h M platforms/unix/vm/debug.h A platforms/unix/vm/sqUnixDisplayHelpers.c A platforms/unix/vm/sqUnixDisplayHelpers.h M scripts/ci/travis_install.sh Log Message: ----------- [unix] support scale factors on unix/linux works for fbdev and X11. If Xrandr is available at runtime, works per-monitor. See sqUnixDisplayHelpers.[ch] for Environment variables and explanations Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/5ba978331615...bfb88e8a24e4 From no-reply at appveyor.com Wed Sep 16 16:09:25 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 16 Sep 2020 16:09:25 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2180 Message-ID: <20200916160925.1.BAD1AD41EB653D05@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Wed Sep 16 16:14:01 2020 From: builds at travis-ci.org (Travis CI) Date: Wed, 16 Sep 2020 16:14:01 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2181 (krono/highdpi-v2 - bfb88e8) In-Reply-To: Message-ID: <5f6239c8a5617_13fb53dfd19483179ed@travis-tasks-d686bd7d6-5chnx.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2181 Status: Errored Duration: 6 mins and 57 secs Commit: bfb88e8 (krono/highdpi-v2) Author: Tobias Pape Message: [unix] support scale factors on unix/linux works for fbdev and X11. If Xrandr is available at runtime, works per-monitor. See sqUnixDisplayHelpers.[ch] for Environment variables and explanations View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/5ba978331615...bfb88e8a24e4 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727756456?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rowledge.org Wed Sep 16 17:04:28 2020 From: tim at rowledge.org (tim Rowledge) Date: Wed, 16 Sep 2020 10:04:28 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1e107b: [unix] Harmonize use of config.h In-Reply-To: References: Message-ID: <8E66E2E8-D0CD-405C-9FCC-3BFB7FE1CAA4@rowledge.org> Seeing this - > On 2020-09-16, at 2:37 AM, Tobias Pape wrote: > > M platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c Reminds me that we are decades past when we should have dropped this plugin. Unfortunately we can't do that until we improve the file system stuff to be able to handle the file attributes when copying files. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Variables won't; constants aren't. From Das.Linux at gmx.de Wed Sep 16 17:29:36 2020 From: Das.Linux at gmx.de (Tobias Pape) Date: Wed, 16 Sep 2020 19:29:36 +0200 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1e107b: [unix] Harmonize use of config.h In-Reply-To: References: Message-ID: <7F6BC6B3-4ABB-4F6E-8D9E-6FA81543EB2E@gmx.de> Hi > On 16.09.2020, at 17:31, Eliot Miranda wrote: > > Hi TObias, > > cool stuff!! na. > I'm hoping we can actually generate a single config.h file for each build.XXX directory and share it between all builds for that platform. > > Can you please test a newspeak build on MacOS? That uses the FileCopyPlugin and currently your changes break the Mac build for that plugin. Humm. That the problem with that kind of reuse x.x I'll see. -t > > On Wed, Sep 16, 2020 at 2:37 AM Tobias Pape wrote: > > Branch: refs/heads/Cog > Home: https://github.com/OpenSmalltalk/opensmalltalk-vm > Commit: 1e107be155f27df34f6578615984ab154a51efa4 > https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1e107be155f27df34f6578615984ab154a51efa4 > Author: Tobias Pape > Date: 2020-09-16 (Wed, 16 Sep 2020) > > Changed paths: > M platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c > M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c > M platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c > M platforms/unix/vm-display-fbdev/sqUnixFBDev.c > M platforms/unix/vm/sqConfig.h > M platforms/unix/vm/sqUnixMemory.c > M platforms/unix/vm/sqUnixSpurMemory.c > > Log Message: > ----------- > [unix] Harmonize use of config.h > > - prefer sq.h/sqConfig.h wherever sensible > - these should come early > - use HAVE_ tests to see if includes are necessary/available From noreply at github.com Wed Sep 16 17:43:28 2020 From: noreply at github.com (Tobias Pape) Date: Wed, 16 Sep 2020 10:43:28 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 440556: [unix/configure] Fix autoconf for ssl Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 440556eb51feb589f2326741a4c0bf7f3e6e1944 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/440556eb51feb589f2326741a4c0bf7f3e6e1944 Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/plugins/SqueakSSL/acinclude.m4 Log Message: ----------- [unix/configure] Fix autoconf for ssl dlopen is already taken care of in the main thing. From noreply at github.com Wed Sep 16 17:45:38 2020 From: noreply at github.com (Tobias Pape) Date: Wed, 16 Sep 2020 10:45:38 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 2819ac: [unix/configure] generate [ci skip] Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 2819acba1e2fca2d28a84f39bbd7b08c58795cf0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2819acba1e2fca2d28a84f39bbd7b08c58795cf0 Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/config/configure Log Message: ----------- [unix/configure] generate [ci skip] From builds at travis-ci.org Wed Sep 16 18:06:59 2020 From: builds at travis-ci.org (Travis CI) Date: Wed, 16 Sep 2020 18:06:59 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2182 (Cog - 440556e) In-Reply-To: Message-ID: <5f62544326d29_13face1419a881489bd@travis-tasks-676fb88557-mkjfh.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2182 Status: Errored Duration: 23 mins and 1 sec Commit: 440556e (Cog) Author: Tobias Pape Message: [unix/configure] Fix autoconf for ssl dlopen is already taken care of in the main thing. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/ecf7d0873a8c...440556eb51fe View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727783350?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Wed Sep 16 18:13:39 2020 From: noreply at github.com (Tobias Pape) Date: Wed, 16 Sep 2020 11:13:39 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 5ca742: [apple/unix/...] pick up unix-based config from a ... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 5ca742c20739ff5d55c9ab220707c6c6a85ff2dc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5ca742c20739ff5d55c9ab220707c6c6a85ff2dc Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/iOS/vm/OSX/config.h M platforms/iOS/vm/iPhone/config.h Log Message: ----------- [apple/unix/...] pick up unix-based config from a configure run on macos From Das.Linux at gmx.de Wed Sep 16 18:14:45 2020 From: Das.Linux at gmx.de (Tobias Pape) Date: Wed, 16 Sep 2020 20:14:45 +0200 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1e107b: [unix] Harmonize use of config.h In-Reply-To: <7F6BC6B3-4ABB-4F6E-8D9E-6FA81543EB2E@gmx.de> References: <7F6BC6B3-4ABB-4F6E-8D9E-6FA81543EB2E@gmx.de> Message-ID: <55C10EA3-8375-41A4-A29B-7943795A965C@gmx.de> Hi > On 16.09.2020, at 19:29, Tobias Pape wrote: > > > Hi >> On 16.09.2020, at 17:31, Eliot Miranda wrote: >> >> Hi TObias, >> >> cool stuff!! > > na. > > >> I'm hoping we can actually generate a single config.h file for each build.XXX directory and share it between all builds for that platform. >> >> Can you please test a newspeak build on MacOS? That uses the FileCopyPlugin and currently your changes break the Mac build for that plugin. > > Humm. That the problem with that kind of reuse x.x > I'll see. 5ca742c20739ff5d55c9ab220707c6c6a85ff2dc should fix that. Not in a principled but a practical way… -t > -t > >> >> On Wed, Sep 16, 2020 at 2:37 AM Tobias Pape wrote: >> >> Branch: refs/heads/Cog >> Home: https://github.com/OpenSmalltalk/opensmalltalk-vm >> Commit: 1e107be155f27df34f6578615984ab154a51efa4 >> https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1e107be155f27df34f6578615984ab154a51efa4 >> Author: Tobias Pape >> Date: 2020-09-16 (Wed, 16 Sep 2020) >> >> Changed paths: >> M platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c >> M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c >> M platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c >> M platforms/unix/vm-display-fbdev/sqUnixFBDev.c >> M platforms/unix/vm/sqConfig.h >> M platforms/unix/vm/sqUnixMemory.c >> M platforms/unix/vm/sqUnixSpurMemory.c >> >> Log Message: >> ----------- >> [unix] Harmonize use of config.h >> >> - prefer sq.h/sqConfig.h wherever sensible >> - these should come early >> - use HAVE_ tests to see if includes are necessary/available > > > From no-reply at appveyor.com Wed Sep 16 18:22:28 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 16 Sep 2020 18:22:28 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2182 Message-ID: <20200916182228.1.B3BF7311D68E469B@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Wed Sep 16 18:37:53 2020 From: builds at travis-ci.org (Travis CI) Date: Wed, 16 Sep 2020 18:37:53 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2183 (Cog - 5ca742c) In-Reply-To: Message-ID: <5f625b813ecd3_13face14188f4170353@travis-tasks-676fb88557-mkjfh.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2183 Status: Errored Duration: 23 mins and 45 secs Commit: 5ca742c (Cog) Author: Tobias Pape Message: [apple/unix/...] pick up unix-based config from a configure run on macos View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/2819acba1e2f...5ca742c20739 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727790641?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Sep 16 18:53:17 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 16 Sep 2020 18:53:17 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2183 Message-ID: <20200916185317.1.5379EFCB3C3B1411@appveyor.com> An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Wed Sep 16 19:24:28 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Wed, 16 Sep 2020 12:24:28 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1e107b: [unix] Harmonize use of config.h In-Reply-To: <55C10EA3-8375-41A4-A29B-7943795A965C@gmx.de> References: <7F6BC6B3-4ABB-4F6E-8D9E-6FA81543EB2E@gmx.de> <55C10EA3-8375-41A4-A29B-7943795A965C@gmx.de> Message-ID: On Wed, Sep 16, 2020 at 11:14 AM Tobias Pape wrote: > > Hi > > > On 16.09.2020, at 19:29, Tobias Pape wrote: > > > > > > Hi > >> On 16.09.2020, at 17:31, Eliot Miranda wrote: > >> > >> Hi TObias, > >> > >> cool stuff!! > > > > na. > > > > > >> I'm hoping we can actually generate a single config.h file for each > build.XXX directory and share it between all builds for that platform. > >> > >> Can you please test a newspeak build on MacOS? That uses the > FileCopyPlugin and currently your changes break the Mac build for that > plugin. > > > > Humm. That the problem with that kind of reuse x.x > > I'll see. > > 5ca742c20739ff5d55c9ab220707c6c6a85ff2dc should fix that. Not in a > principled but a practical way… > thanks!! > > -t > > > -t > > > >> > >> On Wed, Sep 16, 2020 at 2:37 AM Tobias Pape wrote: > >> > >> Branch: refs/heads/Cog > >> Home: https://github.com/OpenSmalltalk/opensmalltalk-vm > >> Commit: 1e107be155f27df34f6578615984ab154a51efa4 > >> > https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1e107be155f27df34f6578615984ab154a51efa4 > >> Author: Tobias Pape > >> Date: 2020-09-16 (Wed, 16 Sep 2020) > >> > >> Changed paths: > >> M platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c > >> M platforms/unix/plugins/MIDIPlugin/sqUnixMIDI.c > >> M platforms/unix/plugins/UUIDPlugin/sqUnixUUID.c > >> M platforms/unix/vm-display-fbdev/sqUnixFBDev.c > >> M platforms/unix/vm/sqConfig.h > >> M platforms/unix/vm/sqUnixMemory.c > >> M platforms/unix/vm/sqUnixSpurMemory.c > >> > >> Log Message: > >> ----------- > >> [unix] Harmonize use of config.h > >> > >> - prefer sq.h/sqConfig.h wherever sensible > >> - these should come early > >> - use HAVE_ tests to see if includes are necessary/available > > > > > > > > > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Wed Sep 16 22:51:26 2020 From: noreply at github.com (Tobias Pape) Date: Wed, 16 Sep 2020 15:51:26 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 78ac50: [mindheadless] cmakify autoconf config.h Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 78ac50297d1c7aafa710e249645a27a98fd19162 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/78ac50297d1c7aafa710e249645a27a98fd19162 Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M CMakeLists.txt M platforms/minheadless/common/sqPlatformSpecificCommon.h M platforms/minheadless/common/sqPrinting.c M platforms/minheadless/config.h.in Log Message: ----------- [mindheadless] cmakify autoconf config.h let's combine the worst of two worlds, what can go right? From no-reply at appveyor.com Wed Sep 16 23:21:02 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 16 Sep 2020 23:21:02 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2184 Message-ID: <20200916232102.1.B4D42123519CA358@appveyor.com> An HTML attachment was scrubbed... URL: From noreply at github.com Thu Sep 17 00:30:19 2020 From: noreply at github.com (Tobias Pape) Date: Wed, 16 Sep 2020 17:30:19 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] ecf7d0: Nuke the old immutability builds. Immutability is... Message-ID: Branch: refs/heads/krono/highdpi-v2 Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: ecf7d0873a8c2cca55e6b78bee70644cea273674 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ecf7d0873a8c2cca55e6b78bee70644cea273674 Author: Eliot Miranda Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: R build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm R build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm R build.linux32x86/squeak.cog.spur.immutability/build/mvm R build.linux32x86/squeak.cog.spur.immutability/makeallclean R build.linux32x86/squeak.cog.spur.immutability/makealldirty R build.linux32x86/squeak.cog.spur.immutability/plugins.ext R build.linux32x86/squeak.cog.spur.immutability/plugins.int R build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm R build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm R build.linux64x64/squeak.cog.spur.immutability/build/mvm R build.linux64x64/squeak.cog.spur.immutability/makeallclean R build.linux64x64/squeak.cog.spur.immutability/makealldirty R build.linux64x64/squeak.cog.spur.immutability/plugins.ext R build.linux64x64/squeak.cog.spur.immutability/plugins.int R build.macos32x86/squeak.cog.spur+immutability/Makefile R build.macos32x86/squeak.cog.spur+immutability/mvm R build.macos32x86/squeak.cog.spur+immutability/plugins.ext R build.macos32x86/squeak.cog.spur+immutability/plugins.int R build.macos64ARMv8/squeak.cog.spur.immutability/Makefile R build.macos64ARMv8/squeak.cog.spur.immutability/mvm R build.macos64ARMv8/squeak.cog.spur.immutability/plugins.ext R build.macos64ARMv8/squeak.cog.spur.immutability/plugins.int R build.macos64x64/squeak.cog.spur.immutability/Makefile R build.macos64x64/squeak.cog.spur.immutability/mvm R build.macos64x64/squeak.cog.spur.immutability/plugins.ext R build.macos64x64/squeak.cog.spur.immutability/plugins.int Log Message: ----------- Nuke the old immutability builds. Immutability is the norm these days. Commit: 440556eb51feb589f2326741a4c0bf7f3e6e1944 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/440556eb51feb589f2326741a4c0bf7f3e6e1944 Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/plugins/SqueakSSL/acinclude.m4 Log Message: ----------- [unix/configure] Fix autoconf for ssl dlopen is already taken care of in the main thing. Commit: 2819acba1e2fca2d28a84f39bbd7b08c58795cf0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2819acba1e2fca2d28a84f39bbd7b08c58795cf0 Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/unix/config/configure Log Message: ----------- [unix/configure] generate [ci skip] Commit: 5ca742c20739ff5d55c9ab220707c6c6a85ff2dc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5ca742c20739ff5d55c9ab220707c6c6a85ff2dc Author: Tobias Pape Date: 2020-09-16 (Wed, 16 Sep 2020) Changed paths: M platforms/iOS/vm/OSX/config.h M platforms/iOS/vm/iPhone/config.h Log Message: ----------- [apple/unix/...] pick up unix-based config from a configure run on macos Commit: 78ac50297d1c7aafa710e249645a27a98fd19162 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/78ac50297d1c7aafa710e249645a27a98fd19162 Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M CMakeLists.txt M platforms/minheadless/common/sqPlatformSpecificCommon.h M platforms/minheadless/common/sqPrinting.c M platforms/minheadless/config.h.in Log Message: ----------- [mindheadless] cmakify autoconf config.h let's combine the worst of two worlds, what can go right? Commit: 242c0a51ad13975d2967a12a9d0ff39536b44deb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/242c0a51ad13975d2967a12a9d0ff39536b44deb Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M CMakeLists.txt R build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm R build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm R build.linux32x86/squeak.cog.spur.immutability/build/mvm R build.linux32x86/squeak.cog.spur.immutability/makeallclean R build.linux32x86/squeak.cog.spur.immutability/makealldirty R build.linux32x86/squeak.cog.spur.immutability/plugins.ext R build.linux32x86/squeak.cog.spur.immutability/plugins.int R build.linux64x64/squeak.cog.spur.immutability/build.assert/mvm R build.linux64x64/squeak.cog.spur.immutability/build.debug/mvm R build.linux64x64/squeak.cog.spur.immutability/build/mvm R build.linux64x64/squeak.cog.spur.immutability/makeallclean R build.linux64x64/squeak.cog.spur.immutability/makealldirty R build.linux64x64/squeak.cog.spur.immutability/plugins.ext R build.linux64x64/squeak.cog.spur.immutability/plugins.int R build.macos32x86/squeak.cog.spur+immutability/Makefile R build.macos32x86/squeak.cog.spur+immutability/mvm R build.macos32x86/squeak.cog.spur+immutability/plugins.ext R build.macos32x86/squeak.cog.spur+immutability/plugins.int R build.macos64ARMv8/squeak.cog.spur.immutability/Makefile R build.macos64ARMv8/squeak.cog.spur.immutability/mvm R build.macos64ARMv8/squeak.cog.spur.immutability/plugins.ext R build.macos64ARMv8/squeak.cog.spur.immutability/plugins.int R build.macos64x64/squeak.cog.spur.immutability/Makefile R build.macos64x64/squeak.cog.spur.immutability/mvm R build.macos64x64/squeak.cog.spur.immutability/plugins.ext R build.macos64x64/squeak.cog.spur.immutability/plugins.int M platforms/iOS/vm/OSX/config.h M platforms/iOS/vm/iPhone/config.h M platforms/minheadless/common/sqPlatformSpecificCommon.h M platforms/minheadless/common/sqPrinting.c M platforms/minheadless/config.h.in M platforms/unix/config/configure M platforms/unix/plugins/SqueakSSL/acinclude.m4 Log Message: ----------- Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2 * origin/Cog: [mindheadless] cmakify autoconf config.h [apple/unix/...] pick up unix-based config from a configure run on macos [unix/configure] generate [ci skip] [unix/configure] Fix autoconf for ssl Nuke the old immutability builds. Immutability is the norm these days. Commit: 2a453c78ad96dd12737e73377e4bfcd21143d40a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2a453c78ad96dd12737e73377e4bfcd21143d40a Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M .appveyor.yml Log Message: ----------- [ci] fix merge fault Commit: 6116ca5cdccb950e793044c58c5b6a1e008afd49 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6116ca5cdccb950e793044c58c5b6a1e008afd49 Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m M platforms/iOS/vm/OSX/sqSqueakOSXOpenGLView.m Log Message: ----------- [osx] fix merge confusion Commit: f1568ba80edf0a9e3f18e4dbe0d594795b9560a4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f1568ba80edf0a9e3f18e4dbe0d594795b9560a4 Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M platforms/iOS/vm/OSX/sqSqueakOSXMetalView.m Log Message: ----------- [mac] fix highdpi for metal Commit: 10aeb1958dff8b0a66942c4592938fcecccfa8fc https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/10aeb1958dff8b0a66942c4592938fcecccfa8fc Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M platforms/unix/vm/sqUnixDisplayHelpers.c Log Message: ----------- [unix] determine scale, round towards default_scale Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/bfb88e8a24e4...10aeb1958dff From builds at travis-ci.org Thu Sep 17 00:33:36 2020 From: builds at travis-ci.org (Travis CI) Date: Thu, 17 Sep 2020 00:33:36 +0000 Subject: [Vm-dev] Failed: OpenSmalltalk/opensmalltalk-vm#2184 (Cog - 78ac502) In-Reply-To: Message-ID: <5f62aedfb826c_13faea2d27cfc60528@travis-tasks-656c6cb7f5-xbr5w.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2184 Status: Failed Duration: 47 mins and 53 secs Commit: 78ac502 (Cog) Author: Tobias Pape Message: [mindheadless] cmakify autoconf config.h let's combine the worst of two worlds, what can go right? View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/5ca742c20739...78ac50297d1c View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727856483?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Sep 17 00:59:03 2020 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 17 Sep 2020 00:59:03 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2185 Message-ID: <20200917005903.1.AB724840C636316E@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Thu Sep 17 01:45:04 2020 From: builds at travis-ci.org (Travis CI) Date: Thu, 17 Sep 2020 01:45:04 +0000 Subject: [Vm-dev] Failed: OpenSmalltalk/opensmalltalk-vm#2185 (krono/highdpi-v2 - 10aeb19) In-Reply-To: Message-ID: <5f62bfa05f877_13fcd0a09d4ec450a1@travis-tasks-656c6cb7f5-nq65n.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2185 Status: Failed Duration: 1 hr, 14 mins, and 17 secs Commit: 10aeb19 (krono/highdpi-v2) Author: Tobias Pape Message: [unix] determine scale, round towards default_scale View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/bfb88e8a24e4...10aeb1958dff View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727873339?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Thu Sep 17 06:57:29 2020 From: noreply at github.com (Tobias Pape) Date: Wed, 16 Sep 2020 23:57:29 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 95f014: [unix] improve per-monitor scale identification Message-ID: Branch: refs/heads/krono/highdpi-v2 Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 95f0144cbab56e9e3e9812cf430d1f45d01c840a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/95f0144cbab56e9e3e9812cf430d1f45d01c840a Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M platforms/unix/vm-display-X11/sqUnixX11Scale.c M platforms/unix/vm/sqUnixDisplayHelpers.c Log Message: ----------- [unix] improve per-monitor scale identification From boris at shingarov.com Thu Sep 17 07:25:11 2020 From: boris at shingarov.com (Boris Shingarov) Date: Thu, 17 Sep 2020 03:25:11 -0400 Subject: [Vm-dev] Why does CogARMCompiler>>msr: yield MSRNE? Message-ID: <83319ce1-80f8-12c0-6d44-cb9b8b23fbb2@shingarov.com> I just noticed something unusual in CogARMCompiler>>msr:. The field cond -- which comes from the leftmost nibble of 16r1328F000 -- is 1, i.e. NE. So in fact we are emitting MSRNE, not MSR.  Is this on purpose? Or should the code read ^16rE328F000 + ... + ... ?  (E for "Always") From no-reply at appveyor.com Thu Sep 17 07:26:08 2020 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 17 Sep 2020 07:26:08 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2186 Message-ID: <20200917072608.1.74476E73F137EDEC@appveyor.com> An HTML attachment was scrubbed... URL: From noreply at github.com Thu Sep 17 07:45:06 2020 From: noreply at github.com (Tobias Pape) Date: Thu, 17 Sep 2020 00:45:06 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 23ba4a: [config.h] nix checks nobody uses anyway Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 23ba4adef950c8208953e519c73664bc7f0b99d5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/23ba4adef950c8208953e519c73664bc7f0b99d5 Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M CMakeLists.txt M platforms/Plan9/vm/config.h M platforms/iOS/vm/OSX/config.h M platforms/iOS/vm/iPhone/config.h M platforms/minheadless/config.h.in M platforms/unix/config/acinclude.m4 M platforms/unix/config/config.h.in M platforms/unix/config/configure M platforms/unix/config/configure.ac Log Message: ----------- [config.h] nix checks nobody uses anyway less headache From builds at travis-ci.org Thu Sep 17 08:08:10 2020 From: builds at travis-ci.org (Travis CI) Date: Thu, 17 Sep 2020 08:08:10 +0000 Subject: [Vm-dev] Canceled: OpenSmalltalk/opensmalltalk-vm#2186 (krono/highdpi-v2 - 95f0144) In-Reply-To: Message-ID: <5f63196a730dc_13fa1bd7d9b0c13457@travis-tasks-599b6bf6f5-rnwtj.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2186 Status: Canceled Duration: 1 hr, 10 mins, and 31 secs Commit: 95f0144 (krono/highdpi-v2) Author: Tobias Pape Message: [unix] improve per-monitor scale identification View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/10aeb1958dff...95f0144cbab5 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727928461?utm_medium=notification&utm_source=email Restart your build: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727928461?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Sep 17 08:18:03 2020 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 17 Sep 2020 08:18:03 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2187 Message-ID: <20200917081803.1.04D57B6BA8D35189@appveyor.com> An HTML attachment was scrubbed... URL: From boris at shingarov.com Thu Sep 17 08:59:23 2020 From: boris at shingarov.com (Boris Shingarov) Date: Thu, 17 Sep 2020 04:59:23 -0400 Subject: [Vm-dev] Are AlignmentNops actually used? Message-ID: <7e963322-2ee5-baaf-7c60-1697d7f3870a@shingarov.com> In my -- admittedly very limited (Squeak ReaderImages simulating ARMv7) -- tests I've never seen #concretizeAlignmentNops do anything.  It does get called, but it never emits any code.  This is because machineCodeSize=0, so the 0 to: machineCodeSize - 1 by: 4 do:         [:p| self machineCodeAt: p put: 16rE1A00000]. gets no iterations. Are there cases when this gets called with nonzero machineCodeSize, or is it a candidate for deletion? From builds at travis-ci.org Thu Sep 17 09:21:00 2020 From: builds at travis-ci.org (Travis CI) Date: Thu, 17 Sep 2020 09:21:00 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2187 (Cog - 23ba4ad) In-Reply-To: Message-ID: <5f632a7b4264_13fda8b81f36c142564@travis-tasks-6d96479589-zfnk7.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2187 Status: Still Failing Duration: 1 hr, 35 mins, and 36 secs Commit: 23ba4ad (Cog) Author: Tobias Pape Message: [config.h] nix checks nobody uses anyway less headache View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/78ac50297d1c...23ba4adef950 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/727936667?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Thu Sep 17 10:41:25 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Thu, 17 Sep 2020 03:41:25 -0700 Subject: [Vm-dev] Are AlignmentNops actually used? In-Reply-To: <7e963322-2ee5-baaf-7c60-1697d7f3870a@shingarov.com> References: <7e963322-2ee5-baaf-7c60-1697d7f3870a@shingarov.com> Message-ID: Hi Boris, > On Sep 17, 2020, at 1:59 AM, Boris Shingarov wrote: > > In my -- admittedly very limited (Squeak ReaderImages simulating ARMv7) -- tests I've never seen #concretizeAlignmentNops do anything. It does get called, but it never emits any code. This is because machineCodeSize=0, so the > > 0 to: machineCodeSize - 1 by: 4 do: > [:p| self machineCodeAt: p put: 16rE1A00000]. > > gets no iterations. > > Are there cases when this gets called with nonzero machineCodeSize, or is it a candidate for deletion? Yes it is used. In images using embedded blocks (EncoderForV3PlusClosures instruction set) and with x86 or x86_64 (variable-sized instructions with byte granularity), AlignmentNops are used to pad to align the fake method header embedded in machine code for each CogBlockMethod in a CogMethod. __,,,^..^,,,__ Best, Eliot From notifications at github.com Thu Sep 17 13:25:52 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 17 Sep 2020 06:25:52 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] macOS sockets broken (#428) In-Reply-To: References: Message-ID: When using new network, the tests use an IPv6-based localhost address for binding and connecting. The local socket is opened in `setUp`: ```Smalltalk setUp listenerSocket := Socket newTCP listenOn: self listenerPort backlogSize: 4 interface: self listenerAddress. ``` The `listenerAddress` is derived as follows: ```Smalltalk ^ NetNameResolver addressForName: 'localhost' ``` In `oldNetwork`, that's an IPv4, in `!oldNetwork` that's an IPv6. _this is good_ However, the _Socket_ is created as `newTCP`, that is, _explicitely IPv4_: ```Smalltalk newTCP "Create a socket and initialise it for TCP" ^self newTCP: SocketAddressInformation addressFamilyINET4 ``` This is bad. This is where the Error message comes from. This should be changed to use the address familty that fits best to the current old/new-network. On top of that, `#listenOn:backlogSize: interface:` *solely* deals with IPv4 adresses. The correct way is to use the indirection of `SocketAddressInformation` in `#listenWithBacklog:`. This deals correctly with the address family. Things to do: - [ ] fix the test setup to use the SAI info and/or discriminate old/new network - [ ] maybe Bail in the socket plugin earlier when a new-network socket is used in old-network-ipv4-only code. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/428#issuecomment-694231185 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Thu Sep 17 13:37:05 2020 From: noreply at github.com (Tobias Pape) Date: Thu, 17 Sep 2020 06:37:05 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1001b0: [unix] when aio-debugging, only show polls when re... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 1001b049c1575d3a2993d469e26676109694ccc1 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1001b049c1575d3a2993d469e26676109694ccc1 Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M platforms/unix/vm/aio.c Log Message: ----------- [unix] when aio-debugging, only show polls when really necessary [ci skip] From noreply at github.com Thu Sep 17 13:38:08 2020 From: noreply at github.com (Tobias Pape) Date: Thu, 17 Sep 2020 06:38:08 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 23ba4a: [config.h] nix checks nobody uses anyway Message-ID: Branch: refs/heads/krono/highdpi-v2 Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 23ba4adef950c8208953e519c73664bc7f0b99d5 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/23ba4adef950c8208953e519c73664bc7f0b99d5 Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M CMakeLists.txt M platforms/Plan9/vm/config.h M platforms/iOS/vm/OSX/config.h M platforms/iOS/vm/iPhone/config.h M platforms/minheadless/config.h.in M platforms/unix/config/acinclude.m4 M platforms/unix/config/config.h.in M platforms/unix/config/configure M platforms/unix/config/configure.ac Log Message: ----------- [config.h] nix checks nobody uses anyway less headache Commit: 484adba1fe8bdeca821ecb510194bfbd7b0864ab https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/484adba1fe8bdeca821ecb510194bfbd7b0864ab Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M CMakeLists.txt M platforms/Plan9/vm/config.h M platforms/iOS/vm/OSX/config.h M platforms/iOS/vm/iPhone/config.h M platforms/minheadless/config.h.in M platforms/unix/config/acinclude.m4 M platforms/unix/config/config.h.in M platforms/unix/config/configure M platforms/unix/config/configure.ac Log Message: ----------- Merge remote-tracking branch 'origin/Cog' into krono/highdpi-v2 * origin/Cog: [config.h] nix checks nobody uses anyway Commit: b622310eb8db5cf880cf52e753b42d42d3903493 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b622310eb8db5cf880cf52e753b42d42d3903493 Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M .travis.yml M deploy/filter-exec.sh Log Message: ----------- [deploy] Deploy this branch ONCE so we can try Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/95f0144cbab5...b622310eb8db From noreply at github.com Thu Sep 17 13:38:51 2020 From: noreply at github.com (Tobias Pape) Date: Thu, 17 Sep 2020 06:38:51 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1eef8c: Revert "[deploy] Deploy this branch ONCE so we can... Message-ID: Branch: refs/heads/krono/highdpi-v2 Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 1eef8ccfbe854d7c34e19b2a60558697012d95f0 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1eef8ccfbe854d7c34e19b2a60558697012d95f0 Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M .travis.yml M deploy/filter-exec.sh Log Message: ----------- Revert "[deploy] Deploy this branch ONCE so we can try" [ci skip] This reverts commit b622310eb8db5cf880cf52e753b42d42d3903493. From no-reply at appveyor.com Thu Sep 17 14:13:10 2020 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 17 Sep 2020 14:13:10 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2188 Message-ID: <20200917141310.1.92092C5E8ACBD56E@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Thu Sep 17 14:56:11 2020 From: builds at travis-ci.org (Travis CI) Date: Thu, 17 Sep 2020 14:56:11 +0000 Subject: [Vm-dev] Failed: OpenSmalltalk/opensmalltalk-vm#2188 (krono/highdpi-v2 - b622310) In-Reply-To: Message-ID: <5f63790a3ec85_13fecb5d9dca822532f@travis-tasks-668444d4f9-6vlxw.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2188 Status: Failed Duration: 1 hr, 17 mins, and 40 secs Commit: b622310 (krono/highdpi-v2) Author: Tobias Pape Message: [deploy] Deploy this branch ONCE so we can try View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/95f0144cbab5...b622310eb8db View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/728015387?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Thu Sep 17 15:16:28 2020 From: noreply at github.com (Tobias Pape) Date: Thu, 17 Sep 2020 08:16:28 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] a2690b: [ci] killing the manifest got lost. Message-ID: Branch: refs/heads/krono/highdpi-v2 Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: a2690b1b4e5c4488c716613f6654a74e31fa018a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a2690b1b4e5c4488c716613f6654a74e31fa018a Author: Tobias Pape Date: 2020-09-17 (Thu, 17 Sep 2020) Changed paths: M scripts/ci/travis_build.sh Log Message: ----------- [ci] killing the manifest got lost. See c07df4f3a4c3b5bceeecbe8ee1e5a0e9d26eb9c5 From no-reply at appveyor.com Thu Sep 17 15:52:00 2020 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 17 Sep 2020 15:52:00 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2189 Message-ID: <20200917155200.1.997CE49F11D47082@appveyor.com> An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 17 16:42:41 2020 From: notifications at github.com (dcstes) Date: Thu, 17 Sep 2020 09:42:41 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Support PKG_CONFIG in configure for UnicodePlugin : PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path UNICODE_PLUGIN_CFLAGS C compiler flags for UNICODE_PLUGIN, overriding pkg-config UNICODE_PLUGIN_LIBS linker flags for UNICODE_PLUGIN, overriding pkg-config Note that I believe that Ian Piumarta's "cmake" system for squeak-4 also uses pkg-config (when he changed from autoconf to 'cmake'). The reason why I made this change, is for compiling on Solaris 11.4. You can see in the "mvm" script that I set PKG_CONFIG_PATH for the 64bit: On Solaris 11.4 32bit there is: # pkg-config --cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include and on Solaris 11.4 64bit there is: # PKG_CONFIG_PATH=/usr/lib/64/pkgconfig pkg-config --cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib/amd64/glib-2.0/include Note the '64' or 'amd64' subdirectories. Finally a remark: I modified platforms/unix/config/make.cfg.in because I don't see how to define the UNICODE_PLUGIN_CFLAGS in the plugin, locally, without setting the variable globally (in all Makefiles). Because of the 'mkmf' script, this will thus modify all Unix Makefiles ... If somebody has a better idea, let's hear it ! I understand from Eliot Miranda that abandoning 'configure' is an option. But that still has the issue of multiple locations on various Unix flavors, for the GTK include files and libraries ... David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfY5HNAAoJEAwpOKXMq1MaLpEIAL0qgm0zmtJs3kqV9GHli96I +OQZHL9lLn9gNjyaohpPF7UXhXjr4VbXzjrPAjU8vDR7yImNwe11bcN39VH5nwtt VrbXA3PpKFNyz5gWBWpyVs1k5ey4UZBSFF/76KwgdruDlXR/aQ7QLwR8WcC6UIfV rYcvFyLaadwIDV2XoseoVpB91J+Vjy5x/hD+bT6MNybXuvWj5hYli8obdtiBi5aS 8zhBGmZnnKS8+cyfBlmbAjKknUQuy11mhos6FDQX2Wbr/VtBUYgXphcF8cYMnSIe jV1ZOaA1IQgJ+0kXGKehjqMB/EPs5LA35sUJ8nI2YC3yww0z7n+rzC8n7UttFsg= =Miad -----END PGP SIGNATURE----- You can view, comment on, or merge this pull request online at: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520 -- Commit Summary -- * configure change: use pkg-config (PKG_CONFIG) -- File Changes -- M build.sunos64x64/squeak.cog.spur/build/mvm (4) M build.sunos64x64/squeak.stack.spur/build/mvm (3) M platforms/unix/config/make.cfg.in (2) M platforms/unix/plugins/UnicodePlugin/Makefile.inc (5) M platforms/unix/plugins/UnicodePlugin/README.UnicodePlugin (21) M platforms/unix/plugins/UnicodePlugin/acinclude.m4 (19) -- Patch Links -- https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520.patch https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520 -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Thu Sep 17 16:49:13 2020 From: builds at travis-ci.org (Travis CI) Date: Thu, 17 Sep 2020 16:49:13 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2189 (krono/highdpi-v2 - a2690b1) In-Reply-To: Message-ID: <5f639389545fa_13f7f5cd1c4d01092d7@travis-tasks-7c67cd4474-qlqnx.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2189 Status: Still Failing Duration: 1 hr, 32 mins, and 20 secs Commit: a2690b1 (krono/highdpi-v2) Author: Tobias Pape Message: [ci] killing the manifest got lost. See c07df4f3a4c3b5bceeecbe8ee1e5a0e9d26eb9c5 View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/1eef8ccfbe85...a2690b1b4e5c View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/728054590?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 17 16:56:48 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 17 Sep 2020 09:56:48 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) In-Reply-To: References: Message-ID: I'd rather not use pkg-config just for parts of the system. Either most things are found that way or it is not worth it… -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520#issuecomment-694365273 -------------- next part -------------- An HTML attachment was scrubbed... URL: From stes at telenet.be Thu Sep 17 16:58:28 2020 From: stes at telenet.be (stes@PANDORA.BE) Date: Thu, 17 Sep 2020 18:58:28 +0200 (CEST) Subject: [Vm-dev] __builtin_extract_return_addr Message-ID: <2129003910.174927022.1600361908942.JavaMail.zimbra@telenet.be> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi, Originally when I compiled on Solaris, I had both the "Cog" and "Stack" VM working. Unfortunately there was a change in april which breaks the "Cog" build. The "Stack" build continues to work fine for me. Since early april there is in the following file the following definition : platforms/Cross/vm/sq.h # define getReturnAddress() __builtin_extract_return_addr(__builtin_return_address(0)) Eliot Miranda wrote in the thread: http://forum.world.st/Broken-5-3-downloads-need-fixing-td5115132.html "Things are pretty stable. There was one major change to how the VM moves from machine code into the interpreter, replacing a setjmp/longjmp pair with a much lighter-weight "jump-call with substituted return address". But this "just works". We're able to perform experments without disturbinf=g trunk. SO for example, adding makefiles to allow building of the VM under clang-cl.exe on Windows was done without affecting the other builds at all." Is there a compiler flag (#define) to re-enable the old code with setjmp/longjmp ? Or is there code in the 'platforms/Cross/vm/sqCog*' files that could help to implement the required function for 'return address', if that is not provided by the compiler ... ? I am hoping to re-enable the old setjmp/longjmp code. Also note that this may be useful for other users as well, to be able to 'revert' to the legacy old code. Regards, David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfY5VfAAoJEAwpOKXMq1Ma9y8H/15hLjTf3aMfdFaPH1aoXNRK T61XZtbrOuykLH4IqLZpr85bQgtqdAdZqZ4tYtl8H00B4opoKZ+CVfruCDUoQEIJ uUYpJ9R8bp60DqQ147VakZaBzl7P9z2yn9mq6BGnb4sh/tSS743AIinURt+jqoKM MKxPf6cQn6r+fsvRNN+N5By9AIGco9t61SUqIcNzrdGRNwoaMOzc/4DfMYhPs6JT qyP3sJ0/LlJA7nhLSWmRNbkC2aJuYT4WCBTdEyNbs9lkv4CO8OOska8Y5YINgvpl FbwnyTABZzMdYuBIJevlB3RKPMTsn+ceFDfqcrDC7YzeVVWaZhhzV5wosjHenck= =bl73 -----END PGP SIGNATURE----- From notifications at github.com Thu Sep 17 17:06:38 2020 From: notifications at github.com (dcstes) Date: Thu, 17 Sep 2020 10:06:38 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) In-Reply-To: References: Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 OK, it's true that this may be a risky change to 'configure'. I don't have a problem with closing/withdrawing this pull request ... I can work-around the issue with some alternatives (like replacing the hardcoded paths by other paths), so I don't really mind. Note that the squeak-4 package ("cmake") uses pkg-config however. David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfY5d7AAoJEAwpOKXMq1MaisUH/Rxk9mUC+8VIYO1Zrqy7b4tn 6Q6T4I/CPek1eGHqUgFUSAQXqp2WM/8aSvNHiPUyEUGOqkjWMRtn0julkSS4q5xN 2gqDqWUUNJYrQiWFlKA8trzxLlhd4JN7JpiAZlWx4z9Jlu0ECe0uqCI9kBc99hS2 iOPE0qKfWAnH/Y0ABdkf2cLBZQWWrqYADDUeJ98I9b/NukES4QnSZ+ZtIbOE5V+i AzVU4J/LHs85KrSW/Y4RggnvUXhik6A9TxvqKosVhmcwlgllUTsZnmzbHhZwrj2j qVrs4nQo7yq2DjF4+dVc9ParBf4IR1dw+QYNShyIdF8IaYyh1YOq7RwP1Qwf8QY= =dq3V -----END PGP SIGNATURE----- -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520#issuecomment-694370678 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Thu Sep 17 17:17:36 2020 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 17 Sep 2020 17:17:36 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2190 Message-ID: <20200917171736.1.EEC1D1932F322145@appveyor.com> An HTML attachment was scrubbed... URL: From notifications at github.com Thu Sep 17 17:26:34 2020 From: notifications at github.com (Tobias Pape) Date: Thu, 17 Sep 2020 10:26:34 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) In-Reply-To: References: Message-ID: > Note that the squeak-4 package ("cmake") uses pkg-config however. Yeah, I'm painfully aware :) There are so many moving parts… -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520#issuecomment-694382240 -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rowledge.org Thu Sep 17 18:32:42 2020 From: tim at rowledge.org (tim Rowledge) Date: Thu, 17 Sep 2020 11:32:42 -0700 Subject: [Vm-dev] Why does CogARMCompiler>>msr: yield MSRNE? In-Reply-To: <83319ce1-80f8-12c0-6d44-cb9b8b23fbb2@shingarov.com> References: <83319ce1-80f8-12c0-6d44-cb9b8b23fbb2@shingarov.com> Message-ID: <48790B06-9310-49D3-8008-576FD06B15BA@rowledge.org> > On 2020-09-17, at 12:25 AM, Boris Shingarov wrote: > > I just noticed something unusual in CogARMCompiler>>msr:. > > The field cond -- which comes from the leftmost nibble of 16r1328F000 -- is 1, i.e. NE. > Huh. That does look weird. Why would I have done that? > So in fact we are emitting MSRNE, not MSR. Is this on purpose? Or should the code read ^16rE328F000 + ... + ... ? (E for "Always") OK, found it. It's only used in #genMulR:R; in a place where we have just tested the condition codes and only want to transfer the V flag if the prior multiply overflow test requires it. Boy, that could do with better comments. I'll try to provide some soon. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Strange OpCodes: RCR: Rewind Card Reader From tim at rowledge.org Thu Sep 17 19:13:32 2020 From: tim at rowledge.org (tim Rowledge) Date: Thu, 17 Sep 2020 12:13:32 -0700 Subject: [Vm-dev] Bintray & getGoodSpur64VM.sh clash Message-ID: <9351CE93-B239-45A7-B048-D4C0925BCE42@rowledge.org> Just tried running ./buildspurtrunkvmmaker64image.sh to take a look at fixing the MSR commentary issues Boris spotted and it looks like there is some bad interaction between the bintray setup and how the script tries to fetch the latest vm install. So far as I (a very poor reader of shellscripts) can see, the bintray machine is reporting a new version with LATESTRELEASE=202009171337 and then when asked for that with curl -L https://dl.bintray.com/opensmalltalk/vm/squeak.cog.spur_macos64x64_202009171337.dmg -o squeak.cog.spur_macos64x64_202009171337.dmg it actually provides a 33 byte file with the contents 'The requested path was not found.' This is not so very helpful. looking at https://bintray.com/opensmalltalk/vm/cog/202009171337#files it seems only the windows versions built. Maybe the script could check for the latest release applicable to the OS value? No idea how one might get that info from bintray. I've cheated for now by hacking the script to explicitly look for the 202009170744 file, so no massive urgency here. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim "How many Kdatlyno does it take to change a lightbulb?” "None. It sounds perfectly OK to them." From eliot.miranda at gmail.com Fri Sep 18 04:20:30 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Thu, 17 Sep 2020 21:20:30 -0700 Subject: [Vm-dev] __builtin_extract_return_addr In-Reply-To: <2129003910.174927022.1600361908942.JavaMail.zimbra@telenet.be> References: <2129003910.174927022.1600361908942.JavaMail.zimbra@telenet.be> Message-ID: Hi David, On Thu, Sep 17, 2020 at 9:58 AM stes at PANDORA.BE wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > > Hi, > > Originally when I compiled on Solaris, I had both the "Cog" and "Stack" VM > working. > > Unfortunately there was a change in april which breaks the "Cog" build. > > The "Stack" build continues to work fine for me. > > Since early april there is in the following file the following definition : > > platforms/Cross/vm/sq.h > > # define getReturnAddress() > __builtin_extract_return_addr(__builtin_return_address(0)) > > Eliot Miranda wrote in the thread: > > http://forum.world.st/Broken-5-3-downloads-need-fixing-td5115132.html > > "Things are pretty stable. There was one major change to how the VM moves > from machine code into the interpreter, replacing a setjmp/longjmp pair > with a much lighter-weight "jump-call with substituted return address". But > this "just works". We're able to perform experments without disturbinf=g > trunk. SO for example, adding makefiles to allow building of the VM under > clang-cl.exe on Windows was done without affecting the other builds at all." > > Is there a compiler flag (#define) to re-enable the old code with > setjmp/longjmp ? > > Or is there code in the 'platforms/Cross/vm/sqCog*' files > that could help to implement the required function for 'return address', > if that is not provided by the compiler ... ? > > I am hoping to re-enable the old setjmp/longjmp code. > > Also note that this may be useful for other users as well, > to be able to 'revert' to the legacy old code. > Nah, it's trivial to implement. The new scheme is much cheaper and hence faster than setjmp/longjmp. So I'd much rather spread it further than support two versions. The compiler supports gcc's inline extended assembler right? In a normal frame on x86/x86_64 the frame pointer points to the word below the return address, so would look like this: #if __GNUC__ || __clang__ # if defined(_X86_) || defined(i386) || defined(__i386) || defined(__i386__) # define getretaddr() ({ register usqIntptr_t retpc; \ asm volatile ("movl 4(%%ebp),%0" : "=r"(retpc) : ); \ retpc; }) # elif defined(x86_64) || defined(__x86_64) || defined(__x86_64__) || defined(__amd64) || defined(__amd64__) || defined(x64) || defined(_M_AMD64) || defined(_M_X64) || defined(_M_IA64) # define getretaddr() ({ register usqIntptr_t retpc; \ asm volatile ("movl 8(%%rbp),%0" : "=r"(retpc) : ); \ retpc; }) #endif To make this convenient we need to decide whether to put it in sqPlatformSpecific.h (easy) or to perhaps rename platforms/Cross/vm/sqCogStackAlignment.h to platforms/Cross/vm/sqCogStackAccess.h and put it there. That feels better than putting it in sq.h. But in any case can you try adding the above definitions to the relevant sqPlatformSpecific.h? > Regards, > David Stes > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2 > > iQEcBAEBCAAGBQJfY5VfAAoJEAwpOKXMq1Ma9y8H/15hLjTf3aMfdFaPH1aoXNRK > T61XZtbrOuykLH4IqLZpr85bQgtqdAdZqZ4tYtl8H00B4opoKZ+CVfruCDUoQEIJ > uUYpJ9R8bp60DqQ147VakZaBzl7P9z2yn9mq6BGnb4sh/tSS743AIinURt+jqoKM > MKxPf6cQn6r+fsvRNN+N5By9AIGco9t61SUqIcNzrdGRNwoaMOzc/4DfMYhPs6JT > qyP3sJ0/LlJA7nhLSWmRNbkC2aJuYT4WCBTdEyNbs9lkv4CO8OOska8Y5YINgvpl > FbwnyTABZzMdYuBIJevlB3RKPMTsn+ceFDfqcrDC7YzeVVWaZhhzV5wosjHenck= > =bl73 > -----END PGP SIGNATURE----- > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 18 08:27:46 2020 From: notifications at github.com (dcstes) Date: Fri, 18 Sep 2020 01:27:46 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) In-Reply-To: References: Message-ID: I'm closing this pull request. For me this "configure" change works. It's simply: PKG_CHECK_MODULES(UNICODE_PLUGIN,[glib-2.0 pangocairo],,AC_PLUGIN_DISABLE) the "PKG_CHECK_MODULES" macro checks whether glib-2.0 and pangocairo are installed VIA the pkg-config tool. My understanding is that GTK uses pkg-config exactly for this purpose. But it's true that any change to 'configure' has some risk associated to it (it may break things on some other platforms). Because I have a workaround, I'm closing the request. I'll just open a request to document in the README that we have discussed the issue, so that somebody who stumbles upon the same issue in the future, knows about it. It's seems likely that this issue will come up again - on different platforms. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520#issuecomment-694732730 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 18 08:27:46 2020 From: notifications at github.com (dcstes) Date: Fri, 18 Sep 2020 01:27:46 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) In-Reply-To: References: Message-ID: I'm closing this pull request. For me this "configure" change works. It's simply: PKG_CHECK_MODULES(UNICODE_PLUGIN,[glib-2.0 pangocairo],,AC_PLUGIN_DISABLE) the "PKG_CHECK_MODULES" macro checks whether glib-2.0 and pangocairo are installed VIA the pkg-config tool. My understanding is that GTK uses pkg-config exactly for this purpose. But it's true that any change to 'configure' has some risk associated to it (it may break things on some other platforms). Because I have a workaround, I'm closing the request. I'll just open a request to document in the README that we have discussed the issue, so that somebody who stumbles upon the same issue in the future, knows about it. It's seems likely that this issue will come up again - on different platforms. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520#issuecomment-694732734 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 18 08:27:57 2020 From: notifications at github.com (dcstes) Date: Fri, 18 Sep 2020 01:27:57 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) In-Reply-To: References: Message-ID: I'm closing this pull request. For me this "configure" change works. It's simply: PKG_CHECK_MODULES(UNICODE_PLUGIN,[glib-2.0 pangocairo],,AC_PLUGIN_DISABLE) the "PKG_CHECK_MODULES" macro checks whether glib-2.0 and pangocairo are installed VIA the pkg-config tool. My understanding is that GTK uses pkg-config exactly for this purpose. But it's true that any change to 'configure' has some risk associated to it (it may break things on some other platforms). Because I have a workaround, I'm closing the request. I'll just open a request to document in the README that we have discussed the issue, so that somebody who stumbles upon the same issue in the future, knows about it. It's seems likely that this issue will come up again - on different platforms. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520#issuecomment-694732825 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 18 08:27:57 2020 From: notifications at github.com (dcstes) Date: Fri, 18 Sep 2020 01:27:57 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) In-Reply-To: References: Message-ID: I'm closing this pull request. For me this "configure" change works. It's simply: PKG_CHECK_MODULES(UNICODE_PLUGIN,[glib-2.0 pangocairo],,AC_PLUGIN_DISABLE) the "PKG_CHECK_MODULES" macro checks whether glib-2.0 and pangocairo are installed VIA the pkg-config tool. My understanding is that GTK uses pkg-config exactly for this purpose. But it's true that any change to 'configure' has some risk associated to it (it may break things on some other platforms). Because I have a workaround, I'm closing the request. I'll just open a request to document in the README that we have discussed the issue, so that somebody who stumbles upon the same issue in the future, knows about it. It's seems likely that this issue will come up again - on different platforms. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520#issuecomment-694732822 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 18 08:28:01 2020 From: notifications at github.com (dcstes) Date: Fri, 18 Sep 2020 01:28:01 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) In-Reply-To: References: Message-ID: I'm closing this pull request. For me this "configure" change works. It's simply: PKG_CHECK_MODULES(UNICODE_PLUGIN,[glib-2.0 pangocairo],,AC_PLUGIN_DISABLE) the "PKG_CHECK_MODULES" macro checks whether glib-2.0 and pangocairo are installed VIA the pkg-config tool. My understanding is that GTK uses pkg-config exactly for this purpose. But it's true that any change to 'configure' has some risk associated to it (it may break things on some other platforms). Because I have a workaround, I'm closing the request. I'll just open a request to document in the README that we have discussed the issue, so that somebody who stumbles upon the same issue in the future, knows about it. It's seems likely that this issue will come up again - on different platforms. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520#issuecomment-694732841 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 18 08:29:10 2020 From: notifications at github.com (dcstes) Date: Fri, 18 Sep 2020 01:29:10 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) In-Reply-To: References: Message-ID: Sorry for multiple messages, when I click "Close with comment" Github does not seems to close my pull request. It's ok to close it anyway, sorry for the multiple messages. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520#issuecomment-694733395 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 18 08:32:47 2020 From: notifications at github.com (Tobias Pape) Date: Fri, 18 Sep 2020 01:32:47 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) In-Reply-To: References: Message-ID: > Sorry for multiple messages, when I click "Close with comment" Github does not seems to close my pull request. It's ok to close it anyway, sorry for the multiple messages. No worries. In any case, thanks for your efforts! -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520#issuecomment-694735013 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 18 08:32:51 2020 From: notifications at github.com (Tobias Pape) Date: Fri, 18 Sep 2020 01:32:51 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure change: use pkg-config (PKG_CONFIG) (#520) In-Reply-To: References: Message-ID: Closed #520. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/520#event-3781536268 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 18 08:40:33 2020 From: notifications at github.com (dcstes) Date: Fri, 18 Sep 2020 01:40:33 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] UnicodePlugin: update README on pkg-config (#521) Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Add a note on PKG_CHECK_MODULES(UNICODE_PLUGIN,[glib-2.0 pangocairo],,AC_PLUGIN_DISABLE) which is not being done (not a big problem). David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfZHJSAAoJEAwpOKXMq1MaFKoIAKji3d4ct41M0xoa2mbyDzXO FdDfugNZ3yms/sTYGiFh4t+dbN+oD/C8SaQOGdS2CxskEvx4WXF39nkqj/VJK4BW lGuaZakRaaWitpu0x1vN7roF/Z3BOcPgOypB6IyZfFX8p6S6nhGKObgp3b1wZ5Yq I1vnj/b+c84j4Sl5rcrE2ooHMxtrknmnChVrpgtI55gBr4DhyCBy0E7swGa5D4bU pvo+0hKDaK4Rw3Vuk2gvRS+KipIfm7dgnV+BA4SWn9UVcBJFxWK8p6GoNhjrMO95 P25AGbHOnCNZpT6oaZEEyxs7I9joWoHNLmONzT2ID/te4GbQQwgfZ4HR5rHL4k0= =olhS -----END PGP SIGNATURE----- You can view, comment on, or merge this pull request online at: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/521 -- Commit Summary -- * UnicodePlugin: update README on pkg-config -- File Changes -- M platforms/unix/plugins/UnicodePlugin/README.UnicodePlugin (26) -- Patch Links -- https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/521.patch https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/521.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/521 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Sep 18 09:13:20 2020 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 18 Sep 2020 09:13:20 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2191 Message-ID: <20200918091320.1.60A144D66A2657A1@appveyor.com> An HTML attachment was scrubbed... URL: From stes at telenet.be Fri Sep 18 10:47:58 2020 From: stes at telenet.be (stes@PANDORA.BE) Date: Fri, 18 Sep 2020 12:47:58 +0200 (CEST) Subject: [Vm-dev] __builtin_extract_return_addr In-Reply-To: References: <2129003910.174927022.1600361908942.JavaMail.zimbra@telenet.be> Message-ID: <1571232044.177998800.1600426078425.JavaMail.zimbra@telenet.be> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 I don't know whether the following comment makes sense, but shouldn't this code be in: cogitX64SysV.c or cogitIA32.c in the directory spur64src/vm/ and spursrc/vm ? Basically it seems cointerp.c in spur64src/vm/cointerp.c is using getReturnAddress() And this is ABI specific so should be in spur64src/vm/cogitX64SysV.c ?? (or cogitIA32.c?) right ? Anyway I tried your code (it is after all your choice), even if I don't quite like the idea of the assembly language inline. The code seems to compile and work for i386 (the easy case I think, since my understanding is the IA32 ABI makes this easier). I can open the Cog VM and run Squeak6.0alpha-19547-32bit.zip (image 32bit). However the X64 case is harder. That did not compile at first. It's been a long time that I've looked at assembly language, but the movl instruction is probably not the right one for %rax. I changed it to "movq" instead of "movl" and that seems to work. So good news is that with your suggested code, it works for 32bit and 64bit again on Solaris 11.4 . I say again because COG was already working on Solaris 11.4 until you made the change for the getReturnAddress. I tried on 64bit on Solaris 11.4 with Squeak6.0alpha-19793-64bit.image. David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfZJAqAAoJEAwpOKXMq1Ma6nwH/jBal5veROR/lCBuZEZWkxuw mIQEO5pPeQX1Tndp9mBW982Bv7HWRguo11q51CIiwsFqK44zO/WolAhPqcpnOE13 W9buvj6ql73CzxuittmoqBx4IedbWHjWzfIYjLFjG0+E9l6BGOW+FygQkyJ4OS8o UW2qpilIndSL0ZNeiM7ph0Xcq/nVl0RDeH93ZCb6TGjNgm7YZfHTTGcGIk6dp0YF GpliX+nOACFFGfbhvRhhhYlQxo6RO50mdNtTfbQfc/kL4O3jQ+6J57+10puKCC4Z wl2qsd24tW06Lb1hbKGzXGG3mKE1VtYuHc2mYOlKY4qO0gNcERTPAZz3icwZl4U= =2Xay -----END PGP SIGNATURE----- ----- Op 18 sep 2020 om 6:20 schreef Eliot Miranda eliot.miranda at gmail.com: > Hi David, > > On Thu, Sep 17, 2020 at 9:58 AM stes at PANDORA.BE wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA256 >> >> >> Hi, >> >> Originally when I compiled on Solaris, I had both the "Cog" and "Stack" VM >> working. >> >> Unfortunately there was a change in april which breaks the "Cog" build. >> >> The "Stack" build continues to work fine for me. >> >> Since early april there is in the following file the following definition : >> >> platforms/Cross/vm/sq.h >> >> # define getReturnAddress() >> __builtin_extract_return_addr(__builtin_return_address(0)) >> >> Eliot Miranda wrote in the thread: >> >> http://forum.world.st/Broken-5-3-downloads-need-fixing-td5115132.html >> >> "Things are pretty stable. There was one major change to how the VM moves >> from machine code into the interpreter, replacing a setjmp/longjmp pair >> with a much lighter-weight "jump-call with substituted return address". But >> this "just works". We're able to perform experments without disturbinf=g >> trunk. SO for example, adding makefiles to allow building of the VM under >> clang-cl.exe on Windows was done without affecting the other builds at all." >> >> Is there a compiler flag (#define) to re-enable the old code with >> setjmp/longjmp ? >> >> Or is there code in the 'platforms/Cross/vm/sqCog*' files >> that could help to implement the required function for 'return address', >> if that is not provided by the compiler ... ? >> >> I am hoping to re-enable the old setjmp/longjmp code. >> >> Also note that this may be useful for other users as well, >> to be able to 'revert' to the legacy old code. >> > > Nah, it's trivial to implement. The new scheme is much cheaper and hence > faster than setjmp/longjmp. So I'd much rather spread it further than > support two versions. The compiler supports gcc's inline extended > assembler right? In a normal frame on x86/x86_64 the frame pointer points > to the word below the return address, so would look like this: > > #if __GNUC__ || __clang__ > # if defined(_X86_) || defined(i386) || defined(__i386) || defined(__i386__) > # define getretaddr() ({ register usqIntptr_t retpc; \ > asm volatile ("movl 4(%%ebp),%0" : "=r"(retpc) : ); \ > retpc; }) > # elif defined(x86_64) || defined(__x86_64) || defined(__x86_64__) || > defined(__amd64) || defined(__amd64__) || defined(x64) || defined(_M_AMD64) >|| defined(_M_X64) || defined(_M_IA64) > # define getretaddr() ({ register usqIntptr_t retpc; \ > asm volatile ("movl 8(%%rbp),%0" : "=r"(retpc) : ); \ > retpc; }) > #endif > > To make this convenient we need to decide whether to put it in > sqPlatformSpecific.h (easy) or to perhaps > rename platforms/Cross/vm/sqCogStackAlignment.h > to platforms/Cross/vm/sqCogStackAccess.h and put it there. That feels > better than putting it in sq.h. But in any case can you try adding the > above definitions to the relevant sqPlatformSpecific.h? > > > >> Regards, >> David Stes >> >> -----BEGIN PGP SIGNATURE----- >> Version: GnuPG v2 >> >> iQEcBAEBCAAGBQJfY5VfAAoJEAwpOKXMq1Ma9y8H/15hLjTf3aMfdFaPH1aoXNRK >> T61XZtbrOuykLH4IqLZpr85bQgtqdAdZqZ4tYtl8H00B4opoKZ+CVfruCDUoQEIJ >> uUYpJ9R8bp60DqQ147VakZaBzl7P9z2yn9mq6BGnb4sh/tSS743AIinURt+jqoKM >> MKxPf6cQn6r+fsvRNN+N5By9AIGco9t61SUqIcNzrdGRNwoaMOzc/4DfMYhPs6JT >> qyP3sJ0/LlJA7nhLSWmRNbkC2aJuYT4WCBTdEyNbs9lkv4CO8OOska8Y5YINgvpl >> FbwnyTABZzMdYuBIJevlB3RKPMTsn+ceFDfqcrDC7YzeVVWaZhhzV5wosjHenck= >> =bl73 >> -----END PGP SIGNATURE----- >> > > > -- > _,,,^..^,,,_ > best, Eliot From notifications at github.com Fri Sep 18 10:51:04 2020 From: notifications at github.com (dcstes) Date: Fri, 18 Sep 2020 03:51:04 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] SunPro change: define getReturnAddress X64 and i386 (#522) Message-ID: You can view, comment on, or merge this pull request online at: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/522 -- Commit Summary -- * SunPro change: define getReturnAddress X64 and i386 -- File Changes -- M platforms/unix/vm/sqPlatformSpecific.h (18) -- Patch Links -- https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/522.patch https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/522.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/522 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 18 10:54:13 2020 From: notifications at github.com (dcstes) Date: Fri, 18 Sep 2020 03:54:13 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] SunPro change: define getReturnAddress X64 and i386 (#522) In-Reply-To: References: Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Issue on Solaris with: platforms/Cross/vm/sq.h getReturnAddress not defined for the SunPro C compiler. Following code posted by Eliot Miranda http://forum.world.st/builtin-extract-return-addr-td5122085.html Suggested modification to platforms/unix/vm/sqPlatformSpecific.h David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfZJGzAAoJEAwpOKXMq1MaPt0H/3PLFOQQMeyj/pCEoIVLVZHl Ry1CjUX1KNUGrhKX6gaTNQWcT7daf+X7Rpg0Ugf6SP3ArxG9mfVKM1KnG4B8Y/eV gjlZUgjoZ/JPoFtiYAWGh2yKyHRe/+ZR7lMiZfO7IRGt2+JvuF9rs1hZDFMQ/OzC /iyqcrDa4rEJF5vtWEozix5G9Xx7QOjlkzSi0tr3D1AhIww5U6P0X/JV5rJGbl6C uvMS6clM6X+LMjq63vyHCrnDMm2yXfr7kqZNwM5a+FMMQG+mpbeHeTg8dPFYqOJd hR6/e3kTMtzJFFGBNdYQptNAhkT6aBPhe4OZvNhYqXn4jLUdEJMogiD4fLARwsw= =/oDq -----END PGP SIGNATURE----- -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/522#issuecomment-694800099 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Sep 18 11:22:55 2020 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 18 Sep 2020 11:22:55 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2192 Message-ID: <20200918112255.1.D8830884F55E99F2@appveyor.com> An HTML attachment was scrubbed... URL: From commits at source.squeak.org Fri Sep 18 18:03:06 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Fri, 18 Sep 2020 18:03:06 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2808.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2808.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2808 Author: eem Time: 18 September 2020, 11:02:56.365321 am UUID: e663fef3-a7c8-40af-8ec6-6c2f52ae8a93 Ancestors: VMMaker.oscog-eem.2807 Slang, rename moduleExportsName to internalModuleName to better explain its function. =============== Diff against VMMaker.oscog-eem.2807 =============== Item was added: + ----- Method: InterpreterPlugin class>>internalModuleName (in category 'translation') ----- + internalModuleName + "Answer the name to include in receiver's internal plugin exports. + This is the value of the module: argument in named primitives. + By default answer the moduleName." + + ^self moduleName! Item was removed: - ----- Method: InterpreterPlugin class>>moduleExportsName (in category 'translation') ----- - moduleExportsName - "Answer the name to include in receiver's internal plugin exports. - This is the value of the module: argument in named primitives. - By default answer the moduleName." - - ^self moduleName! Item was added: + ----- Method: ThreadedFFIPlugin class>>internalModuleName (in category 'translation') ----- + internalModuleName + "To make the inclusion of the platform-specific plugin to work it can't use + its moduleName in the exports but must use the proper moduleName." + + ^ThreadedFFIPlugin moduleName! Item was removed: - ----- Method: ThreadedFFIPlugin class>>moduleExportsName (in category 'translation') ----- - moduleExportsName - "To make the inclusion of the platform-specific plugin to work it can't use - its moduleName in the exports but must use the proper moduleName." - - ^ThreadedFFIPlugin moduleName! Item was changed: ----- Method: VMPluginCodeGenerator>>emitExportsOn: (in category 'C code generator') ----- emitExportsOn: aStream "Store all the exported primitives in the form used by the internal named prim system." | nilVMClass | (nilVMClass := vmClass isNil) ifTrue: "We need a vmClass temporarily to compute accessor depths." [vmClass := StackInterpreter]. aStream cr; cr; nextPutAll:'#ifdef SQUEAK_BUILTIN_PLUGIN'. self emitExportsNamed: pluginClass moduleName + pluginName: pluginClass internalModuleName - pluginName: pluginClass moduleExportsName on: aStream. aStream cr; nextPutAll: '#else /* ifdef SQ_BUILTIN_PLUGIN */'; cr; cr. self emitAccessorDepthsOn: aStream. aStream cr; nextPutAll: '#endif /* ifdef SQ_BUILTIN_PLUGIN */'; cr. nilVMClass ifTrue: [vmClass := nil]! From commits at source.squeak.org Sat Sep 19 01:16:30 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sat, 19 Sep 2020 01:16:30 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2809.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2809.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2809 Author: eem Time: 18 September 2020, 6:16:21.81309 pm UUID: aec35081-c722-4000-9fbb-1794dd09041c Ancestors: VMMaker.oscog-eem.2808 Clarify some of the SoundPlgin primitives and generalize them for 16-bit and 32-bit containers. =============== Diff against VMMaker.oscog-eem.2808 =============== Item was added: + ----- Method: SoundPlugin>>frameCountOf: (in category 'support') ----- + frameCountOf: buf + "Answer the number of 16-bit sound sample pairs in buf, a pointer to the first indexable field of a sound buffer." + + ^(interpreterProxy byteSizeOf: buf cPtrAsOop) / ((self sizeof: #short) * 2)! Item was changed: ----- Method: SoundPlugin>>primitiveSoundInsertSamples:from:leadTime: (in category 'primitives') ----- primitiveSoundInsertSamples: frameCount from: buf leadTime: leadTime "Insert a buffer's worth of sound samples into the currently playing buffer. Used to make a sound start playing as quickly as possible. The new sound is mixed with the previously buffered sampled." "Details: Unlike primitiveSoundPlaySamples, this primitive always starts with the first sample the given sample buffer. Its third argument specifies the number of samples past the estimated sound output buffer position the inserted sound should start. If successful, it returns the number of samples inserted." + + "N.B. At least on Windows and MacOS Cocoa circa late 2020 this is unsupported. + snd_InsertSamplesFromLeadTime merely answers zero." | framesPlayed | self primitive: 'primitiveSoundInsertSamples' parameters: #(SmallInteger WordsOrShorts SmallInteger). + (self cCoerce: frameCount to: #usqInt) > (self frameCountOf: buf) ifTrue: - (self cCoerce: frameCount to: #usqInt) > (interpreterProxy slotSizeOf: buf cPtrAsOop) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. framesPlayed := self snd_InsertSamplesFromLeadTime: frameCount _: buf _: leadTime. framesPlayed >= 0 ifTrue: [interpreterProxy methodReturnInteger: framesPlayed] ifFalse: [interpreterProxy primitiveFail]! Item was changed: ----- Method: SoundPlugin>>primitiveSoundPlaySamples:from:startingAt: (in category 'primitives') ----- primitiveSoundPlaySamples: frameCount from: buf startingAt: startIndex + "Output a buffer's worth of stereo sound samples. The frameCount is the number of 16-bit sample pairs. + See e.g. platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m: + #define SqueakFrameSize 4 // guaranteed (see class SoundPlayer) + Of course there is no FrameSize in Squeak 5.x/6.x; sigh..." - "Output a buffer's worth of stereo sound samples." | framesPlayed | self primitive: 'primitiveSoundPlaySamples' parameters: #(SmallInteger WordsOrShorts SmallInteger). + (startIndex >= 1 + and: [startIndex + frameCount - 1 <= (self frameCountOf: buf)]) ifFalse: - (startIndex >= 1 and: [startIndex + frameCount - 1 <= (interpreterProxy slotSizeOf: buf cPtrAsOop)]) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. framesPlayed := self snd_PlaySamplesFromAtLength: frameCount _: buf _: startIndex - 1. framesPlayed >= 0 ifTrue: [interpreterProxy methodReturnInteger: framesPlayed] ifFalse: [interpreterProxy primitiveFail]! Item was changed: ----- Method: SoundPlugin>>primitiveSoundRecordSamplesInto:startingAt: (in category 'primitives') ----- primitiveSoundRecordSamplesInto: buf startingAt: startWordIndex + "Record a buffer's worth of (mono?) 16-bit sound samples." + | bufSizeInBytes samplesRecorded byteOffset | - "Record a buffer's worth of 16-bit sound samples." - | bufSizeInBytes samplesRecorded bufPtr byteOffset | self primitive: 'primitiveSoundRecordSamples' parameters: #(WordsOrShorts SmallInteger). + bufSizeInBytes := interpreterProxy byteSizeOf: buf cPtrAsOop. - bufSizeInBytes := (interpreterProxy slotSizeOf: buf cPtrAsOop) * 4. byteOffset := (startWordIndex - 1) * 2. (startWordIndex >= 1 and: [byteOffset < bufSizeInBytes]) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadIndex]. + samplesRecorded := self snd_RecordSamplesIntoAtLength: (self cCoerce: buf to: #'char *') + byteOffset + _: 0 + _: bufSizeInBytes - byteOffset. - bufPtr := (self cCoerce: buf to: #'char *') + byteOffset. - samplesRecorded := self snd_RecordSamplesIntoAtLength: bufPtr _: 0 _: bufSizeInBytes - byteOffset. interpreterProxy failed ifFalse: [^samplesRecorded asPositiveIntegerObj]! Item was added: + ----- Method: SoundPlugin>>sampleSizeOf: (in category 'support') ----- + sampleSizeOf: buf + "Answer the number of 16-bit sound samples in buf, a pointer to the first indexable field of a sound buffer." + + ^(interpreterProxy byteSizeOf: buf cPtrAsOop) / (self sizeof: #short)! From commits at source.squeak.org Sat Sep 19 01:27:54 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sat, 19 Sep 2020 01:27:54 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2810.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2810.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2810 Author: eem Time: 18 September 2020, 6:27:45.474771 pm UUID: bd514bb6-2d85-4d80-96d0-27a2a422579c Ancestors: VMMaker.oscog-eem.2809 Slang: Fix reporting of deep warnings within the VMMakerTool; we need a logger. SoundPlugin: eliminate the warning that caused the crash that the above is a fix to... =============== Diff against VMMaker.oscog-eem.2809 =============== Item was added: + ----- Method: CCodeGenerator>>getLogger (in category 'initialize-release') ----- + getLogger + logger := (ProvideAnswerNotification new tag: #logger; signal) ifNil: [Transcript]! Item was changed: ----- Method: CCodeGenerator>>initialize (in category 'initialize-release') ----- initialize translationDict := Dictionary new. inlineList := Array new. constants := Dictionary new: 100. variables := Set new: 100. variableDeclarations := Dictionary new: 100. methods := Dictionary new: 500. kernelReturnTypes := self computeKernelReturnTypes. macros := Dictionary new. self initializeCTranslationDictionary. headerFiles := OrderedCollection new. globalVariableUsage := Dictionary new. useSymbolicConstants := true. generateDeadCode := true. scopeStack := OrderedCollection new. + self getLogger. - logger := (ProvideAnswerNotification new tag: #logger; signal) ifNil: [Transcript]. pools := IdentitySet new. selectorTranslations := IdentityDictionary new. suppressAsmLabels := false. previousCommentMarksInlining := false. previousCommenter := nil. breakSrcInlineSelectors := IdentitySet new. breakDestInlineSelectors := IdentitySet new! Item was changed: ----- Method: SmartSyntaxPluginTMethod>>setSelector:definingClass:args:locals:block:primitive:properties:comment: (in category 'initialization') ----- setSelector: sel definingClass: class args: argList locals: localList block: aBlockNode primitive: aNumber properties: methodProperties comment: aComment "Initialize this method using the given information." selector := sel. definingClass := class. returnType := #sqInt. "assume return type is sqInt for now" args := argList asOrderedCollection collect: [:arg | arg key]. locals := (localList collect: [:arg | arg key]) asSet. declarations := Dictionary new. primitive := aNumber. properties := methodProperties. comment := aComment. parseTree := aBlockNode asRootTranslatorNodeIn: self. labels := Set new. complete := false. "set to true when all possible inlining has been done" export := self extractExportDirective. static := self extractStaticDirective. self extractSharedCase. isPrimitive := false. "set to true only if you find a primtive direction." + self recordDeclarationsIn: CCodeGenerator basicNew getLogger. "Just for conventionalTypeForType:" - self recordDeclarationsIn: CCodeGenerator basicNew. "Just for conventionalTypeForType:" self extractPrimitiveDirectives. ! Item was changed: ----- Method: SoundPlugin>>primitiveSoundRecordSamplesInto:startingAt: (in category 'primitives') ----- primitiveSoundRecordSamplesInto: buf startingAt: startWordIndex "Record a buffer's worth of (mono?) 16-bit sound samples." | bufSizeInBytes samplesRecorded byteOffset | - self primitive: 'primitiveSoundRecordSamples' parameters: #(WordsOrShorts SmallInteger). bufSizeInBytes := interpreterProxy byteSizeOf: buf cPtrAsOop. byteOffset := (startWordIndex - 1) * 2. (startWordIndex >= 1 and: [byteOffset < bufSizeInBytes]) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadIndex]. samplesRecorded := self snd_RecordSamplesIntoAtLength: (self cCoerce: buf to: #'char *') + byteOffset _: 0 _: bufSizeInBytes - byteOffset. interpreterProxy failed ifFalse: [^samplesRecorded asPositiveIntegerObj]! From noreply at github.com Sat Sep 19 01:31:40 2020 From: noreply at github.com (Eliot Miranda) Date: Fri, 18 Sep 2020 18:31:40 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 633029: CogVM source as per VMMaker.oscog-eem.2810 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 633029cce6ef035564442f268ed7dd424c1c1b1a https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/633029cce6ef035564442f268ed7dd424c1c1b1a Author: Eliot Miranda Date: 2020-09-18 (Fri, 18 Sep 2020) Changed paths: M src/plugins/SoundPlugin/SoundPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2810 Clarify some of the SoundPlgin primitives and generalize them for 16-bit and 32-bit containers. From no-reply at appveyor.com Sat Sep 19 02:08:59 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 19 Sep 2020 02:08:59 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2193 Message-ID: <20200919020859.1.F93B765C43ED5007@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Sep 19 02:46:35 2020 From: builds at travis-ci.org (Travis CI) Date: Sat, 19 Sep 2020 02:46:35 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2193 (Cog - 633029c) In-Reply-To: Message-ID: <5f65710b58355_13fef497b81941213bc@travis-tasks-648d6f54f4-9l2qx.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2193 Status: Still Failing Duration: 1 hr, 14 mins, and 37 secs Commit: 633029c (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2810 Clarify some of the SoundPlgin primitives and generalize them for 16-bit and 32-bit containers. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/1001b049c157...633029cce6ef View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/728491172?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Sat Sep 19 03:02:26 2020 From: notifications at github.com (Eliot Miranda) Date: Fri, 18 Sep 2020 20:02:26 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] SunPro change: define getReturnAddress X64 and i386 (#522) In-Reply-To: References: Message-ID: @eliotmiranda approved this pull request. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/522#pullrequestreview-491856343 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Sat Sep 19 03:02:40 2020 From: notifications at github.com (Eliot Miranda) Date: Fri, 18 Sep 2020 20:02:40 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] SunPro change: define getReturnAddress X64 and i386 (#522) In-Reply-To: References: Message-ID: Merged #522 into Cog. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/522#event-3784711230 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Sat Sep 19 03:02:39 2020 From: noreply at github.com (Eliot Miranda) Date: Fri, 18 Sep 2020 20:02:39 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 64195b: SunPro change: define getReturnAddress X64 and i386 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 64195b6fc079d8b57649b72610b10bfd7b9e7b35 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/64195b6fc079d8b57649b72610b10bfd7b9e7b35 Author: stes Date: 2020-09-18 (Fri, 18 Sep 2020) Changed paths: M platforms/unix/vm/sqPlatformSpecific.h Log Message: ----------- SunPro change: define getReturnAddress X64 and i386 Commit: 736d83e630aae992f7e3f3e0dbaa8b9f791376c4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/736d83e630aae992f7e3f3e0dbaa8b9f791376c4 Author: Eliot Miranda Date: 2020-09-18 (Fri, 18 Sep 2020) Changed paths: M platforms/unix/vm/sqPlatformSpecific.h Log Message: ----------- Merge pull request #522 from dcstes/getreturnaddr SunPro change: define getReturnAddress X64 and i386 Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/633029cce6ef...736d83e630aa From noreply at github.com Sat Sep 19 03:21:22 2020 From: noreply at github.com (Eliot Miranda) Date: Fri, 18 Sep 2020 20:21:22 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] cc5af9: Move getReturnAddress into sqCogStackAlignment.h w... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: cc5af9ca2899a0f795347545fd17319d3898f84e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cc5af9ca2899a0f795347545fd17319d3898f84e Author: Eliot Miranda Date: 2020-09-18 (Fri, 18 Sep 2020) Changed paths: M platforms/Cross/vm/sq.h M platforms/Cross/vm/sqCogStackAlignment.h Log Message: ----------- Move getReturnAddress into sqCogStackAlignment.h where it belongs. It had no business being in sq.h. Mea culpa. Thanks to David Stes for verifying the OpenSolaris code, and putting up with a broken build. From no-reply at appveyor.com Sat Sep 19 03:37:36 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 19 Sep 2020 03:37:36 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2194 Message-ID: <20200919033736.1.61819D9125CBBA83@appveyor.com> An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Sep 19 04:12:02 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 19 Sep 2020 04:12:02 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2195 Message-ID: <20200919041202.1.EDC768F53AF93B4D@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Sep 19 04:16:30 2020 From: builds at travis-ci.org (Travis CI) Date: Sat, 19 Sep 2020 04:16:30 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2194 (Cog - 736d83e) In-Reply-To: Message-ID: <5f65861e6f91b_13fef497c8fa815296c@travis-tasks-648d6f54f4-9l2qx.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2194 Status: Still Failing Duration: 1 hr, 13 mins, and 30 secs Commit: 736d83e (Cog) Author: Eliot Miranda Message: Merge pull request #522 from dcstes/getreturnaddr SunPro change: define getReturnAddress X64 and i386 View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/633029cce6ef...736d83e630aa View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/728501876?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Sep 19 05:16:05 2020 From: builds at travis-ci.org (Travis CI) Date: Sat, 19 Sep 2020 05:16:05 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2195 (Cog - cc5af9c) In-Reply-To: Message-ID: <5f659414a0b8d_13fce328d9fc42496b@travis-tasks-6598bbb597-hmvw8.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2195 Status: Still Failing Duration: 1 hr, 54 mins, and 21 secs Commit: cc5af9c (Cog) Author: Eliot Miranda Message: Move getReturnAddress into sqCogStackAlignment.h where it belongs. It had no business being in sq.h. Mea culpa. Thanks to David Stes for verifying the OpenSolaris code, and putting up with a broken build. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/736d83e630aa...cc5af9ca2899 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/728503292?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.dickey at whidbey.com Sat Sep 19 14:33:32 2020 From: ken.dickey at whidbey.com (ken.dickey at whidbey.com) Date: Sat, 19 Sep 2020 07:33:32 -0700 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: <05e785e3430d4d7abffbb79358c4f4f0@student.hpi.uni-potsdam.de> References: <408e81bc38162cc26a2ffd67eaa5aca9@whidbey.com> <05e785e3430d4d7abffbb79358c4f4f0@student.hpi.uni-potsdam.de> Message-ID: <6bcf8988d89bac374fed80eceb3d7fbc@whidbey.com> Greetings all, I am cross posting to vm-dev because of wide potential interest, e.g. for Squeak/Cuis/Whatever.. on smartphones and touchscreen tablets. I would like to have a solution across X11, vm-display-fbdev, MacOS, Windose, et al. I think we need to approach from both ends of the problem: user gesture recognition and hardware driver/library availability. What the user sees, and what the VM sees and delivers. My thought is to start by looking at what convergence in thinking and APIs has already been done. A useful set of user gestures is captured in https://static.lukew.com/TouchGestureGuide.pdf One description of basic touch event properties is https://developer.mozilla.org/en-US/docs/Web/API/Touch For low level vm event input on Linux, I am looking at libevent, which is used by Wayland (successor to but useful within X11): https://wayland.freedesktop.org/libinput/doc/latest/index.html How gestures are recognized on Android: https://developer.android.com/training/gestures Recognized using libevent: https://github.com/bulletmark/libinput-gestures I am just getting oriented, but if we can largely agree on gesture usage in the UI and what gesture events the VM delivers, I suspect implementation convergence details will get worked out in as we experiment/prototype. My tummy is now full and I need to digest and think about this.. -KenD On 2020-09-19 00:16, Beckmann, Tom wrote: > Hi all, > > thank you Ken for bringing this up. > > I'll go ahead and share my thoughts thus far. Maybe you could check > with the respective APIs you use/know of, if this protocol appears > like something that would be compatible. > > VM Side > ----------- > > In [1] is the definition of a VM-side sqTouchEvent. When compared to > for example the Javascript/Browser API, we would not be able to > represent the touch area fields radiusX,radiusY,rotationAngle,force > [2] with this definition. > > I noticed that there is a sqComplexEvent [3] that appears to have been > used for touch events on the iPhone. While the constant for > EventTypeComplex is defined in my image, I see no code handling this > type of event. I'd be very curious to learn how the objectPointer was > handled on the image-side. This may also be an option for us to > support more properties such as the touch area. > > Looking at the properties provided by the iPhone API [4], I would > prefer to derive some of those on the image-side (e.g. > phase=stationary or tapCount). The current implementation in [5] seems > to also bundle all active touch points in each event (not quite sure > about this since it also assigns a single phase as the event type?); > I'd be more in favor of identifying ongoing touch sequences of one > finger via an identifier. On XInput2, the sequence field is a simple > integer that increments each time a finger is touching the screen > anew. > One more consideration for the info provided by the VM: the iPhone API > also provides info on the device type [6], which I think could be an > interesting addition, allowing us to react appropriately to stylus > input. This may also require us to then not only provide radius > information but also tilt angle of the pen. > > The properties I would currently see of interest to us: > 1. event type (EventTypeTouch) > 2. timestamp > 3. x coordinate > 4. y coordinate > 5. phase/touch type (begin,update,end,cancel) > 6. sequence (identifier for continuous events for the same finger > stroke) > 7. windowIndex (for host window plugin) > 8. radiusX > 9. radiusY > 10. rotationAngle ("Returns the angle (in degrees) that the ellipse > described by radiusX and radiusY must be rotated, clockwise, to most > accurately cover the area of contact between the user and the > surface." [2]) > 11. force > 12. tiltX > 13. tiltY > 14. deviceType (touch,pen) > > It could be considered to make the interpretation of fields 8 and 9 > depend on the deviceType and thus merge the radius and tilt fields. > In practice, field 6 would likely to turn into an objectPointer as for > the the ComplexEvent and bundle the fields>=8. > > Image Side > --------------- > I have not invested much thought on the image-side handling just yet. > The suggestion of mapping to multiple hands sounds sensible. I would > assume we would still call our touch events mouse events such that > existing handler code keeps working on a touch-only device? The touch > event classes could then also simply extend the existing mouse event > classes. > > An alternative could be to check for the implementation of > touchBegin:/Move:/End: methods on the receiving Morph, similar to > `Morph>>#wantsStep` but I would prefer not to. I think handling touch > and mouse for most purposes synonymous avoids a lot of confusion for > the user. I might be wrong though :) > > In terms of what would break with this implementation: I have on > various occasions written event handling code that remembers the > lastX/Y position of a mouseMove: event to for example paint a stroke. > This would no longer work with multiple hands sending interleaved > events to the same Morph. I suppose relying on MouseMoveEvent's > startPoint and endPoint could be a better pattern here. It will also > be interesting to see how our current keyboard focus system will be > able to cope. > > Looking forward to reading your thoughts! If you feel like this is > appropriate, please also include the squeak-dev list in your reply. > > Best, > Tom > > (please excuse that I linked to my fork each time, the only changes to > upstream are in the X11 event plugin and sq.h) > [1] > https://github.com/tom95/opensmalltalk-vm/blob/xi-experiment/platforms/Cross/vm/sq.h#L489 > [2] https://developer.mozilla.org/en-US/docs/Web/API/Touch > [3] > https://github.com/tom95/opensmalltalk-vm/blob/xi-experiment/platforms/Cross/vm/sq.h#L568 > [4] https://developer.apple.com/documentation/uikit/uitouch/phase > [5] > https://github.com/tom95/opensmalltalk-vm/blob/xi-experiment/platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication+events.m#L145 > [6] https://developer.apple.com/documentation/uikit/uitouch/touchtype > ________________________________________ > From: ken.dickey at whidbey.com > Sent: Monday, September 14, 2020 5:15:17 PM > To: Beckmann, Tom > Cc: Tonyg; Eliot Miranda; Ken.Dickey at whidbey.com > Subject: Touch/MultiTouch Events > > Tom, > > I noticed your recent post on "cellphone responds to touchscreen". > > Tony Garnock-Jones has been gotten vm-display-fbdev up on postmarketOS > (Alpine Linux) and I was wondering about getting up touch event > gestures > using libevdev. > > Early days, but perhaps we can share some thoughts about > InputSensor/EventSensor and gesture strategy? > > -KenD From eliot.miranda at gmail.com Sat Sep 19 15:40:44 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Sat, 19 Sep 2020 08:40:44 -0700 Subject: [Vm-dev] I just did a terrible thing :-) Message-ID: Hi Smalltalkers, I just made a Smalltalk := nil type blunder. I wrote: TVariableNode setName: (node selector = #maxVal ifTrue: ['MaxSmallInteger'] ifFalse: ['MinSmallInteger']) and suddenly parse tree printing didn't work and TVariableNode was called MaxSmallInteger :-) Once I wrote TVariableNode new setName: (node selector = #maxVal ifTrue: ['MaxSmallInteger'] ifFalse: ['MinSmallInteger']) normal service was resumed. Normally we don't shoot ourselves in the foot, but when we do we can sometimes repair the damage perfectly by evaluating TVariableNode setName: #TVariableNode ;-) _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Sat Sep 19 16:13:41 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sat, 19 Sep 2020 16:13:41 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2811.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2811.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2811 Author: eem Time: 19 September 2020, 9:13:31.325566 am UUID: fa96b358-e3c8-4591-8595-20003329c559 Ancestors: VMMaker.oscog-eem.2810 Slang: tweak translatedPrimitive generation so that - SmallInteger maxVal is translated correctly to MaxSmallInteger (etc) - methodReturnRecever and methodReturnInteger are used in preference to pop: and pop:;pushInteger:. =============== Diff against VMMaker.oscog-eem.2810 =============== Item was changed: ----- Method: TMethod>>fixUpReturns:postlog: (in category 'primitive compilation') ----- fixUpReturns: argCount postlog: postlog "Replace each return statement in this method with (a) the given postlog, (b) code to pop the receiver and the given number of arguments, and (c) code to push the integer result and return." + parseTree nodesDo: + [:node | | newStmts | + node isStmtList ifTrue: + [newStmts := OrderedCollection new: node statements size + 10. + node statements do: + [:stmt | + stmt isReturn + ifTrue: + [(stmt expression isSend and: [#primitiveFail = stmt expression selector]) + ifTrue: "failure return" + [newStmts + addLast: stmt expression; + addLast: (TReturnNode new setExpression: + (TVariableNode new setName: 'null'))] + ifFalse: "normal return" + [newStmts + addAll: postlog; + addLast: (TReturnNode new setExpression: + ((stmt expression isVariable and: [#('nil' 'null' 'self') includes: stmt expression name]) + ifTrue: + [TSendNode new + setSelector: #methodReturnReceiver + receiver: (TVariableNode new setName: self vmNameString) + arguments: #()] + ifFalse: + [TSendNode new + setSelector: #methodReturnInteger: + receiver: (TVariableNode new setName: self vmNameString) + arguments: {stmt expression}]))]] + ifFalse: + [newStmts addLast: stmt]]. + node setStatements: newStmts asArray]]! - | newStmts | - parseTree nodesDo: [:node | - node isStmtList ifTrue: [ - newStmts := OrderedCollection new: 100. - node statements do: [:stmt | - stmt isReturn - ifTrue: [ - (stmt expression isSend and: - ['primitiveFail' = stmt expression selector]) - ifTrue: [ "failure return" - newStmts addLast: stmt expression. - newStmts addLast: (TReturnNode new - setExpression: (TVariableNode new setName: 'null'))] - ifFalse: [ "normal return" - newStmts addAll: postlog. - newStmts addAll: (self popArgsExpr: argCount + 1). - newStmts addLast: (TSendNode new - setSelector: #pushInteger: - receiver: (TVariableNode new setName: self vmNameString) - arguments: (Array with: stmt expression)). - newStmts addLast: (TReturnNode new - setExpression: (TVariableNode new setName: 'null'))]] - ifFalse: [ - newStmts addLast: stmt]]. - node setStatements: newStmts asArray]]. - ! Item was changed: ----- Method: TMethod>>mapSendsFromSelfToInterpreterProxy: (in category 'transformations') ----- mapSendsFromSelfToInterpreterProxy: selectors + | interpreterProxyNode replacements | - | interpreterProxyNode | interpreterProxyNode := TVariableNode new setName: 'interpreterProxy'. + replacements := Dictionary new. parseTree nodesDo: [:node| (node isSend + and: [node receiver isVariable + and: [selectors includes: node selector]]) ifTrue: + [node receiver name = 'self' ifTrue: + [node receiver: interpreterProxyNode]. + node receiver name = 'SmallInteger' ifTrue: + [replacements + at: node + put: (TVariableNode new setName: + (node selector = #maxVal + ifTrue: ['MaxSmallInteger'] + ifFalse: ['MinSmallInteger']))]]]. + replacements notEmpty ifTrue: + [parseTree replaceNodesIn: replacements]! - and: [node receiver isVariable - and: [node receiver name = 'self' - and: [selectors includes: node selector]]]) ifTrue: - [node receiver: interpreterProxyNode]]! Item was changed: ----- Method: TMethod>>popArgsExpr: (in category 'primitive compilation') ----- popArgsExpr: argCount + "Answer the parse tree for an expression that pops the given number of arguments from the stack." - "Return the parse tree for an expression that pops the given number of arguments from the stack." + ^self statementsFor: '^', self vmNameString, ' ', #methodReturnReceiver varName: ''! - | expr | - expr := '', self vmNameString, ' pop: ', argCount printString. - ^ self statementsFor: expr varName: '' - ! Item was changed: ----- Method: VMPluginCodeGenerator>>prepareTranslatedPrimitives (in category 'C code generator') ----- prepareTranslatedPrimitives "Translated primitives need their prolog and epilog adding and all sends to self that should be sends to interpreterproxy changing." methods do: [:meth| meth primitive > 0 ifTrue: [meth preparePrimitivePrologue; + mapSendsFromSelfToInterpreterProxy: InterpreterProxy selectors, #(maxVal minVal)]]! - mapSendsFromSelfToInterpreterProxy: InterpreterProxy selectors]]! From noreply at github.com Sat Sep 19 16:17:39 2020 From: noreply at github.com (Eliot Miranda) Date: Sat, 19 Sep 2020 09:17:39 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] d1b36a: CogVM source as per Sound-eem.74/VMMaker.oscog-eem... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: d1b36a974f45c623eade406b832f3d18fae276f8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d1b36a974f45c623eade406b832f3d18fae276f8 Author: Eliot Miranda Date: 2020-09-19 (Sat, 19 Sep 2020) Changed paths: M src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c Log Message: ----------- CogVM source as per Sound-eem.74/VMMaker.oscog-eem.2811 Add a 64-bit specific, integer-overflow agnostic version of mixSampleCount:into:startingAt:leftVol:rightVol:, for creating a simpler inline primitive in the 64-bit VM. Slang: tweak translatedPrimitive generation so that - SmallInteger maxVal is translated correctly to MaxSmallInteger (etc) - methodReturnRecever and methodReturnInteger are used in preference to pop: and pop:;pushInteger:. From no-reply at appveyor.com Sat Sep 19 16:22:52 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 19 Sep 2020 16:22:52 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2196 Message-ID: <20200919162252.1.5782B1982F64AB96@appveyor.com> An HTML attachment was scrubbed... URL: From nicolas.cellier.aka.nice at gmail.com Sat Sep 19 16:26:48 2020 From: nicolas.cellier.aka.nice at gmail.com (Nicolas Cellier) Date: Sat, 19 Sep 2020 18:26:48 +0200 Subject: [Vm-dev] I just did a terrible thing :-) In-Reply-To: References: Message-ID: If we want to avoid heart disease we can also use better constructors like TVariableNode named: ... ;) Le sam. 19 sept. 2020 à 17:41, Eliot Miranda a écrit : > > Hi Smalltalkers, > > I just made a Smalltalk := nil type blunder. I wrote: > > TVariableNode setName: > (node selector = #maxVal > ifTrue: ['MaxSmallInteger'] > ifFalse: ['MinSmallInteger']) > > and suddenly parse tree printing didn't work and TVariableNode was called > MaxSmallInteger :-) > > Once I wrote > > TVariableNode new setName: > (node selector = #maxVal > ifTrue: ['MaxSmallInteger'] > ifFalse: ['MinSmallInteger']) > > normal service was resumed. Normally we don't shoot ourselves in the > foot, but when we do we can sometimes repair the damage perfectly by > evaluating TVariableNode setName: #TVariableNode ;-) > _,,,^..^,,,_ > best, Eliot > -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Sep 19 17:31:35 2020 From: builds at travis-ci.org (Travis CI) Date: Sat, 19 Sep 2020 17:31:35 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2196 (Cog - d1b36a9) In-Reply-To: Message-ID: <5f664076ae3ed_13fcac3acd4d8129310@travis-tasks-86847b5d8c-6k6jm.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2196 Status: Still Failing Duration: 1 hr, 13 mins, and 33 secs Commit: d1b36a9 (Cog) Author: Eliot Miranda Message: CogVM source as per Sound-eem.74/VMMaker.oscog-eem.2811 Add a 64-bit specific, integer-overflow agnostic version of mixSampleCount:into:startingAt:leftVol:rightVol:, for creating a simpler inline primitive in the 64-bit VM. Slang: tweak translatedPrimitive generation so that - SmallInteger maxVal is translated correctly to MaxSmallInteger (etc) - methodReturnRecever and methodReturnInteger are used in preference to pop: and pop:;pushInteger:. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/cc5af9ca2899...d1b36a974f45 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/728598938?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rowledge.org Sat Sep 19 17:40:11 2020 From: tim at rowledge.org (tim Rowledge) Date: Sat, 19 Sep 2020 10:40:11 -0700 Subject: [Vm-dev] I just did a terrible thing :-) In-Reply-To: References: Message-ID: > On 2020-09-19, at 8:40 AM, Eliot Miranda wrote: > > Hi Smalltalkers, > > I just made a Smalltalk := nil type blunder. I wrote: > > TVariableNode setName: > (node selector = #maxVal > ifTrue: ['MaxSmallInteger'] > ifFalse: ['MinSmallInteger']) > > and suddenly parse tree printing didn't work and TVariableNode was called MaxSmallInteger :-) This is just one of the reasons I'd really like properly done private methods; if the Class>setName: method were private you wouldn't have been able to do this. And a lot of other people (ie almost certainly absolutely every person the ever wrote any Smalltalk) wouldn't make a whole raft of mistakes. I'm not sure we could do it without breaking so much code that we exploded our brains. Sigh. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Strange OpCodes: UDF: Use Disk for Frisbee From Das.Linux at gmx.de Sat Sep 19 18:06:20 2020 From: Das.Linux at gmx.de (Tobias Pape) Date: Sat, 19 Sep 2020 20:06:20 +0200 Subject: [Vm-dev] I just did a terrible thing :-) In-Reply-To: References: Message-ID: <0CAB273C-0320-46B7-B253-371677C1C811@gmx.de> > On 19.09.2020, at 19:40, tim Rowledge wrote: > > > > >> On 2020-09-19, at 8:40 AM, Eliot Miranda wrote: >> >> Hi Smalltalkers, >> >> I just made a Smalltalk := nil type blunder. I wrote: >> >> TVariableNode setName: >> (node selector = #maxVal >> ifTrue: ['MaxSmallInteger'] >> ifFalse: ['MinSmallInteger']) >> >> and suddenly parse tree printing didn't work and TVariableNode was called MaxSmallInteger :-) > > This is just one of the reasons I'd really like properly done private methods; if the Class>setName: method were private you wouldn't have been able to do this. And a lot of other people (ie almost certainly absolutely every person the ever wrote any Smalltalk) wouldn't make a whole raft of mistakes. > > I'm not sure we could do it without breaking so much code that we exploded our brains. Sigh The beauty is, tho, we can recover from these mistakes with the same tools we make them with. -t > > tim From pbpublist at gmail.com Sat Sep 19 18:16:42 2020 From: pbpublist at gmail.com (Phil B) Date: Sat, 19 Sep 2020 14:16:42 -0400 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: <6bcf8988d89bac374fed80eceb3d7fbc@whidbey.com> References: <408e81bc38162cc26a2ffd67eaa5aca9@whidbey.com> <05e785e3430d4d7abffbb79358c4f4f0@student.hpi.uni-potsdam.de> <6bcf8988d89bac374fed80eceb3d7fbc@whidbey.com> Message-ID: It would be appreciated if we didn't shoehorn touches the way some of the mouse events are (i.e. scroll wheel). At a low level, it would be nice to be able to access any and all touch event data (position, radius, pressure for each touch... if available. With in-screen fingerprint readers becoming more common, also consider a day when you'll know which finger (and possibly which user) is registering which touch) and treat them as touches rather than pseudo-mouse events. For example, when you lift your finger(s) from the screen, there is no valid current mouse position as far as touch is concerned. At a higher level, if it's a single touch it could be synthesized into a higher level click/select or move event... but for some applications you don't want them treated that way. I'm basically just asking that we don't 'cook' the touch events too much in the VM... pass a (somewhat abstracted, so it can be platform neutral) touch event along and let the image decide how to process it. On Sat, Sep 19, 2020 at 10:44 AM wrote: > > Greetings all, > > I am cross posting to vm-dev because of wide potential interest, e.g. > for Squeak/Cuis/Whatever.. on smartphones and touchscreen tablets. > > I would like to have a solution across X11, vm-display-fbdev, MacOS, > Windose, et al. > > I think we need to approach from both ends of the problem: user gesture > recognition and hardware driver/library availability. What the user > sees, and what the VM sees and delivers. > > My thought is to start by looking at what convergence in thinking and > APIs has already been done. > > A useful set of user gestures is captured in > https://static.lukew.com/TouchGestureGuide.pdf > > One description of basic touch event properties is > https://developer.mozilla.org/en-US/docs/Web/API/Touch > > For low level vm event input on Linux, I am looking at libevent, which > is used by Wayland (successor to but useful within X11): > https://wayland.freedesktop.org/libinput/doc/latest/index.html > > How gestures are recognized on Android: > https://developer.android.com/training/gestures > > Recognized using libevent: > https://github.com/bulletmark/libinput-gestures > > I am just getting oriented, but if we can largely agree on gesture usage > in the UI and what gesture events the VM delivers, I suspect > implementation convergence details will get worked out in as we > experiment/prototype. > > My tummy is now full and I need to digest and think about this.. > -KenD > > > On 2020-09-19 00:16, Beckmann, Tom wrote: > > Hi all, > > > > thank you Ken for bringing this up. > > > > I'll go ahead and share my thoughts thus far. Maybe you could check > > with the respective APIs you use/know of, if this protocol appears > > like something that would be compatible. > > > > VM Side > > ----------- > > > > In [1] is the definition of a VM-side sqTouchEvent. When compared to > > for example the Javascript/Browser API, we would not be able to > > represent the touch area fields radiusX,radiusY,rotationAngle,force > > [2] with this definition. > > > > I noticed that there is a sqComplexEvent [3] that appears to have been > > used for touch events on the iPhone. While the constant for > > EventTypeComplex is defined in my image, I see no code handling this > > type of event. I'd be very curious to learn how the objectPointer was > > handled on the image-side. This may also be an option for us to > > support more properties such as the touch area. > > > > Looking at the properties provided by the iPhone API [4], I would > > prefer to derive some of those on the image-side (e.g. > > phase=stationary or tapCount). The current implementation in [5] seems > > to also bundle all active touch points in each event (not quite sure > > about this since it also assigns a single phase as the event type?); > > I'd be more in favor of identifying ongoing touch sequences of one > > finger via an identifier. On XInput2, the sequence field is a simple > > integer that increments each time a finger is touching the screen > > anew. > > One more consideration for the info provided by the VM: the iPhone API > > also provides info on the device type [6], which I think could be an > > interesting addition, allowing us to react appropriately to stylus > > input. This may also require us to then not only provide radius > > information but also tilt angle of the pen. > > > > The properties I would currently see of interest to us: > > 1. event type (EventTypeTouch) > > 2. timestamp > > 3. x coordinate > > 4. y coordinate > > 5. phase/touch type (begin,update,end,cancel) > > 6. sequence (identifier for continuous events for the same finger > > stroke) > > 7. windowIndex (for host window plugin) > > 8. radiusX > > 9. radiusY > > 10. rotationAngle ("Returns the angle (in degrees) that the ellipse > > described by radiusX and radiusY must be rotated, clockwise, to most > > accurately cover the area of contact between the user and the > > surface." [2]) > > 11. force > > 12. tiltX > > 13. tiltY > > 14. deviceType (touch,pen) > > > > It could be considered to make the interpretation of fields 8 and 9 > > depend on the deviceType and thus merge the radius and tilt fields. > > In practice, field 6 would likely to turn into an objectPointer as for > > the the ComplexEvent and bundle the fields>=8. > > > > Image Side > > --------------- > > I have not invested much thought on the image-side handling just yet. > > The suggestion of mapping to multiple hands sounds sensible. I would > > assume we would still call our touch events mouse events such that > > existing handler code keeps working on a touch-only device? The touch > > event classes could then also simply extend the existing mouse event > > classes. > > > > An alternative could be to check for the implementation of > > touchBegin:/Move:/End: methods on the receiving Morph, similar to > > `Morph>>#wantsStep` but I would prefer not to. I think handling touch > > and mouse for most purposes synonymous avoids a lot of confusion for > > the user. I might be wrong though :) > > > > In terms of what would break with this implementation: I have on > > various occasions written event handling code that remembers the > > lastX/Y position of a mouseMove: event to for example paint a stroke. > > This would no longer work with multiple hands sending interleaved > > events to the same Morph. I suppose relying on MouseMoveEvent's > > startPoint and endPoint could be a better pattern here. It will also > > be interesting to see how our current keyboard focus system will be > > able to cope. > > > > Looking forward to reading your thoughts! If you feel like this is > > appropriate, please also include the squeak-dev list in your reply. > > > > Best, > > Tom > > > > (please excuse that I linked to my fork each time, the only changes to > > upstream are in the X11 event plugin and sq.h) > > [1] > > > https://github.com/tom95/opensmalltalk-vm/blob/xi-experiment/platforms/Cross/vm/sq.h#L489 > > [2] https://developer.mozilla.org/en-US/docs/Web/API/Touch > > [3] > > > https://github.com/tom95/opensmalltalk-vm/blob/xi-experiment/platforms/Cross/vm/sq.h#L568 > > [4] https://developer.apple.com/documentation/uikit/uitouch/phase > > [5] > > > https://github.com/tom95/opensmalltalk-vm/blob/xi-experiment/platforms/iOS/vm/iPhone/Classes/sqSqueakIPhoneApplication+events.m#L145 > > [6] https://developer.apple.com/documentation/uikit/uitouch/touchtype > > ________________________________________ > > From: ken.dickey at whidbey.com > > Sent: Monday, September 14, 2020 5:15:17 PM > > To: Beckmann, Tom > > Cc: Tonyg; Eliot Miranda; Ken.Dickey at whidbey.com > > Subject: Touch/MultiTouch Events > > > > Tom, > > > > I noticed your recent post on "cellphone responds to touchscreen". > > > > Tony Garnock-Jones has been gotten vm-display-fbdev up on postmarketOS > > (Alpine Linux) and I was wondering about getting up touch event > > gestures > > using libevdev. > > > > Early days, but perhaps we can share some thoughts about > > InputSensor/EventSensor and gesture strategy? > > > > -KenD > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.dickey at whidbey.com Sat Sep 19 19:26:20 2020 From: ken.dickey at whidbey.com (ken.dickey at whidbey.com) Date: Sat, 19 Sep 2020 12:26:20 -0700 Subject: [Vm-dev] The cooked and the raw [RE: Touch/MultiTouch Events] Message-ID: <0daada588589e0e78756101f0770e3e5@whidbey.com> My intuition is that some window systems will give cooked/composite gesture events, where with others we will need optional Smalltalk code or a plugin to recognize and compose gesture events. One thing that has bothered me for some time is the difficulty in explaining how users interact with input events and the amount of required cooperation agreed to between components. [E.g. drag 'n drop]. I think some of this is elegant ("I want her/him & she/he wants me") but what I am looking for is a way to express interest in pattern roles. I want to specify and recognize gesture patterns and object roles within each pattern. So match (composed) gesture to pattern within a sensitive area to get: open/close drag 'n drop (draggable=source, droppable=target; object-for-drag, object-for-drop) expand/collapse (maximize/minimize) grow/shrink (pinch, press+drag) rescale (out/in) rotate stretch/adjust reposition scroll (swipe) select (tap, double-tap, select+tap) The "same" gesture could map differently depending on the "sensitive area", e.g. open/close vs maximize/minimize; grow/shrink vs rescale vs stretch vs reposition. Sensitive areas could compose as with mouse sensitivity. Sensitivity & role(s) given to any morph. Redo pluggable buttons/menus/.. in new pattern. I know this is both a code and a cognitive change, but I think easier to explain = more comprehensible. I think it could be more compactly expressive. -KenD From tomjonabc at gmail.com Sat Sep 19 20:06:54 2020 From: tomjonabc at gmail.com (Tom Beckmann) Date: Sat, 19 Sep 2020 22:06:54 +0200 Subject: [Vm-dev] The cooked and the raw [RE: Touch/MultiTouch Events] In-Reply-To: <0daada588589e0e78756101f0770e3e5@whidbey.com> References: <0daada588589e0e78756101f0770e3e5@whidbey.com> Message-ID: Hi Ken, just commenting on the availability of gestures - do you know of any windowing systems that provide high level touch gestures? The systems I'm familiar with all defer this to a UI library. libinput, which you linked to in an earlier thread, also explains why they cannot, generally, provide high-level gestures on absolute touch devices [1]. They do provide gestures for touchpads, however. These could also be of interest, but I think that's a different event type altogether that should not mingle with touch events. Similarly, OS X appears to provide high-level gesture for touchpads/trackpads [2], but for their touchscreen APIs they appear to defer to UI libraries again [3] (these are just my takeaways from 5min of googling). Best, Tom [1] https://wayland.freedesktop.org/libinput/doc/latest/gestures.html#touchscreen-gestures [2] https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/EventOverview/HandlingTouchEvents/HandlingTouchEvents.html [3] https://developer.apple.com/documentation/uikit/touches_presses_and_gestures/handling_uikit_gestures On Sat, Sep 19, 2020 at 9:37 PM wrote: > > My intuition is that some window systems will give cooked/composite > gesture events, where with others we will need optional Smalltalk code > or a plugin to recognize and compose gesture events. > > One thing that has bothered me for some time is the difficulty in > explaining how users interact with input events and the amount of > required cooperation agreed to between components. [E.g. drag 'n drop]. > > I think some of this is elegant ("I want her/him & she/he wants me") but > what I am looking for is a way to express interest in pattern roles. > > I want to specify and recognize gesture patterns and object roles within > each pattern. > > So match (composed) gesture to pattern within a sensitive area to get: > open/close > drag 'n drop (draggable=source, droppable=target; object-for-drag, > object-for-drop) > expand/collapse (maximize/minimize) > grow/shrink (pinch, press+drag) > rescale (out/in) > rotate > stretch/adjust > reposition > scroll (swipe) > select (tap, double-tap, select+tap) > > The "same" gesture could map differently depending on the "sensitive > area", e.g. open/close vs maximize/minimize; grow/shrink vs rescale vs > stretch vs reposition. > > Sensitive areas could compose as with mouse sensitivity. Sensitivity & > role(s) given to any morph. > > Redo pluggable buttons/menus/.. in new pattern. > > I know this is both a code and a cognitive change, but I think easier to > explain = more comprehensible. I think it could be more compactly > expressive. > > -KenD > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbpublist at gmail.com Sat Sep 19 22:12:57 2020 From: pbpublist at gmail.com (Phil B) Date: Sat, 19 Sep 2020 18:12:57 -0400 Subject: [Vm-dev] The cooked and the raw [RE: Touch/MultiTouch Events] In-Reply-To: <0daada588589e0e78756101f0770e3e5@whidbey.com> References: <0daada588589e0e78756101f0770e3e5@whidbey.com> Message-ID: It's been a while, but when I was doing iOS and Android development, you typically got the raw events and sent them off to a handler depending on what you needed them to do. That's why I believe it should be in the image, not in the VM. It's all very context sensitive: whether a single finger dragging across the screen represents a swipe, scroll, drag or something else depends on context (not just events that came before and/or after the current event, but also the GUI object being manipulated, any interactions between GUI objects as well as the application using it/them) The VM simply doesn't have enough context to make an informed, or even reasonable, guess as to what a sequence of touch events mean at a higher level. The image does only in the sense that it has a set of use cases it anticipates for a limited set of widgets. For example, if I'm implementing a drawing application I may be very interested in the raw events to determine if the user is using a stylus or a finger (perhaps you want a stylus to represent a fine-tipped brush while the finger represents blobby finger painting etc. Does the user want multiple touches to represent higher level gestures or simply multiple simultaneous painting brushes? etc. etc.) The gestures in a drawing application are likely to be different, and more nuanced, than those for a general purpose GUI. Touch-based 3D apps are another example where you can pretty much throw out the rule book. Same with touch-based games. It may not even be specific to the application: let's say I wanted to have a transparent overlay cover the entire display that intercepts all touch events and, if the touch appears to be from a stylus (or some other means of relaying higher precision touches), route the events to a handwriting recognition system which then has to pass the recognized string to the widget underneath where the text was written. Yes, you can pretend that touches are mouse events with a handful of gestures... if you don't mind restricting yourself to very limited, lowest-common-denominator mobile UIs. I would agree that the image could and should provide some (optional) default behavior(s) to 'cook'/synthesize these events into higher level events that get passed to Morphs (or whatever other UI framework) that wants them. This would probably work very well for many use cases. Just implement it in such a way that it's easy to bypass / override so that at a widget/application/world/image level they can say 'no, just give me the raw events and I'll figure it out' or 'here, use my handler instead'. This also leaves the door open to someone else coming along and saying 'here's a better way to abstract this' without reinventing the (mouse)wheel with N buttons. Perhaps morphs could have a gestureHandler that, if present, takes care of things and optionally dispatches #swipeGestureEvent..., #dragGestureEvent... etc. for you. If a given morph doesn't provide a handler, use the default handler at the world level that deals with a majority of 'typical' use cases. Just thinking out loud. I can say from experience that trying to derive uncooked events (as I did for mouse wheel events in Cuis) is problematic both from an implementation and performance standpoint... and the code is ugly. Separating overcooked pasta is more fun. At the same time, dealing with raw events (as I tried for a period of time on Android before I wised up) for a 'typical' UI isn't normally the way you want to go either. So yes, you often want a handler to do this for you... but it needs to be easy to override/replace/bypass for when you hit the unusual use cases which are more common than you might imagine for touch. These aren't one-size-fits-all solutions... your application's need for cooked touch events may be very different from mine. To me, this screams 'do it in the image!' (optionally with a plugin for performance... down the road... maybe.[1]) [1] I think you're going to find that getting 64-bit ARM JIT support, some sort of process level multi-core support and taking advantage of the GPU are far more important if you want your image and application to feel like it's from this century on mobile devices. I've been trying to use Squeak/Cuis on mobile devices since the CogDroid days... it's not been a good experience due to these issues. (utilizing the GPU helps, but that alone often isn't sufficient) On Sat, Sep 19, 2020 at 3:37 PM wrote: > > My intuition is that some window systems will give cooked/composite > gesture events, where with others we will need optional Smalltalk code > or a plugin to recognize and compose gesture events. > > One thing that has bothered me for some time is the difficulty in > explaining how users interact with input events and the amount of > required cooperation agreed to between components. [E.g. drag 'n drop]. > > I think some of this is elegant ("I want her/him & she/he wants me") but > what I am looking for is a way to express interest in pattern roles. > > I want to specify and recognize gesture patterns and object roles within > each pattern. > > So match (composed) gesture to pattern within a sensitive area to get: > open/close > drag 'n drop (draggable=source, droppable=target; object-for-drag, > object-for-drop) > expand/collapse (maximize/minimize) > grow/shrink (pinch, press+drag) > rescale (out/in) > rotate > stretch/adjust > reposition > scroll (swipe) > select (tap, double-tap, select+tap) > > The "same" gesture could map differently depending on the "sensitive > area", e.g. open/close vs maximize/minimize; grow/shrink vs rescale vs > stretch vs reposition. > > Sensitive areas could compose as with mouse sensitivity. Sensitivity & > role(s) given to any morph. > > Redo pluggable buttons/menus/.. in new pattern. > > I know this is both a code and a cognitive change, but I think easier to > explain = more comprehensible. I think it could be more compactly > expressive. > > -KenD > -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Sun Sep 20 03:19:32 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Sat, 19 Sep 2020 20:19:32 -0700 Subject: [Vm-dev] I hate Windows... (off topic) Message-ID: <1BF1B858-FF14-43F6-A59A-869B4F58F799@gmail.com> I *hate* Windows. It is utterly contemptible. Why? Consider this perversity: $ file /c/Windows/SysWOW64/Open*.dll /c/Windows/SysWOW64/OpenAL32.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows /c/Windows/SysWOW64/OpenCL.dll: PE32 executable (DLL) (console) Intel 80386, for MS Windows $ file /c/Windows/System32/Open*.dll /c/Windows/System32/OpenAL32.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows /c/Windows/System32/OpenCL.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows That’s right, folks, *exactly* backwards. Thanks, Redmond. Keep up the good bork. _,,,^..^,,,_ (phone) From tim at rowledge.org Sun Sep 20 04:47:11 2020 From: tim at rowledge.org (tim Rowledge) Date: Sat, 19 Sep 2020 21:47:11 -0700 Subject: [Vm-dev] I hate Windows... (off topic) In-Reply-To: <1BF1B858-FF14-43F6-A59A-869B4F58F799@gmail.com> References: <1BF1B858-FF14-43F6-A59A-869B4F58F799@gmail.com> Message-ID: <41C07345-00FF-4E66-ADF1-F5B2DA9414FA@rowledge.org> > On 2020-09-19, at 8:19 PM, Eliot Miranda wrote: > > > I *hate* Windows. It is utterly contemptible. Why? Consider this perversity: Good grief. I mean. Good. Grief. That's up there with using the right moue button for menus instead of the middle one. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim A)bort, R)etry, P)ee in drive door From gettimothy at zoho.com Sun Sep 20 09:16:14 2020 From: gettimothy at zoho.com (gettimothy) Date: Sun, 20 Sep 2020 05:16:14 -0400 Subject: [Vm-dev] I hate Windows... (off topic) In-Reply-To: <1BF1B858-FF14-43F6-A59A-869B4F58F799@gmail.com> References: <1BF1B858-FF14-43F6-A59A-869B4F58F799@gmail.com> Message-ID: <174aaccad1a.fee8a84a54484.6771971179281155474@zoho.com> bork? that is Active Bork Professional! ---- On Sat, 19 Sep 2020 23:19:32 -0400 Eliot Miranda wrote ---- I *hate* Windows. It is utterly contemptible. Why? Consider this perversity: $ file /c/Windows/SysWOW64/Open*.dll /c/Windows/SysWOW64/OpenAL32.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows /c/Windows/SysWOW64/OpenCL.dll: PE32 executable (DLL) (console) Intel 80386, for MS Windows $ file /c/Windows/System32/Open*.dll /c/Windows/System32/OpenAL32.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows /c/Windows/System32/OpenCL.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows That’s right, folks, *exactly* backwards. Thanks, Redmond. Keep up the good bork. _,,,^..^,,,_ (phone) -------------- next part -------------- An HTML attachment was scrubbed... URL: From forums.jakob at resfarm.de Sun Sep 20 14:26:44 2020 From: forums.jakob at resfarm.de (Jakob Reschke) Date: Sun, 20 Sep 2020 16:26:44 +0200 Subject: [Vm-dev] I hate Windows... (off topic) In-Reply-To: <41C07345-00FF-4E66-ADF1-F5B2DA9414FA@rowledge.org> References: <1BF1B858-FF14-43F6-A59A-869B4F58F799@gmail.com> <41C07345-00FF-4E66-ADF1-F5B2DA9414FA@rowledge.org> Message-ID: Hi Eliot, It may look strange at first, but it makes sense if you know what WOW64 means: it is "Windows on Windows-64" and the folder contains the 32 bit libraries for the 32 bit emulation. https://en.wikipedia.org/wiki/WoW64 System32 has been called like this since the advent of Win32, starting with Windows 95 and NT. The API is as well still called Win32. The folder name stays most probably for compatibility reasons, or because there was no compelling reason to change it. https://stackoverflow.com/questions/949959/why-do-64-bit-dlls-go-to-system32-and-32-bit-dlls-to-syswow64-on-64-bit-windows/950011#950011 Also as the other answers note, an application should not deal with these directories, and especially not SysWOW64, anyway. Kind regards, Jakob Am So., 20. Sept. 2020 um 06:47 Uhr schrieb tim Rowledge : > > > > > > On 2020-09-19, at 8:19 PM, Eliot Miranda wrote: > > > > > > I *hate* Windows. It is utterly contemptible. Why? Consider this perversity: > > Good grief. I mean. Good. Grief. That's up there with using the right moue button for menus instead of the middle one. > > tim > -- > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim > A)bort, R)etry, P)ee in drive door > > From forums.jakob at resfarm.de Sun Sep 20 14:45:18 2020 From: forums.jakob at resfarm.de (Jakob Reschke) Date: Sun, 20 Sep 2020 16:45:18 +0200 Subject: [Vm-dev] I just did a terrible thing :-) In-Reply-To: References: Message-ID: Am Sa., 19. Sept. 2020 um 19:40 Uhr schrieb tim Rowledge : > > > On 2020-09-19, at 8:40 AM, Eliot Miranda wrote: > > > > Hi Smalltalkers, > > > > I just made a Smalltalk := nil type blunder. I wrote: > > > > TVariableNode setName: > > (node selector = #maxVal > > ifTrue: ['MaxSmallInteger'] > > ifFalse: ['MinSmallInteger']) > > > > and suddenly parse tree printing didn't work and TVariableNode was called MaxSmallInteger :-) > > This is just one of the reasons I'd really like properly done private methods; if the Class>setName: method were private you wouldn't have been able to do this. And a lot of other people (ie almost certainly absolutely every person the ever wrote any Smalltalk) wouldn't make a whole raft of mistakes. > ...or more value objects that are immutable. From ken.dickey at whidbey.com Sun Sep 20 15:15:30 2020 From: ken.dickey at whidbey.com (ken.dickey at whidbey.com) Date: Sun, 20 Sep 2020 08:15:30 -0700 Subject: [Vm-dev] The cooked and the raw [RE: Touch/MultiTouch Events] Message-ID: Thanks much for the additional input! As I noted, I am coming up from zero on this and have many references to digest. To clarify, my thought is to have raw inputs packaged by the vm and have St code which does gesture recognition with initial states based on screen areas (morphs), parses the events, giving dynamic user feedback (morph and finger/stylus tip highlighting, finger/stylus trails), and following the state machines to do the recognition. I would like declarative gesture-pattern descriptions and a way to discover roles and bind objects to them so that when a recognition event is complete, the corresponding method is invoked with the roles as receiver and arguments. At this point I am still "drawing on clouds", which is prior to the "cast in jello" stage. Given the gestures in common use, I would like a naming and compact recognition pattern akin to enumerators for collections. What view of this gives the simplest, most comprehensible explanations? Still reading and cogitating. Thanks much for references and clarifying thoughts! -KenD From eliot.miranda at gmail.com Sun Sep 20 15:27:48 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Sun, 20 Sep 2020 08:27:48 -0700 Subject: [Vm-dev] I just did a terrible thing :-) In-Reply-To: References: Message-ID: > On Sep 20, 2020, at 7:45 AM, Jakob Reschke wrote: > >  >> Am Sa., 19. Sept. 2020 um 19:40 Uhr schrieb tim Rowledge : >> >>>> On 2020-09-19, at 8:40 AM, Eliot Miranda wrote: >>> >>> Hi Smalltalkers, >>> >>> I just made a Smalltalk := nil type blunder. I wrote: >>> >>> TVariableNode setName: >>> (node selector = #maxVal >>> ifTrue: ['MaxSmallInteger'] >>> ifFalse: ['MinSmallInteger']) >>> >>> and suddenly parse tree printing didn't work and TVariableNode was called MaxSmallInteger :-) >> >> This is just one of the reasons I'd really like properly done private methods; if the Class>setName: method were private you wouldn't have been able to do this. And a lot of other people (ie almost certainly absolutely every person the ever wrote any Smalltalk) wouldn't make a whole raft of mistakes. >> > > ...or more value objects that are immutable. +1000. The next level of read-only was could indeed be classed and methods. Method dictionaries, subclasses arrays and method properties could still be mutable, but the class objects and method objects themselves should be read-only, and eg the class builder and the source/changes condensing code could be modified to make things mutable temporarily. Another nice thing to have is predictable identity hashes for symbols. If symbols set their identity hash on initialization, for example as the least 22 bits of their strin hash, then method dictionaries don’t need rehashing on deserialization. In VW we did this, changing the representation of method dictionaries to flat arrays of selector, method pairs, in symbol indentity hash order, using linear search for small dictionaries and binary search for larger. This saved a whopping 8% of the base image size, which would go some way to reclaim the 10% or so Spur increased it by by having all objects have at least one slot internally even if they’re empty. But the most significant thing we’re not doing right now is ephemerons, which will simplify file handling etc. I have a change set in my image and would love to spend more time on it but Terf is pla pressing priority (hence my sound work). If anyone is interested, reach out and I can give you the changes and maybe together we could make progress here. One of the first tasks in realizing EphemeronDictionary is tidying up adding associations to dictionaries (again see the VW code for this done right). Ours is a mess, and we don’t yet consistently use a pair of exceptions, one for key not found, (which can be used for sequential collection out of bounds too), and one for key already exists. From eliot.miranda at gmail.com Sun Sep 20 15:35:55 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Sun, 20 Sep 2020 08:35:55 -0700 Subject: [Vm-dev] I hate Windows... (off topic) In-Reply-To: References: Message-ID: <09F73A78-D9CD-4D24-8B27-34CE21DE9AA1@gmail.com> Hi Jakob, > On Sep 20, 2020, at 7:26 AM, Jakob Reschke wrote: > >  > Hi Eliot, > > It may look strange at first, but it makes sense if you know what > WOW64 means: it is "Windows on Windows-64" and the folder contains the > 32 bit libraries for the 32 bit emulation. > > https://en.wikipedia.org/wiki/WoW64 > > System32 has been called like this since the advent of Win32, starting > with Windows 95 and NT. The API is as well still called Win32. The > folder name stays most probably for compatibility reasons, or because > there was no compelling reason to change it. > > https://stackoverflow.com/questions/949959/why-do-64-bit-dlls-go-to-system32-and-32-bit-dlls-to-syswow64-on-64-bit-windows/950011#950011 > > Also as the other answers note, an application should not deal with > these directories, and especially not SysWOW64, anyway. I know. It’s still a mess. Compared to linux when /lib64 and /usr/lib64 were added the Microsoft naming is awful. When System32 was added to take 16-bit apps to 32-bits Microsoft acted rationally and required 16-bit apps to be rewritten. When they went with SysWOW64 and changed the semantics of System32, instead of introducing System64 and requiring a handful of apps that explicitly loaded dlls by name to be rewritten or contain an ifdef for 64 vs 32 but they acted IMO incompetently, and made things much messier than they needed to be. System32 in modern Windows is a wart on its nose. > Kind regards, > Jakob > >> Am So., 20. Sept. 2020 um 06:47 Uhr schrieb tim Rowledge : >> >> >> >> >>>> On 2020-09-19, at 8:19 PM, Eliot Miranda wrote: >>> >>> >>> I *hate* Windows. It is utterly contemptible. Why? Consider this perversity: >> >> Good grief. I mean. Good. Grief. That's up there with using the right moue button for menus instead of the middle one. >> >> tim >> -- >> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim >> A)bort, R)etry, P)ee in drive door >> >> From Das.Linux at gmx.de Sun Sep 20 17:08:19 2020 From: Das.Linux at gmx.de (Tobias Pape) Date: Sun, 20 Sep 2020 19:08:19 +0200 Subject: [Vm-dev] I just did a terrible thing :-) In-Reply-To: References: Message-ID: <8F06D5F8-FC4D-4052-B8EC-91EE2D95A1CF@gmx.de> > On 20.09.2020, at 16:45, Jakob Reschke wrote: > > > Am Sa., 19. Sept. 2020 um 19:40 Uhr schrieb tim Rowledge : >> >>> On 2020-09-19, at 8:40 AM, Eliot Miranda wrote: >>> >>> Hi Smalltalkers, >>> >>> I just made a Smalltalk := nil type blunder. I wrote: >>> >>> TVariableNode setName: >>> (node selector = #maxVal >>> ifTrue: ['MaxSmallInteger'] >>> ifFalse: ['MinSmallInteger']) >>> >>> and suddenly parse tree printing didn't work and TVariableNode was called MaxSmallInteger :-) >> >> This is just one of the reasons I'd really like properly done private methods; if the Class>setName: method were private you wouldn't have been able to do this. And a lot of other people (ie almost certainly absolutely every person the ever wrote any Smalltalk) wouldn't make a whole raft of mistakes. >> > > ...or more value objects that are immutable. Here you are: https://github.com/shiplift/RSqueakOnABoat ;) From tim at rowledge.org Sun Sep 20 17:31:44 2020 From: tim at rowledge.org (tim Rowledge) Date: Sun, 20 Sep 2020 10:31:44 -0700 Subject: [Vm-dev] I hate Windows... (off topic) In-Reply-To: <174aaccad1a.fee8a84a54484.6771971179281155474@zoho.com> References: <1BF1B858-FF14-43F6-A59A-869B4F58F799@gmail.com> <174aaccad1a.fee8a84a54484.6771971179281155474@zoho.com> Message-ID: <8C3DA51C-9AE3-4DC0-B335-596AA6F5A876@rowledge.org> > On 2020-09-20, at 2:16 AM, gettimothy wrote: > > > bork? > > that is Active Bork Professional! For a moment there (hey, it's just past breakfast time here, uncaffeinated) I read that as Active Book Professional and wondered if I had slipped timelines again to one where the Active Book hadn't been sabotaged. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim BASIC is to computer programming as QWERTY is to typing. From gettimothy at zoho.com Sun Sep 20 21:01:50 2020 From: gettimothy at zoho.com (gettimothy) Date: Sun, 20 Sep 2020 17:01:50 -0400 Subject: [Vm-dev] I hate Windows... (off topic) In-Reply-To: <8C3DA51C-9AE3-4DC0-B335-596AA6F5A876@rowledge.org> References: <1BF1B858-FF14-43F6-A59A-869B4F58F799@gmail.com> <174aaccad1a.fee8a84a54484.6771971179281155474@zoho.com> <8C3DA51C-9AE3-4DC0-B335-596AA6F5A876@rowledge.org> Message-ID: <174ad52abfd.d884d923123578.718907296137625346@zoho.com> +1 (: ---- On Sun, 20 Sep 2020 13:31:44 -0400 tim at rowledge.org wrote ---- > On 2020-09-20, at 2:16 AM, gettimothy wrote: > > > bork? > > that is Active Bork Professional! For a moment there (hey, it's just past breakfast time here, uncaffeinated) I read that as Active Book Professional and wondered if I had slipped timelines again to one where the Active Book hadn't been sabotaged. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim BASIC is to computer programming as QWERTY is to typing. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.dickey at whidbey.com Mon Sep 21 14:02:08 2020 From: ken.dickey at whidbey.com (ken.dickey at whidbey.com) Date: Mon, 21 Sep 2020 07:02:08 -0700 Subject: [Vm-dev] The cooked and the raw [RE: Touch/MultiTouch Events] Message-ID: Greetings, As I expected, there is someone here before me. The devil is in the details of course, but the Qt framework allows for recognized events based on what widget takes the first touch event and recognized touch patterns (see below). Custom event recognizers can be added (or bypass to take raw events). ? handlesTouch{,Down,Over} ? === from: https://doc.qt.io/qt-5/gestures-overview.html ==============vvv============= Overview QGesture is the central class in Qt's gesture framework, providing a container for information about gestures performed by the user. QGesture exposes properties that give general information that is common to all gestures, and these can be extended to provide additional gesture-specific information. Common panning, pinching and swiping gestures are represented by specialized classes: QPanGesture, QPinchGesture and QSwipeGesture. Developers can also implement new gestures by subclassing and extending the QGestureRecognizer class. Adding support for a new gesture involves implementing code to recognize the gesture from input events. This is described in the Creating Your Own Gesture Recognizer section. ==============^^^============= https://doc.qt.io/qt-5/qgesturerecognizer.html https://doc.qt.io/qt-5/qevent.html https://doc.qt.io/qt-5/qtouchevent.html ==============vvv============= Qt will group new touch points together using the following rules: When the first touch point is detected, the destination widget is determined firstly by the location on screen and secondly by the propagation rules. When additional touch points are detected, Qt first looks to see if there are any active touch points on any ancestor or descendant of the widget under the new touch point. If there are, the new touch point is grouped with the first, and the new touch point will be sent in a single QTouchEvent to the widget that handled the first touch point ==============^^^============= FYI, -KenD From pbpublist at gmail.com Mon Sep 21 19:06:13 2020 From: pbpublist at gmail.com (Phil B) Date: Mon, 21 Sep 2020 15:06:13 -0400 Subject: [Vm-dev] The cooked and the raw [RE: Touch/MultiTouch Events] In-Reply-To: References: Message-ID: Ken, Just a word of warning: I'd be cautious/skeptical taking what Qt or GTK have done on this front as tried and true solutions. Neither framework is widely deployed on mobile yet, and based on my experiences with both (and the applications built using them) as a user on the Pinephone, they both still have quite a ways to go. You'd probably be better off spelunking in the Android system code to see how their touch handling works (I believe it's all Apache licensed so you can steal any good ideas you find there) Something I didn't understand until I got mine was why, in most of the videos I was seeing people put up, were they constantly having to re-tap controls to get things to work. Well, I got mine, and now I know: the controls are often far too small, have no margin for error and generally seem to make the mistake of thinking 'this is just like a mouse, but with a finger'. Contrast this with how iOS and Android do things: they lie and cheat all over the place. For example, in the onscreen keyboard I believe both platforms 'lie' in terms of showing all keys the same size but then varying the hit area sizes on the keys so that more common keys are easier to hit based on how frequently it is used by a given language etc. Touch input is also incredibly noisy both due to the capacitive touch screen and the users hand/finger not being terribly precise, shaking etc. (think of it more as a noisy analog signal than a digital one). So the comparatively precise nature of mouse-based GUIs doesn't always translate (i.e. just blowing up the control sizes alone often isn't enough for a great experience) Phil On Mon, Sep 21, 2020 at 10:13 AM wrote: > > Greetings, > > As I expected, there is someone here before me. > > The devil is in the details of course, but the Qt framework allows for > recognized events based on what widget takes the first touch event and > recognized touch patterns (see below). Custom event recognizers can be > added (or bypass to take raw events). > > ? handlesTouch{,Down,Over} ? > > > === from: > https://doc.qt.io/qt-5/gestures-overview.html > ==============vvv============= > Overview > > QGesture is the central class in Qt's gesture framework, providing a > container for information about gestures performed by the user. QGesture > exposes properties that give general information that is common to all > gestures, and these can be extended to provide additional > gesture-specific information. Common panning, pinching and swiping > gestures are represented by specialized classes: QPanGesture, > QPinchGesture and QSwipeGesture. > > Developers can also implement new gestures by subclassing and extending > the QGestureRecognizer class. Adding support for a new gesture involves > implementing code to recognize the gesture from input events. This is > described in the Creating Your Own Gesture Recognizer section. > > ==============^^^============= > https://doc.qt.io/qt-5/qgesturerecognizer.html > https://doc.qt.io/qt-5/qevent.html > https://doc.qt.io/qt-5/qtouchevent.html > ==============vvv============= > Qt will group new touch points together using the following rules: > > When the first touch point is detected, the destination widget is > determined firstly by the location on screen and secondly by the > propagation rules. > When additional touch points are detected, Qt first looks to see if > there are any active touch points on any ancestor or descendant of the > widget under the new touch point. If there are, the new touch point is > grouped with the first, and the new touch point will be sent in a single > QTouchEvent to the widget that handled the first touch point > ==============^^^============= > > FYI, > -KenD > -------------- next part -------------- An HTML attachment was scrubbed... URL: From forums.jakob at resfarm.de Mon Sep 21 20:47:44 2020 From: forums.jakob at resfarm.de (Jakob Reschke) Date: Mon, 21 Sep 2020 22:47:44 +0200 Subject: [Vm-dev] The cooked and the raw [RE: Touch/MultiTouch Events] In-Reply-To: References: <0daada588589e0e78756101f0770e3e5@whidbey.com> Message-ID: Am Sa., 19. Sept. 2020 um 22:07 Uhr schrieb Tom Beckmann : > > just commenting on the availability of gestures - do you know of any windowing systems that provide high level touch gestures? The systems I'm familiar with all defer this to a UI library. > Well, since you did not say cross-platform: let's not forget Windows. ;-D https://docs.microsoft.com/en-us/windows/win32/user-interaction (I have no coding experience with any of these though.) They seem to have come up with new APIs replacing the old ones a few times. Looking at them and comparing might help to not repeat mistakes others have made. But oftentimes you cannot use something in Squeak because it is just a single opaque window to Windows, not one window per control/widget, as in regular Win32 apps. Kind regards, Jakob From chisvasileandrei at gmail.com Tue Sep 22 12:21:21 2020 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Tue, 22 Sep 2020 14:21:21 +0200 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: <9A2F6367-8B79-4A0D-B82A-A7E2A391A764@gmail.com> References: <9A2F6367-8B79-4A0D-B82A-A7E2A391A764@gmail.com> Message-ID: <68A208A2-11AF-448B-9FE6-357A673B32D9@gmail.com> Hi Eliot, Unfortunately with the assert vm with memory leak checks it seems I cannot reproduce the problem. I’ll try to run it a few more times, maybe I get lucky and get a crash (a run takes a few hours). For our case, calling `self pc` before copying a context really helped. Before almost 50% of our builds were failing; now we get no more failures at all. Thanks for your insights! Are there other ways to get relevant/helpful details from a crash with a normal vm? Cheers, Andrei > On 15 Sep 2020, at 01:27, Eliot Miranda wrote: > > Hi Andrei, > >> >> On Sep 14, 2020, at 3:22 PM, Andrei Chis > wrote: >> >> Hi Eliot, >> >> The setup in GT is a bit customised (some changes in the headless vm, some custom plugins, custom rendering) so I first thought it will be impossible to reproduce the bug in a more standard manner. >> However turns out it is possible. If I use the following script after running the tests a few times in lldb I get the crash starting from a plain Pharo 8 image. >> >> $ curl https://get.pharo.org/64/80+vm | bash >> $ curl -L https://raw.githubusercontent.com/feenkcom/gtoolkit/master/scripts/localbuild/loadgt.st -o loadgt.st >> $ ./pharo Pharo.image st --quit >> >> $ lldb ./pharo-vm/Pharo.app/Contents/MacOS/Pharo >> (lldb) run --headless Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' >> >> >> I also tried to compile the vm myself on Mac (Catalina 10.15.6). I build a normal and assert for https://github.com/OpenSmalltalk/opensmalltalk-vm and https://github.com/pharo-project/opensmalltalk-vm from the cog branch. >> In both cases I get an issue related to pixman 0.34.0 [1] but that’s easy to workaround. For https://github.com/OpenSmalltalk/opensmalltalk-vm I got an extra problem related to Cairo [2] and had to change libpng from libpng16 to libpng12 to get it to work. >> >> With both the normal VMs I could reproduce the bug and got stacks with the Context>copyTo: messages. >> >> With the assert VMs I only got a crash for now with the assert vm from https://github.com/pharo-project/opensmalltalk-vm . However there is no Context>copyTo: and the memory seems quite corrupted. >> I suspect the crash also appears in https://github.com/OpenSmalltalk/opensmalltalk-vm but seems that with the assert vm it is much harder to reproduce. Had to run the tests 20 times and got one crash; running the tests once take 20-30 minutes. >> >> >> This is from only crash until now with the assert vm. Not sure if they are helpful or not, or actually related to the problem. >> >> validInstructionPointerinFrame(GIV(instructionPointer), GIV(framePointer)) 18471 >> Pharo was compiled with optimization - stepping may behave oddly; variables may not be available. >> Process 73731 stopped >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) >> frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] >> 139 static inline sqInt intAtPointer(char *ptr) { return (sqInt)(*((int *)ptr)); } >> 140 static inline sqInt intAtPointerput(char *ptr, int val) { return (sqInt)(*((int *)ptr)= val); } >> 141 static inline sqInt longAtPointer(char *ptr) { return *(sqInt *)ptr; } >> -> 142 static inline sqInt longAtPointerput(char *ptr, sqInt val) { return *(sqInt *)ptr= val; } >> 143 static inline sqLong long64AtPointer(char *ptr) { return *(sqLong *)ptr; } >> 144 static inline sqLong long64AtPointerput(char *ptr, sqLong val) { return *(sqLong *)ptr= val; } >> 145 static inline float singleFloatAtPointer(char *ptr) { return *(float *)ptr; } >> Target 0: (Pharo) stopped. >> >> >> (lldb) bt >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) >> * frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] >> frame #1: 0x00000001000161cf Pharo`marryFrameSP(theFP=, theSP=0x0000000000000000) at gcc3x-cointerp.c:68120:3[opt] >> frame #2: 0x000000010001f5ac Pharo`ceContextinstVar(maybeContext=5510359872, slotIndex=0) at gcc3x-cointerp.c:15221:12 [opt] >> frame #3: 0x00000001480017d6 >> frame #4: 0x00000001000022be Pharo`interpret at gcc3x-cointerp.c:2755:3 [opt] >> frame #5: 0x00000001000bc244 Pharo`-[sqSqueakMainApplication runSqueak](self=0x0000000101c76dc0, _cmd=) at sqSqueakMainApplication.m:201:2 [opt] >> frame #6: 0x00007fff3326729b Foundation`__NSFirePerformWithOrder + 360 >> frame #7: 0x00007fff30ad3335 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 >> frame #8: 0x00007fff30ad3267 CoreFoundation`__CFRunLoopDoObservers + 457 >> frame #9: 0x00007fff30ad2805 CoreFoundation`__CFRunLoopRun + 874 >> frame #10: 0x00007fff30ad1e3e CoreFoundation`CFRunLoopRunSpecific + 462 >> frame #11: 0x00007fff2f6feabd HIToolbox`RunCurrentEventLoopInMode + 292 >> frame #12: 0x00007fff2f6fe6f4 HIToolbox`ReceiveNextEventCommon + 359 >> frame #13: 0x00007fff2f6fe579 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64 >> frame #14: 0x00007fff2dd44039 AppKit`_DPSNextEvent + 883 >> frame #15: 0x00007fff2dd42880 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352 >> frame #16: 0x00007fff2dd3458e AppKit`-[NSApplication run] + 658 >> frame #17: 0x00007fff2dd06396 AppKit`NSApplicationMain + 777 >> frame #18: 0x00007fff6ab3ecc9 libdyld.dylib`start + 1 >> >> >> (lldb) call printCallStack() >> 0x7ffeefbe3920 M INVALID RECEIVER>(nil) 0x148716b40: a(n) bad class >> 0x7ffeefbe3968 M [] in INVALID RECEIVER>(nil) Context(Object)>>doesNotUnderstand: #bounds >> 0x194648118: a(n) bad class >> 0x7ffeefbe39a8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class >> 0x7ffeefbe39e8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class >> 0x7ffeefbe3a30 I INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbe3a80 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbe3ab8 M INVALID RECEIVER>(nil) 0x148163cd0: a(n) bad class >> 0x7ffeefbe3b08 I INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >> 0x7ffeefbe3b40 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >> 0x7ffeefbe3b78 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class >> 0x7ffeefbe3bc0 I INVALID RECEIVER>(nil) 0x148716a38: a(n) bad class >> 0x7ffeefbe3c10 I INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >> 0x7ffeefbe3c40 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >> 0x7ffeefbe3c78 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >> 0x7ffeefbe3cc0 M INVALID RECEIVER>(nil) 0x14d0337f0: a(n) bad class >> 0x7ffeefbe3d08 M INVALID RECEIVER>(nil) 0x14d033738: a(n) bad class >> 0x7ffeefbe3d50 M INVALID RECEIVER>(nil) 0x14d033680: a(n) bad class >> 0x7ffeefbe3d98 M INVALID RECEIVER>(nil) 0x1946493f0: a(n) bad class >> 0x7ffeefbe3de0 M INVALID RECEIVER>(nil) 0x194649338: a(n) bad class >> 0x7ffeefbe3e28 M INVALID RECEIVER>(nil) 0x194649280: a(n) bad class >> 0x7ffeefbe3e70 M INVALID RECEIVER>(nil) 0x1946491c8: a(n) bad class >> 0x7ffeefbe3eb8 M INVALID RECEIVER>(nil) 0x194649110: a(n) bad class >> 0x7ffeefbec768 M INVALID RECEIVER>(nil) 0x194649038: a(n) bad class >> 0x7ffeefbec7b0 M INVALID RECEIVER>(nil) 0x194648f60: a(n) bad class >> 0x7ffeefbec7f8 M INVALID RECEIVER>(nil) 0x194648e88: a(n) bad class >> 0x7ffeefbec840 M INVALID RECEIVER>(nil) 0x194648dd0: a(n) bad class >> 0x7ffeefbec888 M INVALID RECEIVER>(nil) 0x194648d18: a(n) bad class >> 0x7ffeefbec8d0 M INVALID RECEIVER>(nil) 0x194648c60: a(n) bad class >> 0x7ffeefbec918 M INVALID RECEIVER>(nil) 0x194648b88: a(n) bad class >> 0x7ffeefbec960 M INVALID RECEIVER>(nil) 0x194648ad0: a(n) bad class >> 0x7ffeefbec9a8 M INVALID RECEIVER>(nil) 0x194648a18: a(n) bad class >> 0x7ffeefbec9f0 M INVALID RECEIVER>(nil) 0x194648960: a(n) bad class >> 0x7ffeefbeca38 M INVALID RECEIVER>(nil) 0x1946488a8: a(n) bad class >> 0x7ffeefbeca80 M INVALID RECEIVER>(nil) 0x1946487f0: a(n) bad class >> 0x7ffeefbecac8 M INVALID RECEIVER>(nil) 0x194648708: a(n) bad class >> 0x7ffeefbecb10 M INVALID RECEIVER>(nil) 0x194648620: a(n) bad class >> 0x7ffeefbecb58 M INVALID RECEIVER>(nil) 0x194648508: a(n) bad class >> 0x7ffeefbecba0 M INVALID RECEIVER>(nil) 0x194648450: a(n) bad class >> 0x7ffeefbecbe8 M INVALID RECEIVER>(nil) 0x1481641a8: a(n) bad class >> 0x7ffeefbecc30 M INVALID RECEIVER>(nil) 0x1481640f0: a(n) bad class >> 0x7ffeefbecc78 M INVALID RECEIVER>(nil) 0x148164038: a(n) bad class >> 0x7ffeefbeccc0 M INVALID RECEIVER>(nil) 0x148163f80: a(n) bad class >> 0x7ffeefbecd08 M INVALID RECEIVER>(nil) 0x148163ec8: a(n) bad class >> 0x7ffeefbecd50 M INVALID RECEIVER>(nil) 0x148163e10: a(n) bad class >> 0x7ffeefbecd98 M INVALID RECEIVER>(nil) 0x148163d28: a(n) bad class >> 0x7ffeefbecde0 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >> 0x7ffeefbece28 M INVALID RECEIVER>(nil) 0x148163b38: a(n) bad class >> 0x7ffeefbece70 M INVALID RECEIVER>(nil) 0x148163a80: a(n) bad class >> 0x7ffeefbeceb8 M INVALID RECEIVER>(nil) 0x1481639c8: a(n) bad class >> 0x7ffeefbe7758 M INVALID RECEIVER>(nil) 0x1481638e0: a(n) bad class >> 0x7ffeefbe77a0 M INVALID RECEIVER>(nil) 0x148163808: a(n) bad class >> 0x7ffeefbe77e8 M INVALID RECEIVER>(nil) 0x148163750: a(n) bad class >> 0x7ffeefbe7830 M INVALID RECEIVER>(nil) 0x148163698: a(n) bad class >> 0x7ffeefbe7878 M INVALID RECEIVER>(nil) 0x1481635c0: a(n) bad class >> 0x7ffeefbe78c0 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class >> 0x7ffeefbe7908 M INVALID RECEIVER>(nil) 0x148163408: a(n) bad class >> 0x7ffeefbe7950 M INVALID RECEIVER>(nil) 0x148163350: a(n) bad class >> 0x7ffeefbe7998 M INVALID RECEIVER>(nil) 0x148163298: a(n) bad class >> 0x7ffeefbe79e0 M INVALID RECEIVER>(nil) 0x148163188: a(n) bad class >> 0x7ffeefbe7a28 M INVALID RECEIVER>(nil) 0x148163098: a(n) bad class >> 0x7ffeefbe7a70 M INVALID RECEIVER>(nil) 0x148162fa0: a(n) bad class >> 0x7ffeefbe7ab8 M INVALID RECEIVER>(nil) 0x148162ec8: a(n) bad class >> 0x7ffeefbe7b00 M INVALID RECEIVER>(nil) 0x148162e10: a(n) bad class >> 0x7ffeefbe7b48 M INVALID RECEIVER>(nil) 0x148712a08: a(n) bad class >> 0x7ffeefbe7b90 M INVALID RECEIVER>(nil) 0x148712950: a(n) bad class >> 0x7ffeefbe7bd8 M INVALID RECEIVER>(nil) 0x148712898: a(n) bad class >> 0x7ffeefbe7c20 M INVALID RECEIVER>(nil) 0x148713cc0: a(n) bad class >> 0x7ffeefbe7c68 M INVALID RECEIVER>(nil) 0x148713018: a(n) bad class >> 0x7ffeefbe7cb0 M INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >> 0x7ffeefbe7cf8 M INVALID RECEIVER>(nil) 0x148713140: a(n) bad class >> 0x7ffeefbe7d40 M INVALID RECEIVER>(nil) 0x148713928: a(n) bad class >> 0x7ffeefbe7d88 M INVALID RECEIVER>(nil) 0x1487133c8: a(n) bad class >> 0x7ffeefbe7de0 I INVALID RECEIVER>(nil) 0x148713238: a(n) bad class >> 0x7ffeefbe7e28 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >> 0x7ffeefbe7e70 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >> 0x7ffeefbe7eb8 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >> 0x7ffeefbeea68 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >> 0x7ffeefbeeac8 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >> 0x7ffeefbeeb00 M INVALID RECEIVER>(nil) 0x148713108: a(n) bad class >> 0x7ffeefbeeb50 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >> 0x7ffeefbeeb98 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >> 0x7ffeefbeebe0 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >> 0x7ffeefbeec10 M INVALID RECEIVER>(nil) 0x9=1 >> 0x7ffeefbeec48 M INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >> 0x7ffeefbeeca0 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >> 0x7ffeefbeecd0 M INVALID RECEIVER>(nil) 0x1487130d0: a(n) bad class >> 0x7ffeefbeed10 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >> 0x7ffeefbeed58 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >> 0x7ffeefbeedb0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >> 0x7ffeefbeedf0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >> 0x7ffeefbeee20 M [] in INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class >> 0x7ffeefbeee78 M INVALID RECEIVER>(nil) 0x148162df0: a(n) bad class >> 0x7ffeefbeeec0 M INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class >> 0x7ffeefbe5978 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe59d8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5a18 M INVALID RECEIVER>(nil) 0x148163150: a(n) bad class >> 0x7ffeefbe5a68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5aa0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5ad8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5b08 M INVALID RECEIVER>(nil) 0x1481634c0: a(n) bad class >> 0x7ffeefbe5b48 M INVALID RECEIVER>(nil) 0x14c403ca8: a(n) bad class >> 0x7ffeefbe5b88 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5bc0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5bf0 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5c20 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5c68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5c98 M INVALID RECEIVER>(nil) 0x194656468: a(n) bad class >> 0x7ffeefbe5cd0 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbe5d00 M INVALID RECEIVER>(nil) 0x148163bf0: a(n) bad class >> 0x7ffeefbe5d50 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbe5d88 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >> 0x7ffeefbe5dc0 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >> 0x7ffeefbe5e00 M INVALID RECEIVER>(nil) 0x148163de0: a(n) bad class >> 0x7ffeefbe5e38 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbe5e80 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbe5eb8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbdf9d8 M INVALID RECEIVER>(nil) 0x194648430: a(n) bad class >> 0x7ffeefbdfa10 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbdfa50 M [] in INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >> 0x7ffeefbdfa90 M INVALID RECEIVER>(nil) 0x1946486d8: a(n) bad class >> 0x7ffeefbdfad0 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >> 0x7ffeefbdfb10 M INVALID RECEIVER>(nil) 0x1946485e0: a(n) bad class >> 0x7ffeefbdfb48 M INVALID RECEIVER>(nil) 0x1489f7da8: a(n) bad class >> 0x7ffeefbdfb80 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >> 0x7ffeefbdfbb8 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbdfbe8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbdfc20 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >> 0x7ffeefbdfc58 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >> 0x7ffeefbdfc98 M INVALID RECEIVER>(nil) 0x194648c40: a(n) bad class >> 0x7ffeefbdfcc8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbdfd08 M INVALID RECEIVER>(nil) 0x194648f40: a(n) bad class >> 0x7ffeefbdfd40 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbdfd70 M INVALID RECEIVER>(nil) 0x14902a730: a(n) bad class >> 0x7ffeefbdfdb0 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbdfde8 M INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class >> 0x7ffeefbdfe20 M [] in INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class >> 0x7ffeefbdfe70 M [] in INVALID RECEIVER>(nil) 0x14d032f98: a(n) bad class >> 0x7ffeefbdfeb8 M INVALID RECEIVER>(nil) 0x14d032fe0: a(n) bad class >> >> (callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil)) 72783 >> 0x14d033738 is not a context > > OK, interesting. Both the assert failure and the badly corrupted stack trace lead me to believe that the issue happens long before the crash and is probably a stack corruption, either by a primitive cutting back the stack incorrectly, or some other hot riot ion (for example are all those nils in INVALID RECEIVER>(nil) real or an artifact of attempting to print an invalid value?). > > So the next step is to run the asset vm with leak checking turned on. Use > > myvm —leakcheck 3 to check after every GC > > We can add, eg leak checking after an FFI call, in an afternoon > >> A more realistic setup would be to run GT with an assert headless vm. But until now I did not figure out how to build an assert vm for the gt-headless branch from https://github.com/feenkcom/opensmalltalk-vm . >> >> Cheers, >> Andrei >> >> >> [1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/258 >> >> [2] checking for cairo's PNG functions feature... >> configure: WARNING: Could not find libpng in the pkg-config search path >> checking whether cairo's PNG functions feature could be enabled... no >> configure: error: recommended PNG functions feature could not be enabled >> >>> On 14 Sep 2020, at 17:32, Eliot Miranda > wrote: >>> >>> Hi Andrei, >>> >>> >>>> On Sep 14, 2020, at 7:15 AM, Andrei Chis > wrote: >>>> >>>> Hi Eliot, >>>> >>>>> On 12 Sep 2020, at 01:42, Eliot Miranda > wrote: >>>>> >>>>> Hi Andrei, >>>>> >>>>> On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis > wrote: >>>>> >>>>> Hi Eliot, >>>>> >>>>> Thanks for the answer. That helps to understand what is going on and it can explain why just adding a call to `self pc` makes the crash disappear. >>>>> >>>>> Just what was maybe not obvious in my previous email is that we get this problem more or less randomly. We have tests for verifying that tools work when various extensions raise exceptions (these tests copy the stack). Sometimes they work correctly and sometimes they crash. These crashes happen in various tests and until now the only common thing we noticed is that the pc of the contexts where the crash happens looks off. Also the contexts in which this happens are at the beginning of the stack so part of a long computation (it gets copied multiple times). >>>>> >>>>> Initially we suspected that there is some memory corruption somewhere due to external calls/memory. Just the fact that calling `self pc` before seems to fix the issue reduces those chances. But who knows. >>>>> >>>>> Well, it does look like a VM bug. The VM is somehow failing to intercept some access, perhaps in shallow copy. Weird. I shall try and reproduce. Is there anything special about the process you copy using copyTo: ? >>>> >>>> I don’t think there is something special about that process. It is the process that we start to run tests [1]. The exception happens in the running process and the crash is when copying the stack of that running process. >>> >>> Ok, cool. What I’d like to do is get a copy of your test setup and run it in an assert vm to try and get more information. AFAICT the vm code is good do the bug is not obvious. An assert vm may give more information before the crash. Have you tried running the system on an assert vm yet? >>> >>>> Checked some previous logs and we get these kinds of crashes on the CI server since at least two years. So it does not look like a new bug (but who knows). >>>> >>>>> >>>>> (see below) >>>>> >>>>> On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda > wrote: >>>>> >>>>> Hi Andrei, >>>>> >>>>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis > wrote: >>>>> >>>>> Hi, >>>>> >>>>> We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm . >>>>> >>>>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>>>> >>>>> (lldb) call (void *) printOop(0x1206b6990) >>>>> 0x1206b6990: a(n) Context >>>>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>>>> 0x1206b6b28 0x1206b6b50 >>>>> >>>>> Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. >>>>> >>>>> The issue is that that value is expected *inside* the VM. It is the frame pointer for the context. But above the Vm this value should be hidden. The VM should intercept all accesses to such fields in contexts and automatically map them back to the appropriate values that the image expects to see. [The same thing is true for CompiledMethods; inside the VM methods may refer to their JITted code, but this is invisible from the image]. Intercepting access to Context state already happens with inst var access in methods, with the shallowCopy primitive, with instVarAt: et al, etc. >>>>> >>>>> So I expect the issue here is that copyTo: invokes some primitive which does not (yet) check for a context receiver and/or argument, and hence accidentally it reveals the hidden state to the image and a crash results. What I need to know are the definitions for copyTo: and copy, etc all the way down to primitives. >>>>> >>>>> Here is the source code: >>>>> >>>>> Cool, nothing unusual here. This should all work perfectly. Tis a VM bug. However... >>>>> >>>>> Context >> copyTo: aContext >>>>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>>>> | copy | >>>>> self == aContext ifTrue: [^ nil]. >>>>> copy := self copy. >>>>> self sender ifNotNil: [ >>>>> copy privSender: (self sender copyTo: aContext)]. >>>>> ^ copy >>>>> >>>>> Let me suggest >>>>> >>>>> Context >> copyTo: aContext >>>>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>>>> | copy | >>>>> self == aContext ifTrue: [^ nil]. >>>>> copy := self copy. >>>>> self sender ifNotNil: >>>>> [:mySender| copy privSender: (mySender copyTo: aContext)]. >>>>> ^ copy >>>> >>>> Nice! >>>> >>>> I also tried the non-recursive implementation of Context>>#copyTo: from Squeak and it also crashes. >>>> >>>> Not sure if related but now in the same image as before I got a different crash and printing the stack does not work. But this time the error seems to come from handleStackOverflow >>>> >>>> (lldb) call (void *)printCallStack() >>>> invalid frame pointer >>>> invalid frame pointer >>>> invalid frame pointer >>>> error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=EXC_I386_GPFLT). >>>> The process has been returned to the state before expression evaluation. >>>> (lldb) bt >>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x121e00000) >>>> * frame #0: 0x0000000100162258 libGlamorousToolkitVMCore.dylib`marryFrameSP + 584 >>>> frame #1: 0x0000000100172982 libGlamorousToolkitVMCore.dylib`handleStackOverflow + 354 >>>> frame #2: 0x000000010016b025 libGlamorousToolkitVMCore.dylib`ceStackOverflow + 149 >>>> frame #3: 0x00000001100005b3 >>>> frame #4: 0x0000000100174d99 libGlamorousToolkitVMCore.dylib`ptEnterInterpreterFromCallback + 73 >>>> >>>> >>>> Cheers, >>>> Andrei >>>> >>>> [1] ./GlamorousToolkit.app/Contents/MacOS/GlamorousToolkit Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' >>>> >>>> >>>>> >>>>> Object>>#copy >>>>> ^self shallowCopy postCopy >>>>> >>>>> Object >> shallowCopy >>>>> | class newObject index | >>>>> >>>>> class := self class. >>>>> class isVariable >>>>> ifTrue: >>>>> [index := self basicSize. >>>>> newObject := class basicNew: index. >>>>> [index > 0] >>>>> whileTrue: >>>>> [newObject basicAt: index put: (self basicAt: index). >>>>> index := index - 1]] >>>>> ifFalse: [newObject := class basicNew]. >>>>> index := class instSize. >>>>> [index > 0] >>>>> whileTrue: >>>>> [newObject instVarAt: index put: (self instVarAt: index). >>>>> index := index - 1]. >>>>> ^ newObject >>>>> >>>>> The code of the primitiveClone looks the same [1] >>>>> >>>>> >>>>> Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. >>>>> >>>>> A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>>>> Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? >>>>> >>>>> This looks like an oversight in some primitive. Here for example is the implementation of the shallowCopy primitive, a.k.a. clone, and you can see where it explcitly intercepts access to a context. >>>>> >>>>> primitiveClone >>>>> "Return a shallow copy of the receiver. >>>>> Special-case non-single contexts (because of context-to-stack mapping). >>>>> Can't fail for contexts cuz of image context instantiation code (sigh)." >>>>> >>>>> | rcvr newCopy | >>>>> rcvr := self stackTop. >>>>> (objectMemory isImmediate: rcvr) >>>>> ifTrue: >>>>> [newCopy := rcvr] >>>>> ifFalse: >>>>> [(objectMemory isContextNonImm: rcvr) >>>>> ifTrue: >>>>> [newCopy := self cloneContext: rcvr] >>>>> ifFalse: >>>>> [(argumentCount = 0 >>>>> or: [(objectMemory isForwarded: rcvr) not]) >>>>> ifTrue: [newCopy := objectMemory clone: rcvr] >>>>> ifFalse: [newCopy := 0]]. >>>>> newCopy = 0 ifTrue: >>>>> [^self primitiveFailFor: PrimErrNoMemory]]. >>>>> self pop: argumentCount + 1 thenPush: newCopy >>>>> >>>>> But since Squeak doesn't have copyTo: I have no idea what primitive is being used. I'm guessing 168 primitiveCopyObject, which seems to check for a Context receiver, but not for a CompiledCode receiver. What does the primitive failure code look like? Can you post the copyTo: implementations here please? >>>>> >>>>> The code is above. I also see Context>>#copyTo: in Squeak calling also Object>>copy for contexts. >>>>> >>>>> When a crash happens we don't get the exact same error all the time. For example we get most often on mac: >>>>> >>>>> Process 35690 stopped >>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) >>>>> frame #0: 0x00000001100b1004 >>>>> -> 0x1100b1004: inl $0x4c, %eax >>>>> 0x1100b1006: leal -0x5c(%rip), %eax >>>>> 0x1100b100c: pushq %r8 >>>>> 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 >>>>> Target 0: (GlamorousToolkit) stopped. >>>>> >>>>> >>>>> Process 29929 stopped >>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >>>>> frame #0: 0x00000001100fe7ed >>>>> -> 0x1100fe7ed: int3 >>>>> 0x1100fe7ee: int3 >>>>> 0x1100fe7ef: int3 >>>>> 0x1100fe7f0: int3 >>>>> Target 0: (GlamorousToolkit) stopped. >>>>> >>>>> [1] https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 >>>>> >>>>> Cheers, >>>>> Andrei >>>>> >>>>> >>>>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>>>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>>>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>>>> ... >>>>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>>>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>>>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>>>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>>>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>>>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>>>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>>>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>>>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>>>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>>>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>>>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>>>> ... >>>>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>>>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>>>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>>>> 0x1206b5b98 s Set>collect: >>>>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>>>> 0x1206b6a48 s BlockClosure>ensure: >>>>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>>>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>>>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>>>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>> 0x1207e6620 s BlockClosure>on:do: >>>>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>> 0x1207a83e0 s BlockClosure>on:do: >>>>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>> 0x1207bf830 s [] in BlockClosure>newProcess >>>>> Cheers, >>>>> Andrei >>>>> >>>>> >>>>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>>>> >>>>> >>>>> >>>>> -- >>>>> _,,,^..^,,,_ >>>>> best, Eliot >>>>> >>>>> >>>>> -- >>>>> _,,,^..^,,,_ >>>>> best, Eliot > > _,,,^..^,,,_ (phone) -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Tue Sep 22 16:39:14 2020 From: noreply at github.com (Eliot Miranda) Date: Tue, 22 Sep 2020 09:39:14 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 28fd18: sqAssert.h needs to include sqPlatformSpecific.h a... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 28fd184146eb7edf35a10ac68cd4c8294012803d https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/28fd184146eb7edf35a10ac68cd4c8294012803d Author: Eliot Miranda Date: 2020-09-22 (Tue, 22 Sep 2020) Changed paths: M build.macos32x86/makeproduct M build.macos32x86/makeproductclean M platforms/Cross/vm/sqAssert.h M platforms/Mac OS/vm/sqPlatformSpecific.h M platforms/Plan9/vm/sqPlatformSpecific.h M platforms/RiscOS/vm/sqPlatformSpecific.h M platforms/iOS/vm/OSX/sqPlatformSpecific.h M platforms/iOS/vm/iPhone/sqPlatformSpecific.h M platforms/unix/vm/sqPlatformSpecific.h M platforms/win32/vm/sqPlatformSpecific.h Log Message: ----------- sqAssert.h needs to include sqPlatformSpecific.h at least on Windows for EXPORT. Since sq.h includes it too, add multiple include protection to each sqPlatformSpecific.h. (P.S. ROnie's style in minheadless is good; we could follow it). From no-reply at appveyor.com Tue Sep 22 16:44:00 2020 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 22 Sep 2020 16:44:00 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2197 Message-ID: <20200922164400.1.A7ECF9D7D9580B21@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Sep 22 16:46:32 2020 From: builds at travis-ci.org (Travis CI) Date: Tue, 22 Sep 2020 16:46:32 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2197 (Cog - 28fd184) In-Reply-To: Message-ID: <5f6a2a67ebb20_13f94e0f1a630113765@travis-tasks-6cfb4ddc48-mrdtd.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2197 Status: Errored Duration: 6 mins and 42 secs Commit: 28fd184 (Cog) Author: Eliot Miranda Message: sqAssert.h needs to include sqPlatformSpecific.h at least on Windows for EXPORT. Since sq.h includes it too, add multiple include protection to each sqPlatformSpecific.h. (P.S. ROnie's style in minheadless is good; we could follow it). View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/d1b36a974f45...28fd184146eb View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/729369216?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Tue Sep 22 17:18:06 2020 From: noreply at github.com (Eliot Miranda) Date: Tue, 22 Sep 2020 10:18:06 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] dedacc: And fix some include order issues, and especially ... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: dedacc1d8b5517ba33d03bd20f082d91b8a694ac https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/dedacc1d8b5517ba33d03bd20f082d91b8a694ac Author: Eliot Miranda Date: 2020-09-22 (Tue, 22 Sep 2020) Changed paths: M platforms/Cross/plugins/Squeak3D/b3d.h M platforms/Cross/plugins/Squeak3D/b3dAlloc.c M platforms/RiscOS/vm/sqPlatformSpecific.h M platforms/iOS/plugins/SoundPlugin/sqSqueakSoundCoreAudio.m M platforms/iOS/vm/Common/sqMacV2Memory.c M platforms/iOS/vm/OSX/sqPlatformSpecific.h M platforms/iOS/vm/iPhone/sqPlatformSpecific.h Log Message: ----------- And fix some include order issues, and especially remove the requirement for the iOS sqPlatformSpecific.h to include stdio.h (for FILE). From nicolas.cellier.aka.nice at gmail.com Tue Sep 22 17:18:25 2020 From: nicolas.cellier.aka.nice at gmail.com (Nicolas Cellier) Date: Tue, 22 Sep 2020 19:18:25 +0200 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: <68A208A2-11AF-448B-9FE6-357A673B32D9@gmail.com> References: <9A2F6367-8B79-4A0D-B82A-A7E2A391A764@gmail.com> <68A208A2-11AF-448B-9FE6-357A673B32D9@gmail.com> Message-ID: If you are on linux, you could try using the recording debugger (rr)... Though, debugging a -O2 or -O3 is hard... No obvious mapping of source code with assembly instructions. It's better if you can reproduce on debug version... Le mar. 22 sept. 2020 à 14:21, Andrei Chis a écrit : > > Hi Eliot, > > Unfortunately with the assert vm with memory leak checks it seems I cannot > reproduce the problem. > I’ll try to run it a few more times, maybe I get lucky and get a crash (a > run takes a few hours). > > For our case, calling `self pc` before copying a context really helped. > Before almost 50% of our builds were failing; now we get no more failures > at all. > Thanks for your insights! > > Are there other ways to get relevant/helpful details from a crash with a > normal vm? > > Cheers, > Andrei > > > On 15 Sep 2020, at 01:27, Eliot Miranda wrote: > > Hi Andrei, > > > On Sep 14, 2020, at 3:22 PM, Andrei Chis > wrote: > > Hi Eliot, > > The setup in GT is a bit customised (some changes in the headless vm, some > custom plugins, custom rendering) so I first thought it will be impossible > to reproduce the bug in a more standard manner. > However turns out it is possible. If I use the following script after > running the tests a few times in lldb I get the crash starting from a plain > Pharo 8 image. > > $ curl https://get.pharo.org/64/80+vm | bash > $ curl -L > https://raw.githubusercontent.com/feenkcom/gtoolkit/master/scripts/localbuild/loadgt.st > -o loadgt.st > $ ./pharo Pharo.image st --quit > > $ lldb ./pharo-vm/Pharo.app/Contents/MacOS/Pharo > (lldb) run --headless Pharo.image examples --junit-xml-output > 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc > 'Bloc-.*' 'Sparta-.*' > > > I also tried to compile the vm myself on Mac (Catalina 10.15.6). I build a > normal and assert for https://github.com/OpenSmalltalk/opensmalltalk-vm > and https://github.com/pharo-project/opensmalltalk-vm from the cog > branch. > In both cases I get an issue related to pixman 0.34.0 [1] but that’s easy > to workaround. For https://github.com/OpenSmalltalk/opensmalltalk-vm I > got an extra problem related to Cairo [2] and had to change libpng > from libpng16 to libpng12 to get it to work. > > With both the normal VMs I could reproduce the bug and got stacks with the > Context>copyTo: messages. > > With the assert VMs I only got a crash for now with the assert vm from > https://github.com/pharo-project/opensmalltalk-vm. However there is no > Context>copyTo: and the memory seems quite corrupted. > I suspect the crash also appears in > https://github.com/OpenSmalltalk/opensmalltalk-vm but seems that with > the assert vm it is much harder to reproduce. Had to run the tests 20 times > and got one crash; running the tests once take 20-30 minutes. > > > This is from only crash until now with the assert vm. Not sure if they are > helpful or not, or actually related to the problem. > > validInstructionPointerinFrame(GIV(instructionPointer), GIV(framePointer)) > 18471 > Pharo was compiled with optimization - stepping may behave oddly; > variables may not be available. > Process 73731 stopped > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS > (code=2, address=0x157800000) > frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", > val=5513312480) at sqMemoryAccess.h:142:84 [opt] > 139 static inline sqInt intAtPointer(char *ptr) { return (sqInt)(*(( > int *)ptr)); } > 140 static inline sqInt intAtPointerput(char *ptr, int val) { return > (sqInt)(*((int *)ptr)= val); } > 141 static inline sqInt longAtPointer(char *ptr) { return *(sqInt > *)ptr; } > -> 142 static inline sqInt longAtPointerput(char *ptr, sqInt val) { > return *(sqInt *)ptr= val; } > 143 static inline sqLong long64AtPointer(char *ptr) { return *(sqLong > *)ptr; } > 144 static inline sqLong long64AtPointerput(char *ptr, sqLong val) { > return *(sqLong *)ptr= val; } > 145 static inline float singleFloatAtPointer(char *ptr) { return *( > float *)ptr; } > Target 0: (Pharo) stopped. > > > (lldb) bt > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS > (code=2, address=0x157800000) > * frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", > val=5513312480) at sqMemoryAccess.h:142:84 [opt] > frame #1: 0x00000001000161cf Pharo`marryFrameSP(theFP=, > theSP=0x0000000000000000) at gcc3x-cointerp.c:68120:3[opt] > frame #2: 0x000000010001f5ac Pharo`ceContextinstVar(maybeContext=5510359872, > slotIndex=0) at gcc3x-cointerp.c:15221:12 [opt] > frame #3: 0x00000001480017d6 > frame #4: 0x00000001000022be Pharo`interpret at gcc3x-cointerp.c:2755: > 3 [opt] > frame #5: 0x00000001000bc244 Pharo`-[sqSqueakMainApplication > runSqueak](self=0x0000000101c76dc0, _cmd=) at > sqSqueakMainApplication.m:201:2 [opt] > frame #6: 0x00007fff3326729b Foundation`__NSFirePerformWithOrder + 360 > frame #7: 0x00007fff30ad3335 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ > + 23 > frame #8: 0x00007fff30ad3267 CoreFoundation`__CFRunLoopDoObservers + > 457 > frame #9: 0x00007fff30ad2805 CoreFoundation`__CFRunLoopRun + 874 > frame #10: 0x00007fff30ad1e3e CoreFoundation`CFRunLoopRunSpecific + > 462 > frame #11: 0x00007fff2f6feabd HIToolbox`RunCurrentEventLoopInMode + > 292 > frame #12: 0x00007fff2f6fe6f4 HIToolbox`ReceiveNextEventCommon + 359 > frame #13: 0x00007fff2f6fe579 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter > + 64 > frame #14: 0x00007fff2dd44039 AppKit`_DPSNextEvent + 883 > frame #15: 0x00007fff2dd42880 AppKit`-[NSApplication(NSEvent) > _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352 > frame #16: 0x00007fff2dd3458e AppKit`-[NSApplication run] + 658 > frame #17: 0x00007fff2dd06396 AppKit`NSApplicationMain + 777 > frame #18: 0x00007fff6ab3ecc9 libdyld.dylib`start + 1 > > > (lldb) call printCallStack() > 0x7ffeefbe3920 M INVALID RECEIVER>(nil) 0x148716b40: a(n) bad class > 0x7ffeefbe3968 M [] in INVALID RECEIVER>(nil) > Context(Object)>>doesNotUnderstand: #bounds > 0x194648118: a(n) bad class > 0x7ffeefbe39a8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class > 0x7ffeefbe39e8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class > 0x7ffeefbe3a30 I INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe3a80 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbe3ab8 M INVALID RECEIVER>(nil) 0x148163cd0: a(n) bad class > 0x7ffeefbe3b08 I INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class > 0x7ffeefbe3b40 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class > 0x7ffeefbe3b78 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class > 0x7ffeefbe3bc0 I INVALID RECEIVER>(nil) 0x148716a38: a(n) bad class > 0x7ffeefbe3c10 I INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class > 0x7ffeefbe3c40 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class > 0x7ffeefbe3c78 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class > 0x7ffeefbe3cc0 M INVALID RECEIVER>(nil) 0x14d0337f0: a(n) bad class > 0x7ffeefbe3d08 M INVALID RECEIVER>(nil) 0x14d033738: a(n) bad class > 0x7ffeefbe3d50 M INVALID RECEIVER>(nil) 0x14d033680: a(n) bad class > 0x7ffeefbe3d98 M INVALID RECEIVER>(nil) 0x1946493f0: a(n) bad class > 0x7ffeefbe3de0 M INVALID RECEIVER>(nil) 0x194649338: a(n) bad class > 0x7ffeefbe3e28 M INVALID RECEIVER>(nil) 0x194649280: a(n) bad class > 0x7ffeefbe3e70 M INVALID RECEIVER>(nil) 0x1946491c8: a(n) bad class > 0x7ffeefbe3eb8 M INVALID RECEIVER>(nil) 0x194649110: a(n) bad class > 0x7ffeefbec768 M INVALID RECEIVER>(nil) 0x194649038: a(n) bad class > 0x7ffeefbec7b0 M INVALID RECEIVER>(nil) 0x194648f60: a(n) bad class > 0x7ffeefbec7f8 M INVALID RECEIVER>(nil) 0x194648e88: a(n) bad class > 0x7ffeefbec840 M INVALID RECEIVER>(nil) 0x194648dd0: a(n) bad class > 0x7ffeefbec888 M INVALID RECEIVER>(nil) 0x194648d18: a(n) bad class > 0x7ffeefbec8d0 M INVALID RECEIVER>(nil) 0x194648c60: a(n) bad class > 0x7ffeefbec918 M INVALID RECEIVER>(nil) 0x194648b88: a(n) bad class > 0x7ffeefbec960 M INVALID RECEIVER>(nil) 0x194648ad0: a(n) bad class > 0x7ffeefbec9a8 M INVALID RECEIVER>(nil) 0x194648a18: a(n) bad class > 0x7ffeefbec9f0 M INVALID RECEIVER>(nil) 0x194648960: a(n) bad class > 0x7ffeefbeca38 M INVALID RECEIVER>(nil) 0x1946488a8: a(n) bad class > 0x7ffeefbeca80 M INVALID RECEIVER>(nil) 0x1946487f0: a(n) bad class > 0x7ffeefbecac8 M INVALID RECEIVER>(nil) 0x194648708: a(n) bad class > 0x7ffeefbecb10 M INVALID RECEIVER>(nil) 0x194648620: a(n) bad class > 0x7ffeefbecb58 M INVALID RECEIVER>(nil) 0x194648508: a(n) bad class > 0x7ffeefbecba0 M INVALID RECEIVER>(nil) 0x194648450: a(n) bad class > 0x7ffeefbecbe8 M INVALID RECEIVER>(nil) 0x1481641a8: a(n) bad class > 0x7ffeefbecc30 M INVALID RECEIVER>(nil) 0x1481640f0: a(n) bad class > 0x7ffeefbecc78 M INVALID RECEIVER>(nil) 0x148164038: a(n) bad class > 0x7ffeefbeccc0 M INVALID RECEIVER>(nil) 0x148163f80: a(n) bad class > 0x7ffeefbecd08 M INVALID RECEIVER>(nil) 0x148163ec8: a(n) bad class > 0x7ffeefbecd50 M INVALID RECEIVER>(nil) 0x148163e10: a(n) bad class > 0x7ffeefbecd98 M INVALID RECEIVER>(nil) 0x148163d28: a(n) bad class > 0x7ffeefbecde0 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class > 0x7ffeefbece28 M INVALID RECEIVER>(nil) 0x148163b38: a(n) bad class > 0x7ffeefbece70 M INVALID RECEIVER>(nil) 0x148163a80: a(n) bad class > 0x7ffeefbeceb8 M INVALID RECEIVER>(nil) 0x1481639c8: a(n) bad class > 0x7ffeefbe7758 M INVALID RECEIVER>(nil) 0x1481638e0: a(n) bad class > 0x7ffeefbe77a0 M INVALID RECEIVER>(nil) 0x148163808: a(n) bad class > 0x7ffeefbe77e8 M INVALID RECEIVER>(nil) 0x148163750: a(n) bad class > 0x7ffeefbe7830 M INVALID RECEIVER>(nil) 0x148163698: a(n) bad class > 0x7ffeefbe7878 M INVALID RECEIVER>(nil) 0x1481635c0: a(n) bad class > 0x7ffeefbe78c0 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class > 0x7ffeefbe7908 M INVALID RECEIVER>(nil) 0x148163408: a(n) bad class > 0x7ffeefbe7950 M INVALID RECEIVER>(nil) 0x148163350: a(n) bad class > 0x7ffeefbe7998 M INVALID RECEIVER>(nil) 0x148163298: a(n) bad class > 0x7ffeefbe79e0 M INVALID RECEIVER>(nil) 0x148163188: a(n) bad class > 0x7ffeefbe7a28 M INVALID RECEIVER>(nil) 0x148163098: a(n) bad class > 0x7ffeefbe7a70 M INVALID RECEIVER>(nil) 0x148162fa0: a(n) bad class > 0x7ffeefbe7ab8 M INVALID RECEIVER>(nil) 0x148162ec8: a(n) bad class > 0x7ffeefbe7b00 M INVALID RECEIVER>(nil) 0x148162e10: a(n) bad class > 0x7ffeefbe7b48 M INVALID RECEIVER>(nil) 0x148712a08: a(n) bad class > 0x7ffeefbe7b90 M INVALID RECEIVER>(nil) 0x148712950: a(n) bad class > 0x7ffeefbe7bd8 M INVALID RECEIVER>(nil) 0x148712898: a(n) bad class > 0x7ffeefbe7c20 M INVALID RECEIVER>(nil) 0x148713cc0: a(n) bad class > 0x7ffeefbe7c68 M INVALID RECEIVER>(nil) 0x148713018: a(n) bad class > 0x7ffeefbe7cb0 M INVALID RECEIVER>(nil) 0x148713480: a(n) bad class > 0x7ffeefbe7cf8 M INVALID RECEIVER>(nil) 0x148713140: a(n) bad class > 0x7ffeefbe7d40 M INVALID RECEIVER>(nil) 0x148713928: a(n) bad class > 0x7ffeefbe7d88 M INVALID RECEIVER>(nil) 0x1487133c8: a(n) bad class > 0x7ffeefbe7de0 I INVALID RECEIVER>(nil) 0x148713238: a(n) bad class > 0x7ffeefbe7e28 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class > 0x7ffeefbe7e70 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class > 0x7ffeefbe7eb8 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeea68 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeeac8 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad > class > 0x7ffeefbeeb00 M INVALID RECEIVER>(nil) 0x148713108: a(n) bad class > 0x7ffeefbeeb50 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class > 0x7ffeefbeeb98 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class > 0x7ffeefbeebe0 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class > 0x7ffeefbeec10 M INVALID RECEIVER>(nil) 0x9=1 > 0x7ffeefbeec48 M INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class > 0x7ffeefbeeca0 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad > class > 0x7ffeefbeecd0 M INVALID RECEIVER>(nil) 0x1487130d0: a(n) bad class > 0x7ffeefbeed10 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeed58 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeedb0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class > 0x7ffeefbeedf0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class > 0x7ffeefbeee20 M [] in INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad > class > 0x7ffeefbeee78 M INVALID RECEIVER>(nil) 0x148162df0: a(n) bad class > 0x7ffeefbeeec0 M INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class > 0x7ffeefbe5978 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe59d8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad > class > 0x7ffeefbe5a18 M INVALID RECEIVER>(nil) 0x148163150: a(n) bad class > 0x7ffeefbe5a68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5aa0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5ad8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad > class > 0x7ffeefbe5b08 M INVALID RECEIVER>(nil) 0x1481634c0: a(n) bad class > 0x7ffeefbe5b48 M INVALID RECEIVER>(nil) 0x14c403ca8: a(n) bad class > 0x7ffeefbe5b88 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5bc0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5bf0 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad > class > 0x7ffeefbe5c20 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5c68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5c98 M INVALID RECEIVER>(nil) 0x194656468: a(n) bad class > 0x7ffeefbe5cd0 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbe5d00 M INVALID RECEIVER>(nil) 0x148163bf0: a(n) bad class > 0x7ffeefbe5d50 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbe5d88 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbe5dc0 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbe5e00 M INVALID RECEIVER>(nil) 0x148163de0: a(n) bad class > 0x7ffeefbe5e38 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe5e80 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe5eb8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbdf9d8 M INVALID RECEIVER>(nil) 0x194648430: a(n) bad class > 0x7ffeefbdfa10 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbdfa50 M [] in INVALID RECEIVER>(nil) 0x148a02930: a(n) bad > class > 0x7ffeefbdfa90 M INVALID RECEIVER>(nil) 0x1946486d8: a(n) bad class > 0x7ffeefbdfad0 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class > 0x7ffeefbdfb10 M INVALID RECEIVER>(nil) 0x1946485e0: a(n) bad class > 0x7ffeefbdfb48 M INVALID RECEIVER>(nil) 0x1489f7da8: a(n) bad class > 0x7ffeefbdfb80 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class > 0x7ffeefbdfbb8 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbdfbe8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbdfc20 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbdfc58 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbdfc98 M INVALID RECEIVER>(nil) 0x194648c40: a(n) bad class > 0x7ffeefbdfcc8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbdfd08 M INVALID RECEIVER>(nil) 0x194648f40: a(n) bad class > 0x7ffeefbdfd40 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbdfd70 M INVALID RECEIVER>(nil) 0x14902a730: a(n) bad class > 0x7ffeefbdfdb0 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbdfde8 M INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class > 0x7ffeefbdfe20 M [] in INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad > class > 0x7ffeefbdfe70 M [] in INVALID RECEIVER>(nil) 0x14d032f98: a(n) bad > class > 0x7ffeefbdfeb8 M INVALID RECEIVER>(nil) 0x14d032fe0: a(n) bad class > > (callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil)) > 72783 > 0x14d033738 is not a context > > > OK, interesting. Both the assert failure and the badly corrupted stack > trace lead me to believe that the issue happens long before the crash and > is probably a stack corruption, either by a primitive cutting back the > stack incorrectly, or some other hot riot ion (for example are all those > nils in INVALID RECEIVER>(nil) real or an artifact of attempting to print > an invalid value?). > > So the next step is to run the asset vm with leak checking turned on. Use > > myvm —leakcheck 3 to check after every GC > > We can add, eg leak checking after an FFI call, in an afternoon > > A more realistic setup would be to run GT with an assert headless vm. But > until now I did not figure out how to build an assert vm for the > gt-headless branch from https://github.com/feenkcom/opensmalltalk-vm. > > Cheers, > Andrei > > > [1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/258 > > [2] checking for cairo's PNG functions feature... > configure: WARNING: Could not find libpng in the pkg-config search path > checking whether cairo's PNG functions feature could be enabled... no > configure: error: recommended PNG functions feature could not be enabled > > On 14 Sep 2020, at 17:32, Eliot Miranda wrote: > > Hi Andrei, > > > On Sep 14, 2020, at 7:15 AM, Andrei Chis > wrote: > > Hi Eliot, > > On 12 Sep 2020, at 01:42, Eliot Miranda wrote: > > Hi Andrei, > > On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis > wrote: > >> >> Hi Eliot, >> >> Thanks for the answer. That helps to understand what is going on and it >> can explain why just adding a call to `self pc` makes the crash disappear. >> >> Just what was maybe not obvious in my previous email is that we get this >> problem more or less randomly. We have tests for verifying that tools work >> when various extensions raise exceptions (these tests copy the stack). >> Sometimes they work correctly and sometimes they crash. These crashes >> happen in various tests and until now the only common thing we noticed is >> that the pc of the contexts where the crash happens looks off. Also the >> contexts in which this happens are at the beginning of the stack so part of >> a long computation (it gets copied multiple times). >> >> Initially we suspected that there is some memory corruption somewhere due >> to external calls/memory. Just the fact that calling `self pc` before seems >> to fix the issue reduces those chances. But who knows. >> > > Well, it does look like a VM bug. The VM is somehow failing to intercept > some access, perhaps in shallow copy. Weird. I shall try and reproduce. > Is there anything special about the process you copy using copyTo: ? > > > I don’t think there is something special about that process. It is the > process that we start to run tests [1]. The exception happens in the > running process and the crash is when copying the stack of that running > process. > > > Ok, cool. What I’d like to do is get a copy of your test setup and run it > in an assert vm to try and get more information. AFAICT the vm code is > good do the bug is not obvious. An assert vm may give more information > before the crash. Have you tried running the system on an assert vm yet? > > Checked some previous logs and we get these kinds of crashes on the CI > server since at least two years. So it does not look like a new bug (but > who knows). > > > (see below) > > On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda >> wrote: >> >>> >>> Hi Andrei, >>> >>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis >>> wrote: >>> >>>> >>>> Hi, >>>> >>>> We are getting often crashes on our CI when calling `Context>copyTo:` >>>> in a GT image and a vm build from >>>> https://github.com/feenkcom/opensmalltalk-vm. >>>> >>>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a >>>> context leading to a segmentation fault crash. Looking at that context in >>>> lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>>> >>>> (lldb) call (void *) printOop(0x1206b6990) >>>> 0x1206b6990: a(n) Context >>>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>>> 0x1206b6b28 0x1206b6b50 >>>> >>>> >>>> Can this indicate some corruption or is it expected to have such >>>> values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also >>>> handles negative values for the pc which suggests that this might be >>>> expected. >>>> >>> >>> The issue is that that value is expected *inside* the VM. It is the >>> frame pointer for the context. But above the Vm this value should be >>> hidden. The VM should intercept all accesses to such fields in contexts and >>> automatically map them back to the appropriate values that the image >>> expects to see. [The same thing is true for CompiledMethods; inside the VM >>> methods may refer to their JITted code, but this is invisible from the >>> image]. Intercepting access to Context state already happens with inst var >>> access in methods, with the shallowCopy primitive, with instVarAt: et al, >>> etc. >>> >>> So I expect the issue here is that copyTo: invokes some primitive which >>> does not (yet) check for a context receiver and/or argument, and hence >>> accidentally it reveals the hidden state to the image and a crash results. >>> What I need to know are the definitions for copyTo: and copy, etc all the >>> way down to primitives. >>> >> >> Here is the source code: >> > > Cool, nothing unusual here. This should all work perfectly. Tis a VM > bug. However... > > >> Context >> copyTo: aContext >> "Copy self and my sender chain down to, but not including, aContext. End >> of copied chain will have nil sender." >> | copy | >> self == aContext ifTrue: [^ nil]. >> copy := self copy. >> self sender ifNotNil: [ >> copy privSender: (self sender copyTo: aContext)]. >> ^ copy >> > > Let me suggest > > Context >> copyTo: aContext > "Copy self and my sender chain down to, but not including, aContext. > End of copied chain will have nil sender." > | copy | > self == aContext ifTrue: [^ nil]. > copy := self copy. > self sender ifNotNil: > [:mySender| copy privSender: (mySender copyTo: aContext)]. > ^ copy > > > Nice! > > I also tried the non-recursive implementation of Context>>#copyTo: from > Squeak and it also crashes. > > Not sure if related but now in the same image as before I got a different > crash and printing the stack does not work. But this time the error seems > to come from handleStackOverflow > > (lldb) call (void *)printCallStack() > invalid frame pointer > invalid frame pointer > invalid frame pointer > error: Execution was interrupted, reason: EXC_BAD_ACCESS > (code=EXC_I386_GPFLT). > The process has been returned to the state before expression evaluation. > (lldb) bt > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS > (code=2, address=0x121e00000) > * frame #0: 0x0000000100162258 libGlamorousToolkitVMCore.dylib`marryFrameSP > + 584 > frame #1: 0x0000000100172982 libGlamorousToolkitVMCore.dylib`handleStackOverflow > + 354 > frame #2: 0x000000010016b025 libGlamorousToolkitVMCore.dylib`ceStackOverflow > + 149 > frame #3: 0x00000001100005b3 > frame #4: 0x0000000100174d99 libGlamorousToolkitVMCore.dylib`ptEnterInterpreterFromCallback > + 73 > > > Cheers, > Andrei > > [1] ./GlamorousToolkit.app/Contents/MacOS/GlamorousToolkit Pharo.image > examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' > Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' > > > > Object>>#copy >> ^self shallowCopy postCopy >> >> Object >> shallowCopy >> | class newObject index | >> >> class := self class. >> class isVariable >> ifTrue: >> [index := self basicSize. >> newObject := class basicNew: index. >> [index > 0] >> whileTrue: >> [newObject basicAt: index put: (self basicAt: index). >> index := index - 1]] >> ifFalse: [newObject := class basicNew]. >> index := class instSize. >> [index > 0] >> whileTrue: >> [newObject instVarAt: index put: (self instVarAt: index). >> index := index - 1]. >> ^ newObject >> >> The code of the primitiveClone looks the same [1] >> >> >>> Changing `Context>copyTo:` by adding a `self pc` before calling `self >>>> copy` leads to no more crashes. Not sure if there is a reason for that or >>>> just plain luck. >>>> >>>> A simple reduced stack is below (more details in this issue [1]). The >>>> crash happens always with contexts reified as objects (in this case >>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>>> Could this suggest some kind of issue in the vm when reifying contexts, >>>> or just some other problem with memory corruption? >>>> >>> >>> This looks like an oversight in some primitive. Here for example is the >>> implementation of the shallowCopy primitive, a.k.a. clone, and you can see >>> where it explcitly intercepts access to a context. >>> >>> primitiveClone >>> "Return a shallow copy of the receiver. >>> Special-case non-single contexts (because of context-to-stack mapping). >>> Can't fail for contexts cuz of image context instantiation code >>> (sigh)." >>> >>> | rcvr newCopy | >>> rcvr := self stackTop. >>> (objectMemory isImmediate: rcvr) >>> ifTrue: >>> [newCopy := rcvr] >>> ifFalse: >>> [(objectMemory isContextNonImm: rcvr) >>> ifTrue: >>> [newCopy := self cloneContext: rcvr] >>> ifFalse: >>> [(argumentCount = 0 >>> or: [(objectMemory isForwarded: rcvr) not]) >>> ifTrue: [newCopy := objectMemory clone: rcvr] >>> ifFalse: [newCopy := 0]]. >>> newCopy = 0 ifTrue: >>> [^self primitiveFailFor: PrimErrNoMemory]]. >>> self pop: argumentCount + 1 thenPush: newCopy >>> >>> But since Squeak doesn't have copyTo: I have no idea what primitive is >>> being used. I'm guessing 168 primitiveCopyObject, which seems to check for >>> a Context receiver, but not for a CompiledCode receiver. What does the >>> primitive failure code look like? Can you post the copyTo: implementations >>> here please? >>> >> >> The code is above. I also see Context>>#copyTo: in Squeak calling also >> Object>>copy for contexts. >> >> When a crash happens we don't get the exact same error all the time. For >> example we get most often on mac: >> >> Process 35690 stopped >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS >> (code=EXC_I386_GPFLT) >> frame #0: 0x00000001100b1004 >> -> 0x1100b1004: inl $0x4c, %eax >> 0x1100b1006: leal -0x5c(%rip), %eax >> 0x1100b100c: pushq %r8 >> 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 >> Target 0: (GlamorousToolkit) stopped. >> >> >> Process 29929 stopped >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT >> (code=EXC_I386_BPT, subcode=0x0) >> frame #0: 0x00000001100fe7ed >> -> 0x1100fe7ed: int3 >> 0x1100fe7ee: int3 >> 0x1100fe7ef: int3 >> 0x1100fe7f0: int3 >> Target 0: (GlamorousToolkit) stopped. >> >> >> [1] >> https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 >> >> Cheers, >> Andrei >> >> >>> >>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>>> ... >>>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>>> ... >>>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>>> 0x1206b5b98 s Set>collect: >>>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>>> 0x1206b6a48 s BlockClosure>ensure: >>>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>> 0x1207e6620 s BlockClosure>on:do: >>>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>> 0x1207a83e0 s BlockClosure>on:do: >>>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>> 0x1207bf830 s [] in BlockClosure>newProcess >>>> >>>> Cheers, >>>> Andrei >>>> >>>> >>>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>>> >>>> >>> >>> -- >>> _,,,^..^,,,_ >>> best, Eliot >>> >> > > -- > _,,,^..^,,,_ > best, Eliot > > > _,,,^..^,,,_ (phone) > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Tue Sep 22 17:22:05 2020 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 22 Sep 2020 17:22:05 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2198 Message-ID: <20200922172205.1.5586E50BD940A4ED@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Sep 22 17:25:34 2020 From: builds at travis-ci.org (Travis CI) Date: Tue, 22 Sep 2020 17:25:34 +0000 Subject: [Vm-dev] Failed: OpenSmalltalk/opensmalltalk-vm#2198 (Cog - dedacc1) In-Reply-To: Message-ID: <5f6a338eff9f_13f97a9d17984142047@travis-tasks-6cfb4ddc48-zxctn.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2198 Status: Failed Duration: 6 mins and 59 secs Commit: dedacc1 (Cog) Author: Eliot Miranda Message: And fix some include order issues, and especially remove the requirement for the iOS sqPlatformSpecific.h to include stdio.h (for FILE). View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/28fd184146eb...dedacc1d8b55 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/729378871?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Tue Sep 22 18:50:34 2020 From: noreply at github.com (Eliot Miranda) Date: Tue, 22 Sep 2020 11:50:34 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 160485: CogVM source as per Sound-eem.75. Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 160485ce33a4138c19b7e61e090d667367c5a369 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/160485ce33a4138c19b7e61e090d667367c5a369 Author: Eliot Miranda Date: 2020-09-22 (Tue, 22 Sep 2020) Changed paths: M src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c Log Message: ----------- CogVM source as per Sound-eem.75. Better version of 64-bit primitiveMixSampledSound. From no-reply at appveyor.com Tue Sep 22 18:54:55 2020 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 22 Sep 2020 18:54:55 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2199 Message-ID: <20200922185455.1.68B7D0D4BB4289E1@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Sep 22 18:57:39 2020 From: builds at travis-ci.org (Travis CI) Date: Tue, 22 Sep 2020 18:57:39 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2199 (Cog - 160485c) In-Reply-To: Message-ID: <5f6a4926b9f7a_13f94e0f1a90022894f@travis-tasks-6cfb4ddc48-mrdtd.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2199 Status: Still Failing Duration: 6 mins and 34 secs Commit: 160485c (Cog) Author: Eliot Miranda Message: CogVM source as per Sound-eem.75. Better version of 64-bit primitiveMixSampledSound. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/dedacc1d8b55...160485ce33a4 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/729403259?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Tue Sep 22 19:09:39 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Tue, 22 Sep 2020 12:09:39 -0700 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: <68A208A2-11AF-448B-9FE6-357A673B32D9@gmail.com> References: <9A2F6367-8B79-4A0D-B82A-A7E2A391A764@gmail.com> <68A208A2-11AF-448B-9FE6-357A673B32D9@gmail.com> Message-ID: Hi Andrei, On Tue, Sep 22, 2020 at 5:21 AM Andrei Chis wrote: > > Hi Eliot, > > Unfortunately with the assert vm with memory leak checks it seems I cannot > reproduce the problem. > I’ll try to run it a few more times, maybe I get lucky and get a crash (a > run takes a few hours). > > For our case, calling `self pc` before copying a context really helped. > Before almost 50% of our builds were failing; now we get no more failures > at all. > Thanks for your insights! > > Are there other ways to get relevant/helpful details from a crash with a > normal vm? > The crash.log should include the primitive trace log, which is the last 256 external primitives the VM has called. Can you post that part of the crash log? The memory leak checking can be turned on in a production VM, it's just that the output is a bit harder to parse. So try that also. > Cheers, > Andrei > > > On 15 Sep 2020, at 01:27, Eliot Miranda wrote: > > Hi Andrei, > > > On Sep 14, 2020, at 3:22 PM, Andrei Chis > wrote: > > Hi Eliot, > > The setup in GT is a bit customised (some changes in the headless vm, some > custom plugins, custom rendering) so I first thought it will be impossible > to reproduce the bug in a more standard manner. > However turns out it is possible. If I use the following script after > running the tests a few times in lldb I get the crash starting from a plain > Pharo 8 image. > > $ curl https://get.pharo.org/64/80+vm | bash > $ curl -L > https://raw.githubusercontent.com/feenkcom/gtoolkit/master/scripts/localbuild/loadgt.st > -o loadgt.st > $ ./pharo Pharo.image st --quit > > $ lldb ./pharo-vm/Pharo.app/Contents/MacOS/Pharo > (lldb) run --headless Pharo.image examples --junit-xml-output > 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc > 'Bloc-.*' 'Sparta-.*' > > > I also tried to compile the vm myself on Mac (Catalina 10.15.6). I build a > normal and assert for https://github.com/OpenSmalltalk/opensmalltalk-vm > and https://github.com/pharo-project/opensmalltalk-vm from the cog > branch. > In both cases I get an issue related to pixman 0.34.0 [1] but that’s easy > to workaround. For https://github.com/OpenSmalltalk/opensmalltalk-vm I > got an extra problem related to Cairo [2] and had to change libpng > from libpng16 to libpng12 to get it to work. > > With both the normal VMs I could reproduce the bug and got stacks with the > Context>copyTo: messages. > > With the assert VMs I only got a crash for now with the assert vm from > https://github.com/pharo-project/opensmalltalk-vm. However there is no > Context>copyTo: and the memory seems quite corrupted. > I suspect the crash also appears in > https://github.com/OpenSmalltalk/opensmalltalk-vm but seems that with > the assert vm it is much harder to reproduce. Had to run the tests 20 times > and got one crash; running the tests once take 20-30 minutes. > > > This is from only crash until now with the assert vm. Not sure if they are > helpful or not, or actually related to the problem. > > validInstructionPointerinFrame(GIV(instructionPointer), GIV(framePointer)) > 18471 > Pharo was compiled with optimization - stepping may behave oddly; > variables may not be available. > Process 73731 stopped > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS > (code=2, address=0x157800000) > frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", > val=5513312480) at sqMemoryAccess.h:142:84 [opt] > 139 static inline sqInt intAtPointer(char *ptr) { return (sqInt)(*(( > int *)ptr)); } > 140 static inline sqInt intAtPointerput(char *ptr, int val) { return > (sqInt)(*((int *)ptr)= val); } > 141 static inline sqInt longAtPointer(char *ptr) { return *(sqInt > *)ptr; } > -> 142 static inline sqInt longAtPointerput(char *ptr, sqInt val) { > return *(sqInt *)ptr= val; } > 143 static inline sqLong long64AtPointer(char *ptr) { return *(sqLong > *)ptr; } > 144 static inline sqLong long64AtPointerput(char *ptr, sqLong val) { > return *(sqLong *)ptr= val; } > 145 static inline float singleFloatAtPointer(char *ptr) { return *( > float *)ptr; } > Target 0: (Pharo) stopped. > > > (lldb) bt > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS > (code=2, address=0x157800000) > * frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", > val=5513312480) at sqMemoryAccess.h:142:84 [opt] > frame #1: 0x00000001000161cf Pharo`marryFrameSP(theFP=, > theSP=0x0000000000000000) at gcc3x-cointerp.c:68120:3[opt] > frame #2: 0x000000010001f5ac Pharo`ceContextinstVar(maybeContext=5510359872, > slotIndex=0) at gcc3x-cointerp.c:15221:12 [opt] > frame #3: 0x00000001480017d6 > frame #4: 0x00000001000022be Pharo`interpret at gcc3x-cointerp.c:2755: > 3 [opt] > frame #5: 0x00000001000bc244 Pharo`-[sqSqueakMainApplication > runSqueak](self=0x0000000101c76dc0, _cmd=) at > sqSqueakMainApplication.m:201:2 [opt] > frame #6: 0x00007fff3326729b Foundation`__NSFirePerformWithOrder + 360 > frame #7: 0x00007fff30ad3335 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ > + 23 > frame #8: 0x00007fff30ad3267 CoreFoundation`__CFRunLoopDoObservers + > 457 > frame #9: 0x00007fff30ad2805 CoreFoundation`__CFRunLoopRun + 874 > frame #10: 0x00007fff30ad1e3e CoreFoundation`CFRunLoopRunSpecific + > 462 > frame #11: 0x00007fff2f6feabd HIToolbox`RunCurrentEventLoopInMode + > 292 > frame #12: 0x00007fff2f6fe6f4 HIToolbox`ReceiveNextEventCommon + 359 > frame #13: 0x00007fff2f6fe579 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter > + 64 > frame #14: 0x00007fff2dd44039 AppKit`_DPSNextEvent + 883 > frame #15: 0x00007fff2dd42880 AppKit`-[NSApplication(NSEvent) > _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352 > frame #16: 0x00007fff2dd3458e AppKit`-[NSApplication run] + 658 > frame #17: 0x00007fff2dd06396 AppKit`NSApplicationMain + 777 > frame #18: 0x00007fff6ab3ecc9 libdyld.dylib`start + 1 > > > (lldb) call printCallStack() > 0x7ffeefbe3920 M INVALID RECEIVER>(nil) 0x148716b40: a(n) bad class > 0x7ffeefbe3968 M [] in INVALID RECEIVER>(nil) > Context(Object)>>doesNotUnderstand: #bounds > 0x194648118: a(n) bad class > 0x7ffeefbe39a8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class > 0x7ffeefbe39e8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class > 0x7ffeefbe3a30 I INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe3a80 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbe3ab8 M INVALID RECEIVER>(nil) 0x148163cd0: a(n) bad class > 0x7ffeefbe3b08 I INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class > 0x7ffeefbe3b40 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class > 0x7ffeefbe3b78 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class > 0x7ffeefbe3bc0 I INVALID RECEIVER>(nil) 0x148716a38: a(n) bad class > 0x7ffeefbe3c10 I INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class > 0x7ffeefbe3c40 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class > 0x7ffeefbe3c78 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class > 0x7ffeefbe3cc0 M INVALID RECEIVER>(nil) 0x14d0337f0: a(n) bad class > 0x7ffeefbe3d08 M INVALID RECEIVER>(nil) 0x14d033738: a(n) bad class > 0x7ffeefbe3d50 M INVALID RECEIVER>(nil) 0x14d033680: a(n) bad class > 0x7ffeefbe3d98 M INVALID RECEIVER>(nil) 0x1946493f0: a(n) bad class > 0x7ffeefbe3de0 M INVALID RECEIVER>(nil) 0x194649338: a(n) bad class > 0x7ffeefbe3e28 M INVALID RECEIVER>(nil) 0x194649280: a(n) bad class > 0x7ffeefbe3e70 M INVALID RECEIVER>(nil) 0x1946491c8: a(n) bad class > 0x7ffeefbe3eb8 M INVALID RECEIVER>(nil) 0x194649110: a(n) bad class > 0x7ffeefbec768 M INVALID RECEIVER>(nil) 0x194649038: a(n) bad class > 0x7ffeefbec7b0 M INVALID RECEIVER>(nil) 0x194648f60: a(n) bad class > 0x7ffeefbec7f8 M INVALID RECEIVER>(nil) 0x194648e88: a(n) bad class > 0x7ffeefbec840 M INVALID RECEIVER>(nil) 0x194648dd0: a(n) bad class > 0x7ffeefbec888 M INVALID RECEIVER>(nil) 0x194648d18: a(n) bad class > 0x7ffeefbec8d0 M INVALID RECEIVER>(nil) 0x194648c60: a(n) bad class > 0x7ffeefbec918 M INVALID RECEIVER>(nil) 0x194648b88: a(n) bad class > 0x7ffeefbec960 M INVALID RECEIVER>(nil) 0x194648ad0: a(n) bad class > 0x7ffeefbec9a8 M INVALID RECEIVER>(nil) 0x194648a18: a(n) bad class > 0x7ffeefbec9f0 M INVALID RECEIVER>(nil) 0x194648960: a(n) bad class > 0x7ffeefbeca38 M INVALID RECEIVER>(nil) 0x1946488a8: a(n) bad class > 0x7ffeefbeca80 M INVALID RECEIVER>(nil) 0x1946487f0: a(n) bad class > 0x7ffeefbecac8 M INVALID RECEIVER>(nil) 0x194648708: a(n) bad class > 0x7ffeefbecb10 M INVALID RECEIVER>(nil) 0x194648620: a(n) bad class > 0x7ffeefbecb58 M INVALID RECEIVER>(nil) 0x194648508: a(n) bad class > 0x7ffeefbecba0 M INVALID RECEIVER>(nil) 0x194648450: a(n) bad class > 0x7ffeefbecbe8 M INVALID RECEIVER>(nil) 0x1481641a8: a(n) bad class > 0x7ffeefbecc30 M INVALID RECEIVER>(nil) 0x1481640f0: a(n) bad class > 0x7ffeefbecc78 M INVALID RECEIVER>(nil) 0x148164038: a(n) bad class > 0x7ffeefbeccc0 M INVALID RECEIVER>(nil) 0x148163f80: a(n) bad class > 0x7ffeefbecd08 M INVALID RECEIVER>(nil) 0x148163ec8: a(n) bad class > 0x7ffeefbecd50 M INVALID RECEIVER>(nil) 0x148163e10: a(n) bad class > 0x7ffeefbecd98 M INVALID RECEIVER>(nil) 0x148163d28: a(n) bad class > 0x7ffeefbecde0 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class > 0x7ffeefbece28 M INVALID RECEIVER>(nil) 0x148163b38: a(n) bad class > 0x7ffeefbece70 M INVALID RECEIVER>(nil) 0x148163a80: a(n) bad class > 0x7ffeefbeceb8 M INVALID RECEIVER>(nil) 0x1481639c8: a(n) bad class > 0x7ffeefbe7758 M INVALID RECEIVER>(nil) 0x1481638e0: a(n) bad class > 0x7ffeefbe77a0 M INVALID RECEIVER>(nil) 0x148163808: a(n) bad class > 0x7ffeefbe77e8 M INVALID RECEIVER>(nil) 0x148163750: a(n) bad class > 0x7ffeefbe7830 M INVALID RECEIVER>(nil) 0x148163698: a(n) bad class > 0x7ffeefbe7878 M INVALID RECEIVER>(nil) 0x1481635c0: a(n) bad class > 0x7ffeefbe78c0 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class > 0x7ffeefbe7908 M INVALID RECEIVER>(nil) 0x148163408: a(n) bad class > 0x7ffeefbe7950 M INVALID RECEIVER>(nil) 0x148163350: a(n) bad class > 0x7ffeefbe7998 M INVALID RECEIVER>(nil) 0x148163298: a(n) bad class > 0x7ffeefbe79e0 M INVALID RECEIVER>(nil) 0x148163188: a(n) bad class > 0x7ffeefbe7a28 M INVALID RECEIVER>(nil) 0x148163098: a(n) bad class > 0x7ffeefbe7a70 M INVALID RECEIVER>(nil) 0x148162fa0: a(n) bad class > 0x7ffeefbe7ab8 M INVALID RECEIVER>(nil) 0x148162ec8: a(n) bad class > 0x7ffeefbe7b00 M INVALID RECEIVER>(nil) 0x148162e10: a(n) bad class > 0x7ffeefbe7b48 M INVALID RECEIVER>(nil) 0x148712a08: a(n) bad class > 0x7ffeefbe7b90 M INVALID RECEIVER>(nil) 0x148712950: a(n) bad class > 0x7ffeefbe7bd8 M INVALID RECEIVER>(nil) 0x148712898: a(n) bad class > 0x7ffeefbe7c20 M INVALID RECEIVER>(nil) 0x148713cc0: a(n) bad class > 0x7ffeefbe7c68 M INVALID RECEIVER>(nil) 0x148713018: a(n) bad class > 0x7ffeefbe7cb0 M INVALID RECEIVER>(nil) 0x148713480: a(n) bad class > 0x7ffeefbe7cf8 M INVALID RECEIVER>(nil) 0x148713140: a(n) bad class > 0x7ffeefbe7d40 M INVALID RECEIVER>(nil) 0x148713928: a(n) bad class > 0x7ffeefbe7d88 M INVALID RECEIVER>(nil) 0x1487133c8: a(n) bad class > 0x7ffeefbe7de0 I INVALID RECEIVER>(nil) 0x148713238: a(n) bad class > 0x7ffeefbe7e28 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class > 0x7ffeefbe7e70 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class > 0x7ffeefbe7eb8 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeea68 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeeac8 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad > class > 0x7ffeefbeeb00 M INVALID RECEIVER>(nil) 0x148713108: a(n) bad class > 0x7ffeefbeeb50 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class > 0x7ffeefbeeb98 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class > 0x7ffeefbeebe0 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class > 0x7ffeefbeec10 M INVALID RECEIVER>(nil) 0x9=1 > 0x7ffeefbeec48 M INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class > 0x7ffeefbeeca0 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad > class > 0x7ffeefbeecd0 M INVALID RECEIVER>(nil) 0x1487130d0: a(n) bad class > 0x7ffeefbeed10 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeed58 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class > 0x7ffeefbeedb0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class > 0x7ffeefbeedf0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class > 0x7ffeefbeee20 M [] in INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad > class > 0x7ffeefbeee78 M INVALID RECEIVER>(nil) 0x148162df0: a(n) bad class > 0x7ffeefbeeec0 M INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class > 0x7ffeefbe5978 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe59d8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad > class > 0x7ffeefbe5a18 M INVALID RECEIVER>(nil) 0x148163150: a(n) bad class > 0x7ffeefbe5a68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5aa0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5ad8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad > class > 0x7ffeefbe5b08 M INVALID RECEIVER>(nil) 0x1481634c0: a(n) bad class > 0x7ffeefbe5b48 M INVALID RECEIVER>(nil) 0x14c403ca8: a(n) bad class > 0x7ffeefbe5b88 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5bc0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5bf0 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad > class > 0x7ffeefbe5c20 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5c68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class > 0x7ffeefbe5c98 M INVALID RECEIVER>(nil) 0x194656468: a(n) bad class > 0x7ffeefbe5cd0 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbe5d00 M INVALID RECEIVER>(nil) 0x148163bf0: a(n) bad class > 0x7ffeefbe5d50 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbe5d88 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbe5dc0 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbe5e00 M INVALID RECEIVER>(nil) 0x148163de0: a(n) bad class > 0x7ffeefbe5e38 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe5e80 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbe5eb8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbdf9d8 M INVALID RECEIVER>(nil) 0x194648430: a(n) bad class > 0x7ffeefbdfa10 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbdfa50 M [] in INVALID RECEIVER>(nil) 0x148a02930: a(n) bad > class > 0x7ffeefbdfa90 M INVALID RECEIVER>(nil) 0x1946486d8: a(n) bad class > 0x7ffeefbdfad0 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class > 0x7ffeefbdfb10 M INVALID RECEIVER>(nil) 0x1946485e0: a(n) bad class > 0x7ffeefbdfb48 M INVALID RECEIVER>(nil) 0x1489f7da8: a(n) bad class > 0x7ffeefbdfb80 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class > 0x7ffeefbdfbb8 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbdfbe8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbdfc20 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbdfc58 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class > 0x7ffeefbdfc98 M INVALID RECEIVER>(nil) 0x194648c40: a(n) bad class > 0x7ffeefbdfcc8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbdfd08 M INVALID RECEIVER>(nil) 0x194648f40: a(n) bad class > 0x7ffeefbdfd40 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad > class > 0x7ffeefbdfd70 M INVALID RECEIVER>(nil) 0x14902a730: a(n) bad class > 0x7ffeefbdfdb0 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class > 0x7ffeefbdfde8 M INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class > 0x7ffeefbdfe20 M [] in INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad > class > 0x7ffeefbdfe70 M [] in INVALID RECEIVER>(nil) 0x14d032f98: a(n) bad > class > 0x7ffeefbdfeb8 M INVALID RECEIVER>(nil) 0x14d032fe0: a(n) bad class > > (callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil)) > 72783 > 0x14d033738 is not a context > > > OK, interesting. Both the assert failure and the badly corrupted stack > trace lead me to believe that the issue happens long before the crash and > is probably a stack corruption, either by a primitive cutting back the > stack incorrectly, or some other hot riot ion (for example are all those > nils in INVALID RECEIVER>(nil) real or an artifact of attempting to print > an invalid value?). > > So the next step is to run the asset vm with leak checking turned on. Use > > myvm —leakcheck 3 to check after every GC > > We can add, eg leak checking after an FFI call, in an afternoon > > A more realistic setup would be to run GT with an assert headless vm. But > until now I did not figure out how to build an assert vm for the > gt-headless branch from https://github.com/feenkcom/opensmalltalk-vm. > > Cheers, > Andrei > > > [1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/258 > > [2] checking for cairo's PNG functions feature... > configure: WARNING: Could not find libpng in the pkg-config search path > checking whether cairo's PNG functions feature could be enabled... no > configure: error: recommended PNG functions feature could not be enabled > > On 14 Sep 2020, at 17:32, Eliot Miranda wrote: > > Hi Andrei, > > > On Sep 14, 2020, at 7:15 AM, Andrei Chis > wrote: > > Hi Eliot, > > On 12 Sep 2020, at 01:42, Eliot Miranda wrote: > > Hi Andrei, > > On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis > wrote: > >> >> Hi Eliot, >> >> Thanks for the answer. That helps to understand what is going on and it >> can explain why just adding a call to `self pc` makes the crash disappear. >> >> Just what was maybe not obvious in my previous email is that we get this >> problem more or less randomly. We have tests for verifying that tools work >> when various extensions raise exceptions (these tests copy the stack). >> Sometimes they work correctly and sometimes they crash. These crashes >> happen in various tests and until now the only common thing we noticed is >> that the pc of the contexts where the crash happens looks off. Also the >> contexts in which this happens are at the beginning of the stack so part of >> a long computation (it gets copied multiple times). >> >> Initially we suspected that there is some memory corruption somewhere due >> to external calls/memory. Just the fact that calling `self pc` before seems >> to fix the issue reduces those chances. But who knows. >> > > Well, it does look like a VM bug. The VM is somehow failing to intercept > some access, perhaps in shallow copy. Weird. I shall try and reproduce. > Is there anything special about the process you copy using copyTo: ? > > > I don’t think there is something special about that process. It is the > process that we start to run tests [1]. The exception happens in the > running process and the crash is when copying the stack of that running > process. > > > Ok, cool. What I’d like to do is get a copy of your test setup and run it > in an assert vm to try and get more information. AFAICT the vm code is > good do the bug is not obvious. An assert vm may give more information > before the crash. Have you tried running the system on an assert vm yet? > > Checked some previous logs and we get these kinds of crashes on the CI > server since at least two years. So it does not look like a new bug (but > who knows). > > > (see below) > > On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda >> wrote: >> >>> >>> Hi Andrei, >>> >>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis >>> wrote: >>> >>>> >>>> Hi, >>>> >>>> We are getting often crashes on our CI when calling `Context>copyTo:` >>>> in a GT image and a vm build from >>>> https://github.com/feenkcom/opensmalltalk-vm. >>>> >>>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a >>>> context leading to a segmentation fault crash. Looking at that context in >>>> lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>>> >>>> (lldb) call (void *) printOop(0x1206b6990) >>>> 0x1206b6990: a(n) Context >>>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>>> 0x1206b6b28 0x1206b6b50 >>>> >>>> >>>> Can this indicate some corruption or is it expected to have such >>>> values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also >>>> handles negative values for the pc which suggests that this might be >>>> expected. >>>> >>> >>> The issue is that that value is expected *inside* the VM. It is the >>> frame pointer for the context. But above the Vm this value should be >>> hidden. The VM should intercept all accesses to such fields in contexts and >>> automatically map them back to the appropriate values that the image >>> expects to see. [The same thing is true for CompiledMethods; inside the VM >>> methods may refer to their JITted code, but this is invisible from the >>> image]. Intercepting access to Context state already happens with inst var >>> access in methods, with the shallowCopy primitive, with instVarAt: et al, >>> etc. >>> >>> So I expect the issue here is that copyTo: invokes some primitive which >>> does not (yet) check for a context receiver and/or argument, and hence >>> accidentally it reveals the hidden state to the image and a crash results. >>> What I need to know are the definitions for copyTo: and copy, etc all the >>> way down to primitives. >>> >> >> Here is the source code: >> > > Cool, nothing unusual here. This should all work perfectly. Tis a VM > bug. However... > > >> Context >> copyTo: aContext >> "Copy self and my sender chain down to, but not including, aContext. End >> of copied chain will have nil sender." >> | copy | >> self == aContext ifTrue: [^ nil]. >> copy := self copy. >> self sender ifNotNil: [ >> copy privSender: (self sender copyTo: aContext)]. >> ^ copy >> > > Let me suggest > > Context >> copyTo: aContext > "Copy self and my sender chain down to, but not including, aContext. > End of copied chain will have nil sender." > | copy | > self == aContext ifTrue: [^ nil]. > copy := self copy. > self sender ifNotNil: > [:mySender| copy privSender: (mySender copyTo: aContext)]. > ^ copy > > > Nice! > > I also tried the non-recursive implementation of Context>>#copyTo: from > Squeak and it also crashes. > > Not sure if related but now in the same image as before I got a different > crash and printing the stack does not work. But this time the error seems > to come from handleStackOverflow > > (lldb) call (void *)printCallStack() > invalid frame pointer > invalid frame pointer > invalid frame pointer > error: Execution was interrupted, reason: EXC_BAD_ACCESS > (code=EXC_I386_GPFLT). > The process has been returned to the state before expression evaluation. > (lldb) bt > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS > (code=2, address=0x121e00000) > * frame #0: 0x0000000100162258 libGlamorousToolkitVMCore.dylib`marryFrameSP > + 584 > frame #1: 0x0000000100172982 libGlamorousToolkitVMCore.dylib`handleStackOverflow > + 354 > frame #2: 0x000000010016b025 libGlamorousToolkitVMCore.dylib`ceStackOverflow > + 149 > frame #3: 0x00000001100005b3 > frame #4: 0x0000000100174d99 libGlamorousToolkitVMCore.dylib`ptEnterInterpreterFromCallback > + 73 > > > Cheers, > Andrei > > [1] ./GlamorousToolkit.app/Contents/MacOS/GlamorousToolkit Pharo.image > examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' > Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' > > > > Object>>#copy >> ^self shallowCopy postCopy >> >> Object >> shallowCopy >> | class newObject index | >> >> class := self class. >> class isVariable >> ifTrue: >> [index := self basicSize. >> newObject := class basicNew: index. >> [index > 0] >> whileTrue: >> [newObject basicAt: index put: (self basicAt: index). >> index := index - 1]] >> ifFalse: [newObject := class basicNew]. >> index := class instSize. >> [index > 0] >> whileTrue: >> [newObject instVarAt: index put: (self instVarAt: index). >> index := index - 1]. >> ^ newObject >> >> The code of the primitiveClone looks the same [1] >> >> >>> Changing `Context>copyTo:` by adding a `self pc` before calling `self >>>> copy` leads to no more crashes. Not sure if there is a reason for that or >>>> just plain luck. >>>> >>>> A simple reduced stack is below (more details in this issue [1]). The >>>> crash happens always with contexts reified as objects (in this case >>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>>> Could this suggest some kind of issue in the vm when reifying contexts, >>>> or just some other problem with memory corruption? >>>> >>> >>> This looks like an oversight in some primitive. Here for example is the >>> implementation of the shallowCopy primitive, a.k.a. clone, and you can see >>> where it explcitly intercepts access to a context. >>> >>> primitiveClone >>> "Return a shallow copy of the receiver. >>> Special-case non-single contexts (because of context-to-stack mapping). >>> Can't fail for contexts cuz of image context instantiation code >>> (sigh)." >>> >>> | rcvr newCopy | >>> rcvr := self stackTop. >>> (objectMemory isImmediate: rcvr) >>> ifTrue: >>> [newCopy := rcvr] >>> ifFalse: >>> [(objectMemory isContextNonImm: rcvr) >>> ifTrue: >>> [newCopy := self cloneContext: rcvr] >>> ifFalse: >>> [(argumentCount = 0 >>> or: [(objectMemory isForwarded: rcvr) not]) >>> ifTrue: [newCopy := objectMemory clone: rcvr] >>> ifFalse: [newCopy := 0]]. >>> newCopy = 0 ifTrue: >>> [^self primitiveFailFor: PrimErrNoMemory]]. >>> self pop: argumentCount + 1 thenPush: newCopy >>> >>> But since Squeak doesn't have copyTo: I have no idea what primitive is >>> being used. I'm guessing 168 primitiveCopyObject, which seems to check for >>> a Context receiver, but not for a CompiledCode receiver. What does the >>> primitive failure code look like? Can you post the copyTo: implementations >>> here please? >>> >> >> The code is above. I also see Context>>#copyTo: in Squeak calling also >> Object>>copy for contexts. >> >> When a crash happens we don't get the exact same error all the time. For >> example we get most often on mac: >> >> Process 35690 stopped >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS >> (code=EXC_I386_GPFLT) >> frame #0: 0x00000001100b1004 >> -> 0x1100b1004: inl $0x4c, %eax >> 0x1100b1006: leal -0x5c(%rip), %eax >> 0x1100b100c: pushq %r8 >> 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 >> Target 0: (GlamorousToolkit) stopped. >> >> >> Process 29929 stopped >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT >> (code=EXC_I386_BPT, subcode=0x0) >> frame #0: 0x00000001100fe7ed >> -> 0x1100fe7ed: int3 >> 0x1100fe7ee: int3 >> 0x1100fe7ef: int3 >> 0x1100fe7f0: int3 >> Target 0: (GlamorousToolkit) stopped. >> >> >> [1] >> https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 >> >> Cheers, >> Andrei >> >> >>> >>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>>> ... >>>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>>> ... >>>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>>> 0x1206b5b98 s Set>collect: >>>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>>> 0x1206b6a48 s BlockClosure>ensure: >>>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>> 0x1207e6620 s BlockClosure>on:do: >>>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>> 0x1207a83e0 s BlockClosure>on:do: >>>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>> 0x1207bf830 s [] in BlockClosure>newProcess >>>> >>>> Cheers, >>>> Andrei >>>> >>>> >>>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>>> >>>> >>> >>> -- >>> _,,,^..^,,,_ >>> best, Eliot >>> >> > > -- > _,,,^..^,,,_ > best, Eliot > > > _,,,^..^,,,_ (phone) > > > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Tue Sep 22 22:21:04 2020 From: noreply at github.com (Eliot Miranda) Date: Tue, 22 Sep 2020 15:21:04 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 78e5c9: Get the DLL linkage for warning etc to agree in sq... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 78e5c9910b8ff780d0bdbcfdad4d1e114ec87dc8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/78e5c9910b8ff780d0bdbcfdad4d1e114ec87dc8 Author: Eliot Miranda Date: 2020-09-22 (Tue, 22 Sep 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.msvc M build.win64x64/common/Makefile M build.win64x64/common/Makefile.msvc M platforms/Cross/vm/sqAssert.h M platforms/win32/vm/sqPlatformSpecific.h Log Message: ----------- Get the DLL linkage for warning etc to agree in sqAssert.h. This needs extra defines on the command line on Win32/Win64 (which is the only case we have to deal with at the moment). N.B. There are still issues using clang-cl; there is some f'up with varargs inside their vfprintf implementation in api-ms-win-crt-stdio-l1-1-0.dll. From no-reply at appveyor.com Tue Sep 22 22:25:38 2020 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 22 Sep 2020 22:25:38 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2200 Message-ID: <20200922222538.1.E9EE69A7E83558A1@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Sep 22 22:26:08 2020 From: builds at travis-ci.org (Travis CI) Date: Tue, 22 Sep 2020 22:26:08 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2200 (Cog - 78e5c99) In-Reply-To: Message-ID: <5f6a7a0031043_13fba1539d370134593@travis-tasks-57d7cd48d9-j7hw6.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2200 Status: Errored Duration: 4 mins and 28 secs Commit: 78e5c99 (Cog) Author: Eliot Miranda Message: Get the DLL linkage for warning etc to agree in sqAssert.h. This needs extra defines on the command line on Win32/Win64 (which is the only case we have to deal with at the moment). N.B. There are still issues using clang-cl; there is some f'up with varargs inside their vfprintf implementation in api-ms-win-crt-stdio-l1-1-0.dll. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/160485ce33a4...78e5c9910b8f View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/729456150?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Tue Sep 22 22:29:25 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Tue, 22 Sep 2020 22:29:25 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2812.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2812.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2812 Author: eem Time: 22 September 2020, 3:29:16.496543 pm UUID: 9b9c9a3e-5e6f-4fd6-acbe-c256fcba762b Ancestors: VMMaker.oscog-eem.2811 The interpeeter fils really should pull in stdio.h. And they want stdlib.h for alloca, not stddef.h!! =============== Diff against VMMaker.oscog-eem.2811 =============== Item was changed: ----- Method: StackInterpreter class>>declareCVarsIn: (in category 'translation') ----- declareCVarsIn: aCCodeGenerator | vmClass | self class == thisContext methodClass ifFalse: [^self]. "Don't duplicate decls in subclasses" vmClass := aCCodeGenerator vmClass. "Generate primitiveTable etc based on vmClass, not just StackInterpreter" aCCodeGenerator + addHeaderFile: ' /* for printf */'; + addHeaderFile: ' /* for e.g. alloca */'; - addHeaderFile: ' /* for e.g. alloca */'; addHeaderFile: ''; addHeaderFile: ' /* for wint_t */'; addHeaderFile: '"vmCallback.h"'; addHeaderFile: '"sqMemoryFence.h"'; addHeaderFile: '"sqSetjmpShim.h"'; addHeaderFile: '"dispdbg.h"'. LowcodeVM ifTrue: [aCCodeGenerator addHeaderFile: '"sqLowcodeFFI.h"']. vmClass declareInterpreterVersionIn: aCCodeGenerator defaultName: 'Stack'. aCCodeGenerator var: #interpreterProxy type: #'struct VirtualMachine*'. aCCodeGenerator declareVar: #sendTrace type: 'volatile int'; declareVar: #byteCount type: #usqLong. "see dispdbg.h" "These need to be pointers or unsigned." self declareC: #(instructionPointer method newMethod) as: #usqInt in: aCCodeGenerator. "These are all pointers; char * because Slang has no support for C pointer arithmetic." self declareC: #(localIP localSP localFP stackPointer framePointer stackLimit breakSelector) as: #'char *' in: aCCodeGenerator. aCCodeGenerator var: #breakSelectorLength declareC: 'sqInt breakSelectorLength = MinSmallInteger'. self declareC: #(stackPage overflowedPage) as: #'StackPage *' in: aCCodeGenerator. aCCodeGenerator removeVariable: 'stackPages'. "this is an implicit receiver in the translated code." "This defines bytecodeSetSelector as 0 if MULTIPLEBYTECODESETS is not defined, for the benefit of the interpreter on slow machines." aCCodeGenerator addConstantForBinding: (self bindingOf: #MULTIPLEBYTECODESETS). MULTIPLEBYTECODESETS == false ifTrue: [aCCodeGenerator removeVariable: 'bytecodeSetSelector']. BytecodeSetHasExtensions == false ifTrue: [aCCodeGenerator removeVariable: 'extA'; removeVariable: 'extB']. aCCodeGenerator var: #methodCache declareC: 'sqIntptr_t methodCache[MethodCacheSize + 1 /* ', (MethodCacheSize + 1) printString, ' */]'. NewspeakVM ifTrue: [aCCodeGenerator var: #nsMethodCache declareC: 'sqIntptr_t nsMethodCache[NSMethodCacheSize + 1 /* ', (NSMethodCacheSize + 1) printString, ' */]'] ifFalse: [aCCodeGenerator removeVariable: #nsMethodCache; removeVariable: 'localAbsentReceiver'; removeVariable: 'localAbsentReceiverOrZero']. AtCacheTotalSize isInteger ifTrue: [aCCodeGenerator var: #atCache declareC: 'sqInt atCache[AtCacheTotalSize + 1 /* ', (AtCacheTotalSize + 1) printString, ' */]']. aCCodeGenerator var: #primitiveTable declareC: 'void (*primitiveTable[MaxPrimitiveIndex + 2 /* ', (MaxPrimitiveIndex + 2) printString, ' */])(void) = ', vmClass primitiveTableString. vmClass primitiveTable do: [:symbolOrNot| (symbolOrNot isSymbol and: [symbolOrNot ~~ #primitiveFail]) ifTrue: [(aCCodeGenerator methodNamed: symbolOrNot) ifNotNil: [:tMethod| tMethod returnType: #void]]]. vmClass objectMemoryClass hasSpurMemoryManagerAPI ifTrue: [aCCodeGenerator var: #primitiveAccessorDepthTable type: 'signed char' sizeString: 'MaxPrimitiveIndex + 2 /* ', (MaxPrimitiveIndex + 2) printString, ' */' array: vmClass primitiveAccessorDepthTable] ifFalse: [aCCodeGenerator removeVariable: #primitiveAccessorDepthTable]. aCCodeGenerator var: #displayBits type: #'void *'. self declareC: #(displayWidth displayHeight displayDepth) as: #int in: aCCodeGenerator. aCCodeGenerator var: #primitiveFunctionPointer declareC: 'void (*primitiveFunctionPointer)()'; var: #externalPrimitiveTable declareC: 'void (*externalPrimitiveTable[MaxExternalPrimitiveTableSize + 1 /* ', (MaxExternalPrimitiveTableSize + 1) printString, ' */])(void)'; var: #interruptCheckChain declareC: 'void (*interruptCheckChain)(void) = 0'; var: #showSurfaceFn declareC: 'int (*showSurfaceFn)(sqIntptr_t, int, int, int, int)'; var: #jmpBuf declareC: 'jmp_buf jmpBuf[MaxJumpBuf + 1 /* ', (MaxJumpBuf + 1) printString, ' */]'; var: #suspendedCallbacks declareC: 'usqInt suspendedCallbacks[MaxJumpBuf + 1 /* ', (MaxJumpBuf + 1) printString, ' */]'; var: #suspendedMethods declareC: 'usqInt suspendedMethods[MaxJumpBuf + 1 /* ', (MaxJumpBuf + 1) printString, ' */]'. self declareCAsUSqLong: #(nextPollUsecs nextWakeupUsecs longRunningPrimitiveGCUsecs longRunningPrimitiveStartUsecs longRunningPrimitiveStopUsecs "these are high-frequency enough that they're overflowing quite quickly on modern hardware" statProcessSwitch statIOProcessEvents statForceInterruptCheck statCheckForEvents statStackOverflow statStackPageDivorce statIdleUsecs) in: aCCodeGenerator. aCCodeGenerator var: #nextProfileTick type: #sqLong. aCCodeGenerator var: #reenterInterpreter type: 'jmp_buf'. LowcodeVM ifTrue: [aCCodeGenerator var: #lowcodeCalloutState type: #'sqLowcodeCalloutState*'. self declareC: #(nativeSP nativeStackPointer shadowCallStackPointer) as: #'char *' in: aCCodeGenerator] ifFalse: [#(lowcodeCalloutState nativeSP nativeStackPointer shadowCallStackPointer) do: [:var| aCCodeGenerator removeVariable: var]]. aCCodeGenerator var: #primitiveDoMixedArithmetic declareC: 'char primitiveDoMixedArithmetic = 1'.! From noreply at github.com Tue Sep 22 22:40:57 2020 From: noreply at github.com (Eliot Miranda) Date: Tue, 22 Sep 2020 15:40:57 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 97aae9: CogVM source as per VMMaker.oscog-eem.2812 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 97aae92d2ce0ba1d8c0a867af6a73b71ad3f234c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/97aae92d2ce0ba1d8c0a867af6a73b71ad3f234c Author: Eliot Miranda Date: 2020-09-22 (Tue, 22 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sqAssert.h M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2812 The interpreter files really should pull in stdio.h. And they want stdlib.h for alloca, not stddef.h!! From no-reply at appveyor.com Tue Sep 22 22:45:21 2020 From: no-reply at appveyor.com (AppVeyor) Date: Tue, 22 Sep 2020 22:45:21 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2201 Message-ID: <20200922224521.1.CEB9C119B525A02B@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Tue Sep 22 22:48:05 2020 From: builds at travis-ci.org (Travis CI) Date: Tue, 22 Sep 2020 22:48:05 +0000 Subject: [Vm-dev] Failed: OpenSmalltalk/opensmalltalk-vm#2201 (Cog - 97aae92) In-Reply-To: Message-ID: <5f6a7f22a7f1e_13fba1539d82014977d@travis-tasks-57d7cd48d9-j7hw6.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2201 Status: Failed Duration: 6 mins and 30 secs Commit: 97aae92 (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2812 The interpreter files really should pull in stdio.h. And they want stdlib.h for alloca, not stddef.h!! View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/78e5c9910b8f...97aae92d2ce0 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/729459894?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Wed Sep 23 08:47:33 2020 From: notifications at github.com (dcstes) Date: Wed, 23 Sep 2020 01:47:33 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] UnicodePlugin: update README on pkg-config (#521) In-Reply-To: References: Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi, I think it would be useful to update the README.UnicodePlugin, but I don't mind closing this PR otherwise ... Note that the situation is: - Solaris 10 -> UnicodePlugin builds fine - Solaris 11.3 -> UnicodePlugin builds OK but is in fact using wrong #include - Solaris 11.4 -> UnicodePlugin does not compile because cannot #include Anyway I'm closing the PR but still think would be good for documentation, that this compile problem is a known issue (and is not a big problem anyway). David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfawuBAAoJEAwpOKXMq1MalIMIALlPvrDTEta+3j8e3nqSq/Ev AwbIrvUOM3XcxheslV5Dlq8tVWEmZ2K/4TA9DAvCNOrCaNifSqs70ufykPKDI8eb 0XaeJhzpljmtc5QsSSOmH7n/Af25uF1/YjcEIGHNGOvCJ0sfb8xbZJBLWpJiARrq JBQrvRLq1/5jAkJqrE74vI+Cd2UfM1Q9ZTEGT39kddjUgKCWrZsqpxWtuAiF2Dn9 Ggh5us7uIZpAVQsohrDTmCwj5TrHX8H/vFM7jW2JGKnSwkO+Z1lIzIzAoz3lU9Fp OmcOrUSEO7yWtVeH6B04TXb4u62cM7dI/i+vJhNkCWBDDNeGSD5Lz8gBo8Zzktg= =n0qS -----END PGP SIGNATURE----- -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/521#issuecomment-697225647 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Wed Sep 23 08:47:33 2020 From: notifications at github.com (dcstes) Date: Wed, 23 Sep 2020 01:47:33 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] UnicodePlugin: update README on pkg-config (#521) In-Reply-To: References: Message-ID: Closed #521. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/521#event-3796974704 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Wed Sep 23 12:15:37 2020 From: notifications at github.com (dcstes) Date: Wed, 23 Sep 2020 05:15:37 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure script : check for (#523) Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 A few commits that could be of use: 1. modify configure.ac to check for the header file <ifaddrs.h> 2. update README of UnicodePlugin 3. #if COGVM in the sqCogStackAlignment.h for getReturnAddress The COGVM compiles and works in 32bit on Solaris 10. It also works now (thanks to code for getReturnAddress) in 64bit on Solaris 11. Solaris 10 has no header file <ifaddrs.h> it appears, to in that case, the configure script can automatically 'activate' the old code in sqUnixSocket.c. In the Solaris 11 case, it has <ifaddrs.h>, so activate the new code on Solaris 11. David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfazvaAAoJEAwpOKXMq1MaOBMH/0oAanU940wnZi6UnptEXDzL H4TGeGlQvX+2939+PP79CxAa0yMNQWe/Ew1f2GsERQruKXZAr76lYQPXaJsY2duI dUeNaNxvPUuKDlsKnrltUnfDgDazYER8NluCZE3tBV8ZUVxak07u/HLUMs/lXP/9 MO/UctlbDSc8KgZlUkBlaffCzz/DtNV/CrgHZNUlPHb9GyLJD2mctc0H7qYkr1o6 2Y3QoOrC1U//4nK/2JbUV9i4lVVj/g1P9CSjRMe2P1ptZp6GfoWod1XAQMM1TIFP tjZqhxFDB3PHnhdhyBbLrqEbAXoexi2F6nET3xGXEUPYJr6QL6w9rXf3wdhJGVM= =tynH -----END PGP SIGNATURE----- You can view, comment on, or merge this pull request online at: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/523 -- Commit Summary -- * Unicode README: add note on a known issue * configure: check for <ifaddrs.h> (Solaris 11 has it, Solaris 10 not) * sqCogStackAlignment: define getReturnAddress only #if COGVM (not for Stack VM) -- File Changes -- M platforms/Cross/vm/sqCogStackAlignment.h (2) M platforms/unix/config/config.h.in (3) M platforms/unix/config/configure.ac (1) M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c (6) M platforms/unix/plugins/UnicodePlugin/README.UnicodePlugin (26) -- Patch Links -- https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/523.patch https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/523.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/523 -------------- next part -------------- An HTML attachment was scrubbed... URL: From chisvasileandrei at gmail.com Wed Sep 23 12:16:10 2020 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Wed, 23 Sep 2020 14:16:10 +0200 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: <9A2F6367-8B79-4A0D-B82A-A7E2A391A764@gmail.com> <68A208A2-11AF-448B-9FE6-357A673B32D9@gmail.com> Message-ID: <29182250-03AD-4950-A572-D83336D263FD@gmail.com> Hi Eliot, Below are some examples of primitive traces: first two are with the headless vm and the third with the normal vm. Did not manage yet to get a crash while running the production vm with leak checks enabled. Cheers, Andrei —headless vm— Most recent primitives wait class signal class basicIdentityHash class basicIdentityHash **StackOverflow** basicIdentityHash **StackOverflow** basicNew basicNew basicNew signal basicNew wait tempAt: tempAt:put: tempAt: terminateTo: signal findNextUnwindContextUpTo: terminateTo: wait signal basicNew wait **StackOverflow** basicIdentityHash signal wait **StackOverflow** signal wait **StackOverflow** signal wait **StackOverflow** signal wait **StackOverflow** signal wait **StackOverflow** tempAt: tempAt:put: tempAt: terminateTo: signal findNextUnwindContextUpTo: terminateTo: **StackOverflow** wait signal basicNew basicNew class **StackOverflow** class basicNew **StackOverflow** wait basicIdentityHash signal **StackOverflow** basicIdentityHash **StackOverflow** basicIdentityHash class **StackOverflow** basicNew basicNew basicNew basicNew class **StackOverflow** basicNew wait tempAt: tempAt:put: tempAt: terminateTo: signal findNextUnwindContextUpTo: terminateTo: wait signal wait **StackOverflow** tempAt: tempAt:put: tempAt: terminateTo: signal findNextUnwindContextUpTo: terminateTo: **StackOverflow** wait signal **StackOverflow** basicNew class **StackOverflow** **StackOverflow** basicNew **StackOverflow** **StackOverflow** **StackOverflow** wait class tempAt: tempAt:put: tempAt: terminateTo: signal findNextUnwindContextUpTo: terminateTo: wait signal wait **StackOverflow** tempAt: tempAt:put: tempAt: terminateTo: signal findNextUnwindContextUpTo: terminateTo: wait **StackOverflow** signal **StackOverflow** basicNew class **StackOverflow** **StackOverflow** **StackOverflow** wait tempAt: tempAt:put: tempAt: terminateTo: signal findNextUnwindContextUpTo: terminateTo: **StackOverflow** wait signal wait **StackOverflow** tempAt: tempAt:put: tempAt: terminateTo: signal findNextUnwindContextUpTo: terminateTo: wait **StackOverflow** signal **StackOverflow** **StackOverflow** **StackOverflow** value > value: value / **PrimitiveFailure** basicNew value: class findNextHandlerOrSignalingContext at: at: tempAt: tempAt: basicNew shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **CompactCode** stack page bytes 8192 available headroom 5576 minimum unused headroom 4920 —headless vm— Most recent primitives wait signal **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** stringHash:initialHash: stringHash:initialHash: **StackOverflow** **StackOverflow** stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: **StackOverflow** **StackOverflow** wait signal **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** stringHash:initialHash: stringHash:initialHash: **StackOverflow** **StackOverflow** stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: **StackOverflow** **StackOverflow** wait signal **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** stringHash:initialHash: stringHash:initialHash: **StackOverflow** **StackOverflow** class wait **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** signal **StackOverflow** class wait **StackOverflow** signal **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** wait signal **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** stringHash:initialHash: stringHash:initialHash: **StackOverflow** **StackOverflow** stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: **StackOverflow** **StackOverflow** **StackOverflow** basicNew signal basicNew wait basicIdentityHash signal basicIdentityHash basicIdentityHash basicNew basicNew basicNew **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** replaceFrom:to:with:startingAt: valueWithArguments: valueWithArguments: valueWithArguments: valueWithArguments: basicNew class findNextHandlerOrSignalingContext at: at: tempAt: tempAt: basicNew shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **CompactCode** **StackOverflow** —non-headless vm— Most recent primitives primitiveChangeClassTo: stringHash:initialHash: stringHash:initialHash: primitiveChangeClassTo: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: decimalDigitLength stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: compare:with:collated: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: compare:with:collated: basicNew basicNew stringHash:initialHash: at: add: stringHash:initialHash: add: primitiveChangeClassTo: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: class stringHash:initialHash: class size compare:with:collated: primitiveChangeClassTo: **StackOverflow** primitiveChangeClassTo: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: isNil compare:with:collated: isNil compare:with:collated: primitiveChangeClassTo: stringHash:initialHash: compare:with:collated: isString stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: compare:with:collated: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: basicIdentityHash basicNew: **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** class class class size class stringHash:initialHash: compare:with:collated: **StackOverflow** **StackOverflow** stringHash:initialHash: **StackOverflow** compare:with:collated: class shallowCopy shallowCopy class **StackOverflow** **StackOverflow** **StackOverflow** class **StackOverflow** **StackOverflow** class **StackOverflow** basicIdentityHash basicNew basicNew class basicNew perform:withArguments: basicNew basicNew basicNew basicNew basicNew signal signal basicNew basicNew **StackOverflow** **StackOverflow** signal signal **StackOverflow** **StackOverflow** class **StackOverflow** **StackOverflow** basicNew **StackOverflow** class signal signal basicNew signal signal basicNew signal signal basicNew **StackOverflow** class class class basicNew basicNew **StackOverflow** class class stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: signal signal class findSubstring:in:startingAt:matchTable: indexOfAscii:inString:startingAt: indexOfAscii:inString:startingAt: findSubstring:in:startingAt:matchTable: indexOfAscii:inString:startingAt: indexOfAscii:inString:startingAt: object:perform:withArguments:inClass: basicNew findNextHandlerOrSignalingContext at: at: tempAt: class tempAt: basicNew class size class shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **CompactCode** > On 22 Sep 2020, at 21:09, Eliot Miranda wrote: > > Hi Andrei, > > On Tue, Sep 22, 2020 at 5:21 AM Andrei Chis > wrote: > > Hi Eliot, > > Unfortunately with the assert vm with memory leak checks it seems I cannot reproduce the problem. > I’ll try to run it a few more times, maybe I get lucky and get a crash (a run takes a few hours). > > For our case, calling `self pc` before copying a context really helped. Before almost 50% of our builds were failing; now we get no more failures at all. > Thanks for your insights! > > Are there other ways to get relevant/helpful details from a crash with a normal vm? > > The crash.log should include the primitive trace log, which is the last 256 external primitives the VM has called. Can you post that part of the crash log? > > The memory leak checking can be turned on in a production VM, it's just that the output is a bit harder to parse. So try that also. > Cheers, > Andrei > > >> On 15 Sep 2020, at 01:27, Eliot Miranda > wrote: >> >> Hi Andrei, >> >>> >>> On Sep 14, 2020, at 3:22 PM, Andrei Chis > wrote: >>> >>> Hi Eliot, >>> >>> The setup in GT is a bit customised (some changes in the headless vm, some custom plugins, custom rendering) so I first thought it will be impossible to reproduce the bug in a more standard manner. >>> However turns out it is possible. If I use the following script after running the tests a few times in lldb I get the crash starting from a plain Pharo 8 image. >>> >>> $ curl https://get.pharo.org/64/80+vm | bash >>> $ curl -L https://raw.githubusercontent.com/feenkcom/gtoolkit/master/scripts/localbuild/loadgt.st -o loadgt.st >>> $ ./pharo Pharo.image st --quit >>> >>> $ lldb ./pharo-vm/Pharo.app/Contents/MacOS/Pharo >>> (lldb) run --headless Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' >>> >>> >>> I also tried to compile the vm myself on Mac (Catalina 10.15.6). I build a normal and assert for https://github.com/OpenSmalltalk/opensmalltalk-vm and https://github.com/pharo-project/opensmalltalk-vm from the cog branch. >>> In both cases I get an issue related to pixman 0.34.0 [1] but that’s easy to workaround. For https://github.com/OpenSmalltalk/opensmalltalk-vm I got an extra problem related to Cairo [2] and had to change libpng from libpng16 to libpng12 to get it to work. >>> >>> With both the normal VMs I could reproduce the bug and got stacks with the Context>copyTo: messages. >>> >>> With the assert VMs I only got a crash for now with the assert vm from https://github.com/pharo-project/opensmalltalk-vm . However there is no Context>copyTo: and the memory seems quite corrupted. >>> I suspect the crash also appears in https://github.com/OpenSmalltalk/opensmalltalk-vm but seems that with the assert vm it is much harder to reproduce. Had to run the tests 20 times and got one crash; running the tests once take 20-30 minutes. >>> >>> >>> This is from only crash until now with the assert vm. Not sure if they are helpful or not, or actually related to the problem. >>> >>> validInstructionPointerinFrame(GIV(instructionPointer), GIV(framePointer)) 18471 >>> Pharo was compiled with optimization - stepping may behave oddly; variables may not be available. >>> Process 73731 stopped >>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) >>> frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] >>> 139 static inline sqInt intAtPointer(char *ptr) { return (sqInt)(*((int *)ptr)); } >>> 140 static inline sqInt intAtPointerput(char *ptr, int val) { return (sqInt)(*((int *)ptr)= val); } >>> 141 static inline sqInt longAtPointer(char *ptr) { return *(sqInt *)ptr; } >>> -> 142 static inline sqInt longAtPointerput(char *ptr, sqInt val) { return *(sqInt *)ptr= val; } >>> 143 static inline sqLong long64AtPointer(char *ptr) { return *(sqLong *)ptr; } >>> 144 static inline sqLong long64AtPointerput(char *ptr, sqLong val) { return *(sqLong *)ptr= val; } >>> 145 static inline float singleFloatAtPointer(char *ptr) { return *(float *)ptr; } >>> Target 0: (Pharo) stopped. >>> >>> >>> (lldb) bt >>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) >>> * frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] >>> frame #1: 0x00000001000161cf Pharo`marryFrameSP(theFP=, theSP=0x0000000000000000) at gcc3x-cointerp.c:68120:3[opt] >>> frame #2: 0x000000010001f5ac Pharo`ceContextinstVar(maybeContext=5510359872, slotIndex=0) at gcc3x-cointerp.c:15221:12 [opt] >>> frame #3: 0x00000001480017d6 >>> frame #4: 0x00000001000022be Pharo`interpret at gcc3x-cointerp.c:2755:3 [opt] >>> frame #5: 0x00000001000bc244 Pharo`-[sqSqueakMainApplication runSqueak](self=0x0000000101c76dc0, _cmd=) at sqSqueakMainApplication.m:201:2 [opt] >>> frame #6: 0x00007fff3326729b Foundation`__NSFirePerformWithOrder + 360 >>> frame #7: 0x00007fff30ad3335 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 >>> frame #8: 0x00007fff30ad3267 CoreFoundation`__CFRunLoopDoObservers + 457 >>> frame #9: 0x00007fff30ad2805 CoreFoundation`__CFRunLoopRun + 874 >>> frame #10: 0x00007fff30ad1e3e CoreFoundation`CFRunLoopRunSpecific + 462 >>> frame #11: 0x00007fff2f6feabd HIToolbox`RunCurrentEventLoopInMode + 292 >>> frame #12: 0x00007fff2f6fe6f4 HIToolbox`ReceiveNextEventCommon + 359 >>> frame #13: 0x00007fff2f6fe579 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64 >>> frame #14: 0x00007fff2dd44039 AppKit`_DPSNextEvent + 883 >>> frame #15: 0x00007fff2dd42880 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352 >>> frame #16: 0x00007fff2dd3458e AppKit`-[NSApplication run] + 658 >>> frame #17: 0x00007fff2dd06396 AppKit`NSApplicationMain + 777 >>> frame #18: 0x00007fff6ab3ecc9 libdyld.dylib`start + 1 >>> >>> >>> (lldb) call printCallStack() >>> 0x7ffeefbe3920 M INVALID RECEIVER>(nil) 0x148716b40: a(n) bad class >>> 0x7ffeefbe3968 M [] in INVALID RECEIVER>(nil) Context(Object)>>doesNotUnderstand: #bounds >>> 0x194648118: a(n) bad class >>> 0x7ffeefbe39a8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class >>> 0x7ffeefbe39e8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class >>> 0x7ffeefbe3a30 I INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe3a80 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe3ab8 M INVALID RECEIVER>(nil) 0x148163cd0: a(n) bad class >>> 0x7ffeefbe3b08 I INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >>> 0x7ffeefbe3b40 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >>> 0x7ffeefbe3b78 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class >>> 0x7ffeefbe3bc0 I INVALID RECEIVER>(nil) 0x148716a38: a(n) bad class >>> 0x7ffeefbe3c10 I INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >>> 0x7ffeefbe3c40 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >>> 0x7ffeefbe3c78 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >>> 0x7ffeefbe3cc0 M INVALID RECEIVER>(nil) 0x14d0337f0: a(n) bad class >>> 0x7ffeefbe3d08 M INVALID RECEIVER>(nil) 0x14d033738: a(n) bad class >>> 0x7ffeefbe3d50 M INVALID RECEIVER>(nil) 0x14d033680: a(n) bad class >>> 0x7ffeefbe3d98 M INVALID RECEIVER>(nil) 0x1946493f0: a(n) bad class >>> 0x7ffeefbe3de0 M INVALID RECEIVER>(nil) 0x194649338: a(n) bad class >>> 0x7ffeefbe3e28 M INVALID RECEIVER>(nil) 0x194649280: a(n) bad class >>> 0x7ffeefbe3e70 M INVALID RECEIVER>(nil) 0x1946491c8: a(n) bad class >>> 0x7ffeefbe3eb8 M INVALID RECEIVER>(nil) 0x194649110: a(n) bad class >>> 0x7ffeefbec768 M INVALID RECEIVER>(nil) 0x194649038: a(n) bad class >>> 0x7ffeefbec7b0 M INVALID RECEIVER>(nil) 0x194648f60: a(n) bad class >>> 0x7ffeefbec7f8 M INVALID RECEIVER>(nil) 0x194648e88: a(n) bad class >>> 0x7ffeefbec840 M INVALID RECEIVER>(nil) 0x194648dd0: a(n) bad class >>> 0x7ffeefbec888 M INVALID RECEIVER>(nil) 0x194648d18: a(n) bad class >>> 0x7ffeefbec8d0 M INVALID RECEIVER>(nil) 0x194648c60: a(n) bad class >>> 0x7ffeefbec918 M INVALID RECEIVER>(nil) 0x194648b88: a(n) bad class >>> 0x7ffeefbec960 M INVALID RECEIVER>(nil) 0x194648ad0: a(n) bad class >>> 0x7ffeefbec9a8 M INVALID RECEIVER>(nil) 0x194648a18: a(n) bad class >>> 0x7ffeefbec9f0 M INVALID RECEIVER>(nil) 0x194648960: a(n) bad class >>> 0x7ffeefbeca38 M INVALID RECEIVER>(nil) 0x1946488a8: a(n) bad class >>> 0x7ffeefbeca80 M INVALID RECEIVER>(nil) 0x1946487f0: a(n) bad class >>> 0x7ffeefbecac8 M INVALID RECEIVER>(nil) 0x194648708: a(n) bad class >>> 0x7ffeefbecb10 M INVALID RECEIVER>(nil) 0x194648620: a(n) bad class >>> 0x7ffeefbecb58 M INVALID RECEIVER>(nil) 0x194648508: a(n) bad class >>> 0x7ffeefbecba0 M INVALID RECEIVER>(nil) 0x194648450: a(n) bad class >>> 0x7ffeefbecbe8 M INVALID RECEIVER>(nil) 0x1481641a8: a(n) bad class >>> 0x7ffeefbecc30 M INVALID RECEIVER>(nil) 0x1481640f0: a(n) bad class >>> 0x7ffeefbecc78 M INVALID RECEIVER>(nil) 0x148164038: a(n) bad class >>> 0x7ffeefbeccc0 M INVALID RECEIVER>(nil) 0x148163f80: a(n) bad class >>> 0x7ffeefbecd08 M INVALID RECEIVER>(nil) 0x148163ec8: a(n) bad class >>> 0x7ffeefbecd50 M INVALID RECEIVER>(nil) 0x148163e10: a(n) bad class >>> 0x7ffeefbecd98 M INVALID RECEIVER>(nil) 0x148163d28: a(n) bad class >>> 0x7ffeefbecde0 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >>> 0x7ffeefbece28 M INVALID RECEIVER>(nil) 0x148163b38: a(n) bad class >>> 0x7ffeefbece70 M INVALID RECEIVER>(nil) 0x148163a80: a(n) bad class >>> 0x7ffeefbeceb8 M INVALID RECEIVER>(nil) 0x1481639c8: a(n) bad class >>> 0x7ffeefbe7758 M INVALID RECEIVER>(nil) 0x1481638e0: a(n) bad class >>> 0x7ffeefbe77a0 M INVALID RECEIVER>(nil) 0x148163808: a(n) bad class >>> 0x7ffeefbe77e8 M INVALID RECEIVER>(nil) 0x148163750: a(n) bad class >>> 0x7ffeefbe7830 M INVALID RECEIVER>(nil) 0x148163698: a(n) bad class >>> 0x7ffeefbe7878 M INVALID RECEIVER>(nil) 0x1481635c0: a(n) bad class >>> 0x7ffeefbe78c0 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class >>> 0x7ffeefbe7908 M INVALID RECEIVER>(nil) 0x148163408: a(n) bad class >>> 0x7ffeefbe7950 M INVALID RECEIVER>(nil) 0x148163350: a(n) bad class >>> 0x7ffeefbe7998 M INVALID RECEIVER>(nil) 0x148163298: a(n) bad class >>> 0x7ffeefbe79e0 M INVALID RECEIVER>(nil) 0x148163188: a(n) bad class >>> 0x7ffeefbe7a28 M INVALID RECEIVER>(nil) 0x148163098: a(n) bad class >>> 0x7ffeefbe7a70 M INVALID RECEIVER>(nil) 0x148162fa0: a(n) bad class >>> 0x7ffeefbe7ab8 M INVALID RECEIVER>(nil) 0x148162ec8: a(n) bad class >>> 0x7ffeefbe7b00 M INVALID RECEIVER>(nil) 0x148162e10: a(n) bad class >>> 0x7ffeefbe7b48 M INVALID RECEIVER>(nil) 0x148712a08: a(n) bad class >>> 0x7ffeefbe7b90 M INVALID RECEIVER>(nil) 0x148712950: a(n) bad class >>> 0x7ffeefbe7bd8 M INVALID RECEIVER>(nil) 0x148712898: a(n) bad class >>> 0x7ffeefbe7c20 M INVALID RECEIVER>(nil) 0x148713cc0: a(n) bad class >>> 0x7ffeefbe7c68 M INVALID RECEIVER>(nil) 0x148713018: a(n) bad class >>> 0x7ffeefbe7cb0 M INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >>> 0x7ffeefbe7cf8 M INVALID RECEIVER>(nil) 0x148713140: a(n) bad class >>> 0x7ffeefbe7d40 M INVALID RECEIVER>(nil) 0x148713928: a(n) bad class >>> 0x7ffeefbe7d88 M INVALID RECEIVER>(nil) 0x1487133c8: a(n) bad class >>> 0x7ffeefbe7de0 I INVALID RECEIVER>(nil) 0x148713238: a(n) bad class >>> 0x7ffeefbe7e28 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >>> 0x7ffeefbe7e70 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >>> 0x7ffeefbe7eb8 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeea68 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeeac8 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeeb00 M INVALID RECEIVER>(nil) 0x148713108: a(n) bad class >>> 0x7ffeefbeeb50 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >>> 0x7ffeefbeeb98 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >>> 0x7ffeefbeebe0 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >>> 0x7ffeefbeec10 M INVALID RECEIVER>(nil) 0x9=1 >>> 0x7ffeefbeec48 M INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >>> 0x7ffeefbeeca0 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeecd0 M INVALID RECEIVER>(nil) 0x1487130d0: a(n) bad class >>> 0x7ffeefbeed10 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeed58 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeedb0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >>> 0x7ffeefbeedf0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >>> 0x7ffeefbeee20 M [] in INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class >>> 0x7ffeefbeee78 M INVALID RECEIVER>(nil) 0x148162df0: a(n) bad class >>> 0x7ffeefbeeec0 M INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class >>> 0x7ffeefbe5978 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe59d8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5a18 M INVALID RECEIVER>(nil) 0x148163150: a(n) bad class >>> 0x7ffeefbe5a68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5aa0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5ad8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5b08 M INVALID RECEIVER>(nil) 0x1481634c0: a(n) bad class >>> 0x7ffeefbe5b48 M INVALID RECEIVER>(nil) 0x14c403ca8: a(n) bad class >>> 0x7ffeefbe5b88 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5bc0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5bf0 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5c20 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5c68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5c98 M INVALID RECEIVER>(nil) 0x194656468: a(n) bad class >>> 0x7ffeefbe5cd0 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe5d00 M INVALID RECEIVER>(nil) 0x148163bf0: a(n) bad class >>> 0x7ffeefbe5d50 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe5d88 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>> 0x7ffeefbe5dc0 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>> 0x7ffeefbe5e00 M INVALID RECEIVER>(nil) 0x148163de0: a(n) bad class >>> 0x7ffeefbe5e38 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe5e80 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe5eb8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdf9d8 M INVALID RECEIVER>(nil) 0x194648430: a(n) bad class >>> 0x7ffeefbdfa10 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfa50 M [] in INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >>> 0x7ffeefbdfa90 M INVALID RECEIVER>(nil) 0x1946486d8: a(n) bad class >>> 0x7ffeefbdfad0 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >>> 0x7ffeefbdfb10 M INVALID RECEIVER>(nil) 0x1946485e0: a(n) bad class >>> 0x7ffeefbdfb48 M INVALID RECEIVER>(nil) 0x1489f7da8: a(n) bad class >>> 0x7ffeefbdfb80 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >>> 0x7ffeefbdfbb8 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfbe8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfc20 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>> 0x7ffeefbdfc58 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>> 0x7ffeefbdfc98 M INVALID RECEIVER>(nil) 0x194648c40: a(n) bad class >>> 0x7ffeefbdfcc8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfd08 M INVALID RECEIVER>(nil) 0x194648f40: a(n) bad class >>> 0x7ffeefbdfd40 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfd70 M INVALID RECEIVER>(nil) 0x14902a730: a(n) bad class >>> 0x7ffeefbdfdb0 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfde8 M INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class >>> 0x7ffeefbdfe20 M [] in INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class >>> 0x7ffeefbdfe70 M [] in INVALID RECEIVER>(nil) 0x14d032f98: a(n) bad class >>> 0x7ffeefbdfeb8 M INVALID RECEIVER>(nil) 0x14d032fe0: a(n) bad class >>> >>> (callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil)) 72783 >>> 0x14d033738 is not a context >> >> OK, interesting. Both the assert failure and the badly corrupted stack trace lead me to believe that the issue happens long before the crash and is probably a stack corruption, either by a primitive cutting back the stack incorrectly, or some other hot riot ion (for example are all those nils in INVALID RECEIVER>(nil) real or an artifact of attempting to print an invalid value?). >> >> So the next step is to run the asset vm with leak checking turned on. Use >> >> myvm —leakcheck 3 to check after every GC >> >> We can add, eg leak checking after an FFI call, in an afternoon >> >>> A more realistic setup would be to run GT with an assert headless vm. But until now I did not figure out how to build an assert vm for the gt-headless branch from https://github.com/feenkcom/opensmalltalk-vm . >>> >>> Cheers, >>> Andrei >>> >>> >>> [1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/258 >>> >>> [2] checking for cairo's PNG functions feature... >>> configure: WARNING: Could not find libpng in the pkg-config search path >>> checking whether cairo's PNG functions feature could be enabled... no >>> configure: error: recommended PNG functions feature could not be enabled >>> >>>> On 14 Sep 2020, at 17:32, Eliot Miranda > wrote: >>>> >>>> Hi Andrei, >>>> >>>> >>>>> On Sep 14, 2020, at 7:15 AM, Andrei Chis > wrote: >>>>> >>>>> Hi Eliot, >>>>> >>>>>> On 12 Sep 2020, at 01:42, Eliot Miranda > wrote: >>>>>> >>>>>> Hi Andrei, >>>>>> >>>>>> On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis > wrote: >>>>>> >>>>>> Hi Eliot, >>>>>> >>>>>> Thanks for the answer. That helps to understand what is going on and it can explain why just adding a call to `self pc` makes the crash disappear. >>>>>> >>>>>> Just what was maybe not obvious in my previous email is that we get this problem more or less randomly. We have tests for verifying that tools work when various extensions raise exceptions (these tests copy the stack). Sometimes they work correctly and sometimes they crash. These crashes happen in various tests and until now the only common thing we noticed is that the pc of the contexts where the crash happens looks off. Also the contexts in which this happens are at the beginning of the stack so part of a long computation (it gets copied multiple times). >>>>>> >>>>>> Initially we suspected that there is some memory corruption somewhere due to external calls/memory. Just the fact that calling `self pc` before seems to fix the issue reduces those chances. But who knows. >>>>>> >>>>>> Well, it does look like a VM bug. The VM is somehow failing to intercept some access, perhaps in shallow copy. Weird. I shall try and reproduce. Is there anything special about the process you copy using copyTo: ? >>>>> >>>>> I don’t think there is something special about that process. It is the process that we start to run tests [1]. The exception happens in the running process and the crash is when copying the stack of that running process. >>>> >>>> Ok, cool. What I’d like to do is get a copy of your test setup and run it in an assert vm to try and get more information. AFAICT the vm code is good do the bug is not obvious. An assert vm may give more information before the crash. Have you tried running the system on an assert vm yet? >>>> >>>>> Checked some previous logs and we get these kinds of crashes on the CI server since at least two years. So it does not look like a new bug (but who knows). >>>>> >>>>>> >>>>>> (see below) >>>>>> >>>>>> On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda > wrote: >>>>>> >>>>>> Hi Andrei, >>>>>> >>>>>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis > wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm . >>>>>> >>>>>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>>>>> >>>>>> (lldb) call (void *) printOop(0x1206b6990) >>>>>> 0x1206b6990: a(n) Context >>>>>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>>>>> 0x1206b6b28 0x1206b6b50 >>>>>> >>>>>> Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. >>>>>> >>>>>> The issue is that that value is expected *inside* the VM. It is the frame pointer for the context. But above the Vm this value should be hidden. The VM should intercept all accesses to such fields in contexts and automatically map them back to the appropriate values that the image expects to see. [The same thing is true for CompiledMethods; inside the VM methods may refer to their JITted code, but this is invisible from the image]. Intercepting access to Context state already happens with inst var access in methods, with the shallowCopy primitive, with instVarAt: et al, etc. >>>>>> >>>>>> So I expect the issue here is that copyTo: invokes some primitive which does not (yet) check for a context receiver and/or argument, and hence accidentally it reveals the hidden state to the image and a crash results. What I need to know are the definitions for copyTo: and copy, etc all the way down to primitives. >>>>>> >>>>>> Here is the source code: >>>>>> >>>>>> Cool, nothing unusual here. This should all work perfectly. Tis a VM bug. However... >>>>>> >>>>>> Context >> copyTo: aContext >>>>>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>>>>> | copy | >>>>>> self == aContext ifTrue: [^ nil]. >>>>>> copy := self copy. >>>>>> self sender ifNotNil: [ >>>>>> copy privSender: (self sender copyTo: aContext)]. >>>>>> ^ copy >>>>>> >>>>>> Let me suggest >>>>>> >>>>>> Context >> copyTo: aContext >>>>>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>>>>> | copy | >>>>>> self == aContext ifTrue: [^ nil]. >>>>>> copy := self copy. >>>>>> self sender ifNotNil: >>>>>> [:mySender| copy privSender: (mySender copyTo: aContext)]. >>>>>> ^ copy >>>>> >>>>> Nice! >>>>> >>>>> I also tried the non-recursive implementation of Context>>#copyTo: from Squeak and it also crashes. >>>>> >>>>> Not sure if related but now in the same image as before I got a different crash and printing the stack does not work. But this time the error seems to come from handleStackOverflow >>>>> >>>>> (lldb) call (void *)printCallStack() >>>>> invalid frame pointer >>>>> invalid frame pointer >>>>> invalid frame pointer >>>>> error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=EXC_I386_GPFLT). >>>>> The process has been returned to the state before expression evaluation. >>>>> (lldb) bt >>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x121e00000) >>>>> * frame #0: 0x0000000100162258 libGlamorousToolkitVMCore.dylib`marryFrameSP + 584 >>>>> frame #1: 0x0000000100172982 libGlamorousToolkitVMCore.dylib`handleStackOverflow + 354 >>>>> frame #2: 0x000000010016b025 libGlamorousToolkitVMCore.dylib`ceStackOverflow + 149 >>>>> frame #3: 0x00000001100005b3 >>>>> frame #4: 0x0000000100174d99 libGlamorousToolkitVMCore.dylib`ptEnterInterpreterFromCallback + 73 >>>>> >>>>> >>>>> Cheers, >>>>> Andrei >>>>> >>>>> [1] ./GlamorousToolkit.app/Contents/MacOS/GlamorousToolkit Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' >>>>> >>>>> >>>>>> >>>>>> Object>>#copy >>>>>> ^self shallowCopy postCopy >>>>>> >>>>>> Object >> shallowCopy >>>>>> | class newObject index | >>>>>> >>>>>> class := self class. >>>>>> class isVariable >>>>>> ifTrue: >>>>>> [index := self basicSize. >>>>>> newObject := class basicNew: index. >>>>>> [index > 0] >>>>>> whileTrue: >>>>>> [newObject basicAt: index put: (self basicAt: index). >>>>>> index := index - 1]] >>>>>> ifFalse: [newObject := class basicNew]. >>>>>> index := class instSize. >>>>>> [index > 0] >>>>>> whileTrue: >>>>>> [newObject instVarAt: index put: (self instVarAt: index). >>>>>> index := index - 1]. >>>>>> ^ newObject >>>>>> >>>>>> The code of the primitiveClone looks the same [1] >>>>>> >>>>>> >>>>>> Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. >>>>>> >>>>>> A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>>>>> Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? >>>>>> >>>>>> This looks like an oversight in some primitive. Here for example is the implementation of the shallowCopy primitive, a.k.a. clone, and you can see where it explcitly intercepts access to a context. >>>>>> >>>>>> primitiveClone >>>>>> "Return a shallow copy of the receiver. >>>>>> Special-case non-single contexts (because of context-to-stack mapping). >>>>>> Can't fail for contexts cuz of image context instantiation code (sigh)." >>>>>> >>>>>> | rcvr newCopy | >>>>>> rcvr := self stackTop. >>>>>> (objectMemory isImmediate: rcvr) >>>>>> ifTrue: >>>>>> [newCopy := rcvr] >>>>>> ifFalse: >>>>>> [(objectMemory isContextNonImm: rcvr) >>>>>> ifTrue: >>>>>> [newCopy := self cloneContext: rcvr] >>>>>> ifFalse: >>>>>> [(argumentCount = 0 >>>>>> or: [(objectMemory isForwarded: rcvr) not]) >>>>>> ifTrue: [newCopy := objectMemory clone: rcvr] >>>>>> ifFalse: [newCopy := 0]]. >>>>>> newCopy = 0 ifTrue: >>>>>> [^self primitiveFailFor: PrimErrNoMemory]]. >>>>>> self pop: argumentCount + 1 thenPush: newCopy >>>>>> >>>>>> But since Squeak doesn't have copyTo: I have no idea what primitive is being used. I'm guessing 168 primitiveCopyObject, which seems to check for a Context receiver, but not for a CompiledCode receiver. What does the primitive failure code look like? Can you post the copyTo: implementations here please? >>>>>> >>>>>> The code is above. I also see Context>>#copyTo: in Squeak calling also Object>>copy for contexts. >>>>>> >>>>>> When a crash happens we don't get the exact same error all the time. For example we get most often on mac: >>>>>> >>>>>> Process 35690 stopped >>>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) >>>>>> frame #0: 0x00000001100b1004 >>>>>> -> 0x1100b1004: inl $0x4c, %eax >>>>>> 0x1100b1006: leal -0x5c(%rip), %eax >>>>>> 0x1100b100c: pushq %r8 >>>>>> 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 >>>>>> Target 0: (GlamorousToolkit) stopped. >>>>>> >>>>>> >>>>>> Process 29929 stopped >>>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >>>>>> frame #0: 0x00000001100fe7ed >>>>>> -> 0x1100fe7ed: int3 >>>>>> 0x1100fe7ee: int3 >>>>>> 0x1100fe7ef: int3 >>>>>> 0x1100fe7f0: int3 >>>>>> Target 0: (GlamorousToolkit) stopped. >>>>>> >>>>>> [1] https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 >>>>>> >>>>>> Cheers, >>>>>> Andrei >>>>>> >>>>>> >>>>>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>>>>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>>>>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>>>>> ... >>>>>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>>>>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>>>>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>>>>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>>>>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>>>>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>>>>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>>>>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>>>>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>>>>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>>>>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>>>>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>>>>> ... >>>>>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>>>>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>>>>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>>>>> 0x1206b5b98 s Set>collect: >>>>>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>>>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>>>>> 0x1206b6a48 s BlockClosure>ensure: >>>>>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>>>>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>>>>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>>>>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>>>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>>> 0x1207e6620 s BlockClosure>on:do: >>>>>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>>>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>>>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>>> 0x1207a83e0 s BlockClosure>on:do: >>>>>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>>> 0x1207bf830 s [] in BlockClosure>newProcess >>>>>> Cheers, >>>>>> Andrei >>>>>> >>>>>> >>>>>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> _,,,^..^,,,_ >>>>>> best, Eliot >>>>>> >>>>>> >>>>>> -- >>>>>> _,,,^..^,,,_ >>>>>> best, Eliot >> >> _,,,^..^,,,_ (phone) > > > > -- > _,,,^..^,,,_ > best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Wed Sep 23 12:23:54 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 23 Sep 2020 12:23:54 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2202 Message-ID: <20200923122354.1.A2F3A56DC7A63203@appveyor.com> An HTML attachment was scrubbed... URL: From chisvasileandrei at gmail.com Wed Sep 23 12:29:33 2020 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Wed, 23 Sep 2020 14:29:33 +0200 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: <9A2F6367-8B79-4A0D-B82A-A7E2A391A764@gmail.com> <68A208A2-11AF-448B-9FE6-357A673B32D9@gmail.com> Message-ID: > On 22 Sep 2020, at 19:18, Nicolas Cellier wrote: > > If you are on linux, you could try using the recording debugger (rr)... Though, debugging a -O2 or -O3 is hard... No obvious mapping of source code with assembly instructions. It's better if you can reproduce on debug version... Mostly I’m on mac but might try this if all else fails. > > Le mar. 22 sept. 2020 à 14:21, Andrei Chis > a écrit : > > Hi Eliot, > > Unfortunately with the assert vm with memory leak checks it seems I cannot reproduce the problem. > I’ll try to run it a few more times, maybe I get lucky and get a crash (a run takes a few hours). > > For our case, calling `self pc` before copying a context really helped. Before almost 50% of our builds were failing; now we get no more failures at all. > Thanks for your insights! > > Are there other ways to get relevant/helpful details from a crash with a normal vm? > > Cheers, > Andrei > > >> On 15 Sep 2020, at 01:27, Eliot Miranda > wrote: >> >> Hi Andrei, >> >>> >>> On Sep 14, 2020, at 3:22 PM, Andrei Chis > wrote: >>> >>> Hi Eliot, >>> >>> The setup in GT is a bit customised (some changes in the headless vm, some custom plugins, custom rendering) so I first thought it will be impossible to reproduce the bug in a more standard manner. >>> However turns out it is possible. If I use the following script after running the tests a few times in lldb I get the crash starting from a plain Pharo 8 image. >>> >>> $ curl https://get.pharo.org/64/80+vm | bash >>> $ curl -L https://raw.githubusercontent.com/feenkcom/gtoolkit/master/scripts/localbuild/loadgt.st -o loadgt.st >>> $ ./pharo Pharo.image st --quit >>> >>> $ lldb ./pharo-vm/Pharo.app/Contents/MacOS/Pharo >>> (lldb) run --headless Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' >>> >>> >>> I also tried to compile the vm myself on Mac (Catalina 10.15.6). I build a normal and assert for https://github.com/OpenSmalltalk/opensmalltalk-vm and https://github.com/pharo-project/opensmalltalk-vm from the cog branch. >>> In both cases I get an issue related to pixman 0.34.0 [1] but that’s easy to workaround. For https://github.com/OpenSmalltalk/opensmalltalk-vm I got an extra problem related to Cairo [2] and had to change libpng from libpng16 to libpng12 to get it to work. >>> >>> With both the normal VMs I could reproduce the bug and got stacks with the Context>copyTo: messages. >>> >>> With the assert VMs I only got a crash for now with the assert vm from https://github.com/pharo-project/opensmalltalk-vm . However there is no Context>copyTo: and the memory seems quite corrupted. >>> I suspect the crash also appears in https://github.com/OpenSmalltalk/opensmalltalk-vm but seems that with the assert vm it is much harder to reproduce. Had to run the tests 20 times and got one crash; running the tests once take 20-30 minutes. >>> >>> >>> This is from only crash until now with the assert vm. Not sure if they are helpful or not, or actually related to the problem. >>> >>> validInstructionPointerinFrame(GIV(instructionPointer), GIV(framePointer)) 18471 >>> Pharo was compiled with optimization - stepping may behave oddly; variables may not be available. >>> Process 73731 stopped >>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) >>> frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] >>> 139 static inline sqInt intAtPointer(char *ptr) { return (sqInt)(*((int *)ptr)); } >>> 140 static inline sqInt intAtPointerput(char *ptr, int val) { return (sqInt)(*((int *)ptr)= val); } >>> 141 static inline sqInt longAtPointer(char *ptr) { return *(sqInt *)ptr; } >>> -> 142 static inline sqInt longAtPointerput(char *ptr, sqInt val) { return *(sqInt *)ptr= val; } >>> 143 static inline sqLong long64AtPointer(char *ptr) { return *(sqLong *)ptr; } >>> 144 static inline sqLong long64AtPointerput(char *ptr, sqLong val) { return *(sqLong *)ptr= val; } >>> 145 static inline float singleFloatAtPointer(char *ptr) { return *(float *)ptr; } >>> Target 0: (Pharo) stopped. >>> >>> >>> (lldb) bt >>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) >>> * frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] >>> frame #1: 0x00000001000161cf Pharo`marryFrameSP(theFP=, theSP=0x0000000000000000) at gcc3x-cointerp.c:68120:3[opt] >>> frame #2: 0x000000010001f5ac Pharo`ceContextinstVar(maybeContext=5510359872, slotIndex=0) at gcc3x-cointerp.c:15221:12 [opt] >>> frame #3: 0x00000001480017d6 >>> frame #4: 0x00000001000022be Pharo`interpret at gcc3x-cointerp.c:2755:3 [opt] >>> frame #5: 0x00000001000bc244 Pharo`-[sqSqueakMainApplication runSqueak](self=0x0000000101c76dc0, _cmd=) at sqSqueakMainApplication.m:201:2 [opt] >>> frame #6: 0x00007fff3326729b Foundation`__NSFirePerformWithOrder + 360 >>> frame #7: 0x00007fff30ad3335 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 >>> frame #8: 0x00007fff30ad3267 CoreFoundation`__CFRunLoopDoObservers + 457 >>> frame #9: 0x00007fff30ad2805 CoreFoundation`__CFRunLoopRun + 874 >>> frame #10: 0x00007fff30ad1e3e CoreFoundation`CFRunLoopRunSpecific + 462 >>> frame #11: 0x00007fff2f6feabd HIToolbox`RunCurrentEventLoopInMode + 292 >>> frame #12: 0x00007fff2f6fe6f4 HIToolbox`ReceiveNextEventCommon + 359 >>> frame #13: 0x00007fff2f6fe579 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64 >>> frame #14: 0x00007fff2dd44039 AppKit`_DPSNextEvent + 883 >>> frame #15: 0x00007fff2dd42880 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352 >>> frame #16: 0x00007fff2dd3458e AppKit`-[NSApplication run] + 658 >>> frame #17: 0x00007fff2dd06396 AppKit`NSApplicationMain + 777 >>> frame #18: 0x00007fff6ab3ecc9 libdyld.dylib`start + 1 >>> >>> >>> (lldb) call printCallStack() >>> 0x7ffeefbe3920 M INVALID RECEIVER>(nil) 0x148716b40: a(n) bad class >>> 0x7ffeefbe3968 M [] in INVALID RECEIVER>(nil) Context(Object)>>doesNotUnderstand: #bounds >>> 0x194648118: a(n) bad class >>> 0x7ffeefbe39a8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class >>> 0x7ffeefbe39e8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class >>> 0x7ffeefbe3a30 I INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe3a80 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe3ab8 M INVALID RECEIVER>(nil) 0x148163cd0: a(n) bad class >>> 0x7ffeefbe3b08 I INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >>> 0x7ffeefbe3b40 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >>> 0x7ffeefbe3b78 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class >>> 0x7ffeefbe3bc0 I INVALID RECEIVER>(nil) 0x148716a38: a(n) bad class >>> 0x7ffeefbe3c10 I INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >>> 0x7ffeefbe3c40 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >>> 0x7ffeefbe3c78 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >>> 0x7ffeefbe3cc0 M INVALID RECEIVER>(nil) 0x14d0337f0: a(n) bad class >>> 0x7ffeefbe3d08 M INVALID RECEIVER>(nil) 0x14d033738: a(n) bad class >>> 0x7ffeefbe3d50 M INVALID RECEIVER>(nil) 0x14d033680: a(n) bad class >>> 0x7ffeefbe3d98 M INVALID RECEIVER>(nil) 0x1946493f0: a(n) bad class >>> 0x7ffeefbe3de0 M INVALID RECEIVER>(nil) 0x194649338: a(n) bad class >>> 0x7ffeefbe3e28 M INVALID RECEIVER>(nil) 0x194649280: a(n) bad class >>> 0x7ffeefbe3e70 M INVALID RECEIVER>(nil) 0x1946491c8: a(n) bad class >>> 0x7ffeefbe3eb8 M INVALID RECEIVER>(nil) 0x194649110: a(n) bad class >>> 0x7ffeefbec768 M INVALID RECEIVER>(nil) 0x194649038: a(n) bad class >>> 0x7ffeefbec7b0 M INVALID RECEIVER>(nil) 0x194648f60: a(n) bad class >>> 0x7ffeefbec7f8 M INVALID RECEIVER>(nil) 0x194648e88: a(n) bad class >>> 0x7ffeefbec840 M INVALID RECEIVER>(nil) 0x194648dd0: a(n) bad class >>> 0x7ffeefbec888 M INVALID RECEIVER>(nil) 0x194648d18: a(n) bad class >>> 0x7ffeefbec8d0 M INVALID RECEIVER>(nil) 0x194648c60: a(n) bad class >>> 0x7ffeefbec918 M INVALID RECEIVER>(nil) 0x194648b88: a(n) bad class >>> 0x7ffeefbec960 M INVALID RECEIVER>(nil) 0x194648ad0: a(n) bad class >>> 0x7ffeefbec9a8 M INVALID RECEIVER>(nil) 0x194648a18: a(n) bad class >>> 0x7ffeefbec9f0 M INVALID RECEIVER>(nil) 0x194648960: a(n) bad class >>> 0x7ffeefbeca38 M INVALID RECEIVER>(nil) 0x1946488a8: a(n) bad class >>> 0x7ffeefbeca80 M INVALID RECEIVER>(nil) 0x1946487f0: a(n) bad class >>> 0x7ffeefbecac8 M INVALID RECEIVER>(nil) 0x194648708: a(n) bad class >>> 0x7ffeefbecb10 M INVALID RECEIVER>(nil) 0x194648620: a(n) bad class >>> 0x7ffeefbecb58 M INVALID RECEIVER>(nil) 0x194648508: a(n) bad class >>> 0x7ffeefbecba0 M INVALID RECEIVER>(nil) 0x194648450: a(n) bad class >>> 0x7ffeefbecbe8 M INVALID RECEIVER>(nil) 0x1481641a8: a(n) bad class >>> 0x7ffeefbecc30 M INVALID RECEIVER>(nil) 0x1481640f0: a(n) bad class >>> 0x7ffeefbecc78 M INVALID RECEIVER>(nil) 0x148164038: a(n) bad class >>> 0x7ffeefbeccc0 M INVALID RECEIVER>(nil) 0x148163f80: a(n) bad class >>> 0x7ffeefbecd08 M INVALID RECEIVER>(nil) 0x148163ec8: a(n) bad class >>> 0x7ffeefbecd50 M INVALID RECEIVER>(nil) 0x148163e10: a(n) bad class >>> 0x7ffeefbecd98 M INVALID RECEIVER>(nil) 0x148163d28: a(n) bad class >>> 0x7ffeefbecde0 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >>> 0x7ffeefbece28 M INVALID RECEIVER>(nil) 0x148163b38: a(n) bad class >>> 0x7ffeefbece70 M INVALID RECEIVER>(nil) 0x148163a80: a(n) bad class >>> 0x7ffeefbeceb8 M INVALID RECEIVER>(nil) 0x1481639c8: a(n) bad class >>> 0x7ffeefbe7758 M INVALID RECEIVER>(nil) 0x1481638e0: a(n) bad class >>> 0x7ffeefbe77a0 M INVALID RECEIVER>(nil) 0x148163808: a(n) bad class >>> 0x7ffeefbe77e8 M INVALID RECEIVER>(nil) 0x148163750: a(n) bad class >>> 0x7ffeefbe7830 M INVALID RECEIVER>(nil) 0x148163698: a(n) bad class >>> 0x7ffeefbe7878 M INVALID RECEIVER>(nil) 0x1481635c0: a(n) bad class >>> 0x7ffeefbe78c0 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class >>> 0x7ffeefbe7908 M INVALID RECEIVER>(nil) 0x148163408: a(n) bad class >>> 0x7ffeefbe7950 M INVALID RECEIVER>(nil) 0x148163350: a(n) bad class >>> 0x7ffeefbe7998 M INVALID RECEIVER>(nil) 0x148163298: a(n) bad class >>> 0x7ffeefbe79e0 M INVALID RECEIVER>(nil) 0x148163188: a(n) bad class >>> 0x7ffeefbe7a28 M INVALID RECEIVER>(nil) 0x148163098: a(n) bad class >>> 0x7ffeefbe7a70 M INVALID RECEIVER>(nil) 0x148162fa0: a(n) bad class >>> 0x7ffeefbe7ab8 M INVALID RECEIVER>(nil) 0x148162ec8: a(n) bad class >>> 0x7ffeefbe7b00 M INVALID RECEIVER>(nil) 0x148162e10: a(n) bad class >>> 0x7ffeefbe7b48 M INVALID RECEIVER>(nil) 0x148712a08: a(n) bad class >>> 0x7ffeefbe7b90 M INVALID RECEIVER>(nil) 0x148712950: a(n) bad class >>> 0x7ffeefbe7bd8 M INVALID RECEIVER>(nil) 0x148712898: a(n) bad class >>> 0x7ffeefbe7c20 M INVALID RECEIVER>(nil) 0x148713cc0: a(n) bad class >>> 0x7ffeefbe7c68 M INVALID RECEIVER>(nil) 0x148713018: a(n) bad class >>> 0x7ffeefbe7cb0 M INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >>> 0x7ffeefbe7cf8 M INVALID RECEIVER>(nil) 0x148713140: a(n) bad class >>> 0x7ffeefbe7d40 M INVALID RECEIVER>(nil) 0x148713928: a(n) bad class >>> 0x7ffeefbe7d88 M INVALID RECEIVER>(nil) 0x1487133c8: a(n) bad class >>> 0x7ffeefbe7de0 I INVALID RECEIVER>(nil) 0x148713238: a(n) bad class >>> 0x7ffeefbe7e28 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >>> 0x7ffeefbe7e70 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >>> 0x7ffeefbe7eb8 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeea68 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeeac8 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeeb00 M INVALID RECEIVER>(nil) 0x148713108: a(n) bad class >>> 0x7ffeefbeeb50 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >>> 0x7ffeefbeeb98 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >>> 0x7ffeefbeebe0 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >>> 0x7ffeefbeec10 M INVALID RECEIVER>(nil) 0x9=1 >>> 0x7ffeefbeec48 M INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >>> 0x7ffeefbeeca0 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeecd0 M INVALID RECEIVER>(nil) 0x1487130d0: a(n) bad class >>> 0x7ffeefbeed10 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeed58 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>> 0x7ffeefbeedb0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >>> 0x7ffeefbeedf0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >>> 0x7ffeefbeee20 M [] in INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class >>> 0x7ffeefbeee78 M INVALID RECEIVER>(nil) 0x148162df0: a(n) bad class >>> 0x7ffeefbeeec0 M INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class >>> 0x7ffeefbe5978 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe59d8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5a18 M INVALID RECEIVER>(nil) 0x148163150: a(n) bad class >>> 0x7ffeefbe5a68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5aa0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5ad8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5b08 M INVALID RECEIVER>(nil) 0x1481634c0: a(n) bad class >>> 0x7ffeefbe5b48 M INVALID RECEIVER>(nil) 0x14c403ca8: a(n) bad class >>> 0x7ffeefbe5b88 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5bc0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5bf0 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5c20 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5c68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>> 0x7ffeefbe5c98 M INVALID RECEIVER>(nil) 0x194656468: a(n) bad class >>> 0x7ffeefbe5cd0 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe5d00 M INVALID RECEIVER>(nil) 0x148163bf0: a(n) bad class >>> 0x7ffeefbe5d50 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe5d88 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>> 0x7ffeefbe5dc0 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>> 0x7ffeefbe5e00 M INVALID RECEIVER>(nil) 0x148163de0: a(n) bad class >>> 0x7ffeefbe5e38 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe5e80 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbe5eb8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdf9d8 M INVALID RECEIVER>(nil) 0x194648430: a(n) bad class >>> 0x7ffeefbdfa10 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfa50 M [] in INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >>> 0x7ffeefbdfa90 M INVALID RECEIVER>(nil) 0x1946486d8: a(n) bad class >>> 0x7ffeefbdfad0 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >>> 0x7ffeefbdfb10 M INVALID RECEIVER>(nil) 0x1946485e0: a(n) bad class >>> 0x7ffeefbdfb48 M INVALID RECEIVER>(nil) 0x1489f7da8: a(n) bad class >>> 0x7ffeefbdfb80 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >>> 0x7ffeefbdfbb8 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfbe8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfc20 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>> 0x7ffeefbdfc58 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>> 0x7ffeefbdfc98 M INVALID RECEIVER>(nil) 0x194648c40: a(n) bad class >>> 0x7ffeefbdfcc8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfd08 M INVALID RECEIVER>(nil) 0x194648f40: a(n) bad class >>> 0x7ffeefbdfd40 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfd70 M INVALID RECEIVER>(nil) 0x14902a730: a(n) bad class >>> 0x7ffeefbdfdb0 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>> 0x7ffeefbdfde8 M INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class >>> 0x7ffeefbdfe20 M [] in INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class >>> 0x7ffeefbdfe70 M [] in INVALID RECEIVER>(nil) 0x14d032f98: a(n) bad class >>> 0x7ffeefbdfeb8 M INVALID RECEIVER>(nil) 0x14d032fe0: a(n) bad class >>> >>> (callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil)) 72783 >>> 0x14d033738 is not a context >> >> OK, interesting. Both the assert failure and the badly corrupted stack trace lead me to believe that the issue happens long before the crash and is probably a stack corruption, either by a primitive cutting back the stack incorrectly, or some other hot riot ion (for example are all those nils in INVALID RECEIVER>(nil) real or an artifact of attempting to print an invalid value?). >> >> So the next step is to run the asset vm with leak checking turned on. Use >> >> myvm —leakcheck 3 to check after every GC >> >> We can add, eg leak checking after an FFI call, in an afternoon >> >>> A more realistic setup would be to run GT with an assert headless vm. But until now I did not figure out how to build an assert vm for the gt-headless branch from https://github.com/feenkcom/opensmalltalk-vm . >>> >>> Cheers, >>> Andrei >>> >>> >>> [1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/258 >>> >>> [2] checking for cairo's PNG functions feature... >>> configure: WARNING: Could not find libpng in the pkg-config search path >>> checking whether cairo's PNG functions feature could be enabled... no >>> configure: error: recommended PNG functions feature could not be enabled >>> >>>> On 14 Sep 2020, at 17:32, Eliot Miranda > wrote: >>>> >>>> Hi Andrei, >>>> >>>> >>>>> On Sep 14, 2020, at 7:15 AM, Andrei Chis > wrote: >>>>> >>>>> Hi Eliot, >>>>> >>>>>> On 12 Sep 2020, at 01:42, Eliot Miranda > wrote: >>>>>> >>>>>> Hi Andrei, >>>>>> >>>>>> On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis > wrote: >>>>>> >>>>>> Hi Eliot, >>>>>> >>>>>> Thanks for the answer. That helps to understand what is going on and it can explain why just adding a call to `self pc` makes the crash disappear. >>>>>> >>>>>> Just what was maybe not obvious in my previous email is that we get this problem more or less randomly. We have tests for verifying that tools work when various extensions raise exceptions (these tests copy the stack). Sometimes they work correctly and sometimes they crash. These crashes happen in various tests and until now the only common thing we noticed is that the pc of the contexts where the crash happens looks off. Also the contexts in which this happens are at the beginning of the stack so part of a long computation (it gets copied multiple times). >>>>>> >>>>>> Initially we suspected that there is some memory corruption somewhere due to external calls/memory. Just the fact that calling `self pc` before seems to fix the issue reduces those chances. But who knows. >>>>>> >>>>>> Well, it does look like a VM bug. The VM is somehow failing to intercept some access, perhaps in shallow copy. Weird. I shall try and reproduce. Is there anything special about the process you copy using copyTo: ? >>>>> >>>>> I don’t think there is something special about that process. It is the process that we start to run tests [1]. The exception happens in the running process and the crash is when copying the stack of that running process. >>>> >>>> Ok, cool. What I’d like to do is get a copy of your test setup and run it in an assert vm to try and get more information. AFAICT the vm code is good do the bug is not obvious. An assert vm may give more information before the crash. Have you tried running the system on an assert vm yet? >>>> >>>>> Checked some previous logs and we get these kinds of crashes on the CI server since at least two years. So it does not look like a new bug (but who knows). >>>>> >>>>>> >>>>>> (see below) >>>>>> >>>>>> On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda > wrote: >>>>>> >>>>>> Hi Andrei, >>>>>> >>>>>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis > wrote: >>>>>> >>>>>> Hi, >>>>>> >>>>>> We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm . >>>>>> >>>>>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>>>>> >>>>>> (lldb) call (void *) printOop(0x1206b6990) >>>>>> 0x1206b6990: a(n) Context >>>>>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>>>>> 0x1206b6b28 0x1206b6b50 >>>>>> >>>>>> Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. >>>>>> >>>>>> The issue is that that value is expected *inside* the VM. It is the frame pointer for the context. But above the Vm this value should be hidden. The VM should intercept all accesses to such fields in contexts and automatically map them back to the appropriate values that the image expects to see. [The same thing is true for CompiledMethods; inside the VM methods may refer to their JITted code, but this is invisible from the image]. Intercepting access to Context state already happens with inst var access in methods, with the shallowCopy primitive, with instVarAt: et al, etc. >>>>>> >>>>>> So I expect the issue here is that copyTo: invokes some primitive which does not (yet) check for a context receiver and/or argument, and hence accidentally it reveals the hidden state to the image and a crash results. What I need to know are the definitions for copyTo: and copy, etc all the way down to primitives. >>>>>> >>>>>> Here is the source code: >>>>>> >>>>>> Cool, nothing unusual here. This should all work perfectly. Tis a VM bug. However... >>>>>> >>>>>> Context >> copyTo: aContext >>>>>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>>>>> | copy | >>>>>> self == aContext ifTrue: [^ nil]. >>>>>> copy := self copy. >>>>>> self sender ifNotNil: [ >>>>>> copy privSender: (self sender copyTo: aContext)]. >>>>>> ^ copy >>>>>> >>>>>> Let me suggest >>>>>> >>>>>> Context >> copyTo: aContext >>>>>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>>>>> | copy | >>>>>> self == aContext ifTrue: [^ nil]. >>>>>> copy := self copy. >>>>>> self sender ifNotNil: >>>>>> [:mySender| copy privSender: (mySender copyTo: aContext)]. >>>>>> ^ copy >>>>> >>>>> Nice! >>>>> >>>>> I also tried the non-recursive implementation of Context>>#copyTo: from Squeak and it also crashes. >>>>> >>>>> Not sure if related but now in the same image as before I got a different crash and printing the stack does not work. But this time the error seems to come from handleStackOverflow >>>>> >>>>> (lldb) call (void *)printCallStack() >>>>> invalid frame pointer >>>>> invalid frame pointer >>>>> invalid frame pointer >>>>> error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=EXC_I386_GPFLT). >>>>> The process has been returned to the state before expression evaluation. >>>>> (lldb) bt >>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x121e00000) >>>>> * frame #0: 0x0000000100162258 libGlamorousToolkitVMCore.dylib`marryFrameSP + 584 >>>>> frame #1: 0x0000000100172982 libGlamorousToolkitVMCore.dylib`handleStackOverflow + 354 >>>>> frame #2: 0x000000010016b025 libGlamorousToolkitVMCore.dylib`ceStackOverflow + 149 >>>>> frame #3: 0x00000001100005b3 >>>>> frame #4: 0x0000000100174d99 libGlamorousToolkitVMCore.dylib`ptEnterInterpreterFromCallback + 73 >>>>> >>>>> >>>>> Cheers, >>>>> Andrei >>>>> >>>>> [1] ./GlamorousToolkit.app/Contents/MacOS/GlamorousToolkit Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' >>>>> >>>>> >>>>>> >>>>>> Object>>#copy >>>>>> ^self shallowCopy postCopy >>>>>> >>>>>> Object >> shallowCopy >>>>>> | class newObject index | >>>>>> >>>>>> class := self class. >>>>>> class isVariable >>>>>> ifTrue: >>>>>> [index := self basicSize. >>>>>> newObject := class basicNew: index. >>>>>> [index > 0] >>>>>> whileTrue: >>>>>> [newObject basicAt: index put: (self basicAt: index). >>>>>> index := index - 1]] >>>>>> ifFalse: [newObject := class basicNew]. >>>>>> index := class instSize. >>>>>> [index > 0] >>>>>> whileTrue: >>>>>> [newObject instVarAt: index put: (self instVarAt: index). >>>>>> index := index - 1]. >>>>>> ^ newObject >>>>>> >>>>>> The code of the primitiveClone looks the same [1] >>>>>> >>>>>> >>>>>> Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. >>>>>> >>>>>> A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>>>>> Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? >>>>>> >>>>>> This looks like an oversight in some primitive. Here for example is the implementation of the shallowCopy primitive, a.k.a. clone, and you can see where it explcitly intercepts access to a context. >>>>>> >>>>>> primitiveClone >>>>>> "Return a shallow copy of the receiver. >>>>>> Special-case non-single contexts (because of context-to-stack mapping). >>>>>> Can't fail for contexts cuz of image context instantiation code (sigh)." >>>>>> >>>>>> | rcvr newCopy | >>>>>> rcvr := self stackTop. >>>>>> (objectMemory isImmediate: rcvr) >>>>>> ifTrue: >>>>>> [newCopy := rcvr] >>>>>> ifFalse: >>>>>> [(objectMemory isContextNonImm: rcvr) >>>>>> ifTrue: >>>>>> [newCopy := self cloneContext: rcvr] >>>>>> ifFalse: >>>>>> [(argumentCount = 0 >>>>>> or: [(objectMemory isForwarded: rcvr) not]) >>>>>> ifTrue: [newCopy := objectMemory clone: rcvr] >>>>>> ifFalse: [newCopy := 0]]. >>>>>> newCopy = 0 ifTrue: >>>>>> [^self primitiveFailFor: PrimErrNoMemory]]. >>>>>> self pop: argumentCount + 1 thenPush: newCopy >>>>>> >>>>>> But since Squeak doesn't have copyTo: I have no idea what primitive is being used. I'm guessing 168 primitiveCopyObject, which seems to check for a Context receiver, but not for a CompiledCode receiver. What does the primitive failure code look like? Can you post the copyTo: implementations here please? >>>>>> >>>>>> The code is above. I also see Context>>#copyTo: in Squeak calling also Object>>copy for contexts. >>>>>> >>>>>> When a crash happens we don't get the exact same error all the time. For example we get most often on mac: >>>>>> >>>>>> Process 35690 stopped >>>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) >>>>>> frame #0: 0x00000001100b1004 >>>>>> -> 0x1100b1004: inl $0x4c, %eax >>>>>> 0x1100b1006: leal -0x5c(%rip), %eax >>>>>> 0x1100b100c: pushq %r8 >>>>>> 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 >>>>>> Target 0: (GlamorousToolkit) stopped. >>>>>> >>>>>> >>>>>> Process 29929 stopped >>>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >>>>>> frame #0: 0x00000001100fe7ed >>>>>> -> 0x1100fe7ed: int3 >>>>>> 0x1100fe7ee: int3 >>>>>> 0x1100fe7ef: int3 >>>>>> 0x1100fe7f0: int3 >>>>>> Target 0: (GlamorousToolkit) stopped. >>>>>> >>>>>> [1] https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 >>>>>> >>>>>> Cheers, >>>>>> Andrei >>>>>> >>>>>> >>>>>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>>>>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>>>>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>>>>> ... >>>>>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>>>>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>>>>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>>>>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>>>>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>>>>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>>>>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>>>>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>>>>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>>>>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>>>>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>>>>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>>>>> ... >>>>>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>>>>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>>>>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>>>>> 0x1206b5b98 s Set>collect: >>>>>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>>>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>>>>> 0x1206b6a48 s BlockClosure>ensure: >>>>>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>>>>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>>>>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>>>>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>>>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>>> 0x1207e6620 s BlockClosure>on:do: >>>>>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>>>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>>>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>>> 0x1207a83e0 s BlockClosure>on:do: >>>>>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>>> 0x1207bf830 s [] in BlockClosure>newProcess >>>>>> Cheers, >>>>>> Andrei >>>>>> >>>>>> >>>>>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> _,,,^..^,,,_ >>>>>> best, Eliot >>>>>> >>>>>> >>>>>> -- >>>>>> _,,,^..^,,,_ >>>>>> best, Eliot >> >> _,,,^..^,,,_ (phone) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Thu Sep 24 20:33:00 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Thu, 24 Sep 2020 20:33:00 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2813.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2813.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2813 Author: eem Time: 24 September 2020, 1:32:51.839224 pm UUID: c2ac4e4a-d7a9-49ef-92b0-200a234f2dfa Ancestors: VMMaker.oscog-eem.2812 Fix primitiveSoundEnableAEC and simplify primitiveSoundSupportsAEC. Make the simulator cope with timestamped events. =============== Diff against VMMaker.oscog-eem.2812 =============== Item was changed: ----- Method: CogVMSimulator>>ioGetNextEvent: (in category 'I/O primitives') ----- ioGetNextEvent: evtBuf | evt | "SimulatorMorphicModel browse" eventQueue ifNil: [^self primitiveFail]. eventQueue isEmpty ifFalse: [evt := eventQueue next. 1 to: evt size do: + [:i| + (evt at: i) ifNotNil: + [:val| + evtBuf + at: i - 1 + put: (i = 2 ifTrue: [val bitAnd: MillisecondClockMask] ifFalse: [val])]]]! - [:i| (evt at: i) ifNotNil: [:val| evtBuf at: (i - 1) put: val]]]! Item was changed: ----- Method: SoundPlugin>>primitiveSoundEnableAEC (in category 'primitives') ----- primitiveSoundEnableAEC "Enable or disable acoustic echo-cancellation (AEC). Arg is a boolean or 1 for true and 0 for false." | arg trueOrFalse errorCode | interpreterProxy methodArgumentCount = 1 ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadNumArgs]. "Parse arguments" (interpreterProxy isIntegerObject: (arg := interpreterProxy stackValue: 0)) ifTrue: [arg := interpreterProxy integerValueOf: arg. (interpreterProxy cCoerce: arg to: #unsigned) > 1 ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. trueOrFalse := arg = 1] ifFalse: [(interpreterProxy isBooleanObject: arg) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. trueOrFalse := interpreterProxy booleanValueOf: arg]. "Set AEC" (errorCode := self snd_EnableAEC: trueOrFalse) ~= 0 ifTrue: + [interpreterProxy primitiveFailFor: (errorCode < 0 ifTrue: [PrimErrGenericFailure] ifFalse: [errorCode])]. + interpreterProxy methodReturnReceiver! - [interpreterProxy primitiveFailFor: (errorCode < 0 ifTrue: [PrimErrGenericFailure] ifFalse: [errorCode])]! Item was changed: ----- Method: SoundPlugin>>primitiveSoundSupportsAEC (in category 'primitives') ----- primitiveSoundSupportsAEC "Answer if the OS/hardware supports echo-cancellation." + interpreterProxy methodReturnBool: self snd_SupportsAEC ~= 0! - | result | - result := self snd_SupportsAEC. - interpreterProxy failed ifFalse: - [interpreterProxy methodReturnBool: result ~= 0]! From noreply at github.com Thu Sep 24 20:35:43 2020 From: noreply at github.com (Eliot Miranda) Date: Thu, 24 Sep 2020 13:35:43 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] ef56e6: CogVM source as per VMMaker.oscog-eem.2813 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: ef56e6ac0ffb46d2faea5bd090680e012244d276 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ef56e6ac0ffb46d2faea5bd090680e012244d276 Author: Eliot Miranda Date: 2020-09-24 (Thu, 24 Sep 2020) Changed paths: M src/plugins/SoundPlugin/SoundPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2813 Fix primitiveSoundEnableAEC and simplify primitiveSoundSupportsAEC. Make the simulator cope with timestamped events. From no-reply at appveyor.com Thu Sep 24 20:39:47 2020 From: no-reply at appveyor.com (AppVeyor) Date: Thu, 24 Sep 2020 20:39:47 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2203 Message-ID: <20200924203947.1.1B3E963239B41505@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Thu Sep 24 20:44:59 2020 From: builds at travis-ci.org (Travis CI) Date: Thu, 24 Sep 2020 20:44:59 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2203 (Cog - ef56e6a) In-Reply-To: Message-ID: <5f6d054b71216_13fa90e963a10586bb@travis-tasks-5c8ccc5d5f-74pxw.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2203 Status: Still Failing Duration: 8 mins and 43 secs Commit: ef56e6a (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2813 Fix primitiveSoundEnableAEC and simplify primitiveSoundSupportsAEC. Make the simulator cope with timestamped events. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/97aae92d2ce0...ef56e6ac0ffb View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730070066?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Thu Sep 24 21:24:49 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Thu, 24 Sep 2020 21:24:49 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2814.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2814.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2814 Author: eem Time: 24 September 2020, 2:24:25.855864 pm UUID: 53654b48-aee6-4a54-81cd-359178c61658 Ancestors: VMMaker.oscog-eem.2813 Use bridges to use a single loop for allObjectsDo: et al. Install a bridge from freeStart (end of eden) to newSpaceStart and from pastSpaceStart (end of past space) to start of eden as required. e.g. on MacOS X x86_64 saves 1.6% of the debug VM executable, 0.7% production. =============== Diff against VMMaker.oscog-eem.2813 =============== Item was added: + ----- Method: SpurMemoryManager>>allEntitiesFrom:do: (in category 'object enumeration-private') ----- + allEntitiesFrom: initialObject do: aBlock + + | prevObj prevPrevObj objOop | + prevPrevObj := prevObj := nil. + objOop := initialObject. + self enableObjectEnumerationFrom: initialObject. + [self assert: objOop \\ self allocationUnit = 0. + self oop: objOop isLessThan: endOfMemory] whileTrue: + [self assert: (self long64At: objOop) ~= 0. + aBlock value: objOop. + prevPrevObj := prevObj. + prevObj := objOop. + objOop := self objectAfter: objOop limit: endOfMemory]. + self touch: prevPrevObj. + self touch: prevObj! Item was removed: - ----- Method: SpurMemoryManager>>allExistingNewSpaceObjectsDo: (in category 'object enumeration') ----- - allExistingNewSpaceObjectsDo: aBlock - - | prevObj prevPrevObj objOop limit | - prevPrevObj := prevObj := nil. - "After a scavenge eden is empty, futureSpace is empty, and all newSpace objects are - in pastSpace. Objects are allocated in eden. So enumerate only eden and pastSpace." - objOop := self objectStartingAt: scavenger eden start. - limit := freeStart. - [self oop: objOop isLessThan: limit] whileTrue: - [self assert: (self isEnumerableObjectNoAssert: objOop). - aBlock value: objOop. - prevPrevObj := prevObj. - prevObj := objOop. - objOop := self objectAfter: objOop limit: freeStart]. - objOop := self objectStartingAt: scavenger pastSpace start. - limit := pastSpaceStart. - [self oop: objOop isLessThan: limit] whileTrue: - [self assert: (self isEnumerableObjectNoAssert: objOop). - aBlock value: objOop. - prevPrevObj := prevObj. - prevObj := objOop. - objOop := self objectAfter: objOop limit: limit]. - self touch: prevPrevObj. - self touch: prevObj! Item was removed: - ----- Method: SpurMemoryManager>>allExistingObjectsDo: (in category 'object enumeration') ----- - allExistingObjectsDo: aBlock - "Enumerate all objects, excluding any objects created - during the execution of allExistingObjectsDo:." - - self allExistingNewSpaceObjectsDo: aBlock. - self allExistingOldSpaceObjectsDo: aBlock! Item was removed: - ----- Method: SpurMemoryManager>>allExistingOldSpaceObjectsDo: (in category 'object enumeration') ----- - allExistingOldSpaceObjectsDo: aBlock - "Enumerate all old space objects, excluding any objects created - during the execution of allExistingOldSpaceObjectsDo:." - - | oldSpaceLimit prevObj prevPrevObj objOop | - prevPrevObj := prevObj := nil. - objOop := self firstObject. - oldSpaceLimit := endOfMemory. - [self assert: objOop \\ self allocationUnit = 0. - self oop: objOop isLessThan: oldSpaceLimit] whileTrue: - [(self isEnumerableObject: objOop) ifTrue: - [aBlock value: objOop]. - prevPrevObj := prevObj. - prevObj := objOop. - objOop := self objectAfter: objOop limit: oldSpaceLimit]. - self touch: prevPrevObj. - self touch: prevObj! Item was changed: + ----- Method: SpurMemoryManager>>allHeapEntitiesDo: (in category 'object enumeration-private') ----- - ----- Method: SpurMemoryManager>>allHeapEntitiesDo: (in category 'object enumeration') ----- allHeapEntitiesDo: aBlock "N.B. e.g. allObjects relies on the old/new order here." self allOldSpaceEntitiesDo: aBlock. self allNewSpaceEntitiesDo: aBlock! Item was changed: + ----- Method: SpurMemoryManager>>allNewSpaceEntitiesDo: (in category 'object enumeration-private') ----- - ----- Method: SpurMemoryManager>>allNewSpaceEntitiesDo: (in category 'object enumeration') ----- allNewSpaceEntitiesDo: aBlock "Enumerate all new space objects, including free objects." + | prevObj prevPrevObj objOop | - | prevObj prevPrevObj objOop limit | prevPrevObj := prevObj := nil. "After a scavenge eden is empty, futureSpace is empty, and all newSpace objects are in pastSpace. Objects are allocated in eden. So enumerate only pastSpace and eden." self assert: (scavenger pastSpace start < scavenger eden start). objOop := self objectStartingAt: scavenger pastSpace start. + self enableNewSpaceObjectEnumerationFrom: objOop. - limit := pastSpaceStart. - [self oop: objOop isLessThan: limit] whileTrue: - [aBlock value: objOop. - prevPrevObj := prevObj. - prevObj := objOop. - objOop := self objectAfter: objOop limit: limit]. - objOop := self objectStartingAt: scavenger eden start. [self oop: objOop isLessThan: freeStart] whileTrue: [aBlock value: objOop. prevPrevObj := prevObj. prevObj := objOop. objOop := self objectAfter: objOop limit: freeStart]. self touch: prevPrevObj. self touch: prevObj! Item was changed: ----- Method: SpurMemoryManager>>allNewSpaceObjectsDo: (in category 'object enumeration') ----- allNewSpaceObjectsDo: aBlock "Enumerate all new space objects, excluding free objects." self allNewSpaceEntitiesDo: [:objOop| + self assert: (self isBridgeOrEnumerableObjectNoAssert: objOop). - self assert: (self isEnumerableObjectNoAssert: objOop). aBlock value: objOop]! Item was changed: ----- Method: SpurMemoryManager>>allObjectsDo: (in category 'object enumeration') ----- allObjectsDo: aBlock + | firstObject | + firstObject := self objectStartingAt: scavenger pastSpace start. + self enableObjectEnumerationFrom: firstObject. + self allEntitiesFrom: firstObject + do: [:objOop| + (self isEnumerableObject: objOop) ifTrue: + [aBlock value: objOop]]! - self allNewSpaceObjectsDo: aBlock. - self allOldSpaceObjectsDo: aBlock! Item was added: + ----- Method: SpurMemoryManager>>allObjectsFrom:do: (in category 'object enumeration') ----- + allObjectsFrom: initialObject do: aBlock + "Enumerate all objects (i.e. exclude bridges, forwarders and free chunks) + in oldSpace starting at initialObject." + + self allEntitiesFrom: initialObject + do: [:objOop| + (self isEnumerableObject: objOop) ifTrue: + [aBlock value: objOop]]! Item was changed: + ----- Method: SpurMemoryManager>>allOldSpaceEntitiesDo: (in category 'object enumeration-private') ----- - ----- Method: SpurMemoryManager>>allOldSpaceEntitiesDo: (in category 'object enumeration') ----- allOldSpaceEntitiesDo: aBlock self allOldSpaceEntitiesFrom: self firstObject do: aBlock! Item was changed: + ----- Method: SpurMemoryManager>>allOldSpaceEntitiesFrom:do: (in category 'object enumeration-private') ----- - ----- Method: SpurMemoryManager>>allOldSpaceEntitiesFrom:do: (in category 'object enumeration') ----- allOldSpaceEntitiesFrom: initialObject do: aBlock | prevObj prevPrevObj objOop | self assert: (self isOldObject: initialObject). prevPrevObj := prevObj := nil. objOop := initialObject. [self assert: objOop \\ self allocationUnit = 0. self oop: objOop isLessThan: endOfMemory] whileTrue: [self assert: (self long64At: objOop) ~= 0. aBlock value: objOop. prevPrevObj := prevObj. prevObj := objOop. objOop := self objectAfter: objOop limit: endOfMemory]. self touch: prevPrevObj. self touch: prevObj! Item was changed: + ----- Method: SpurMemoryManager>>allPastSpaceEntitiesDo: (in category 'object enumeration-private') ----- - ----- Method: SpurMemoryManager>>allPastSpaceEntitiesDo: (in category 'object enumeration') ----- allPastSpaceEntitiesDo: aBlock "Enumerate all past space objects, including free objects." | prevObj prevPrevObj objOop | prevPrevObj := prevObj := nil. objOop := self objectStartingAt: scavenger pastSpace start. [self oop: objOop isLessThan: pastSpaceStart] whileTrue: [aBlock value: objOop. prevPrevObj := prevObj. prevObj := objOop. objOop := self objectAfter: objOop limit: pastSpaceStart]. self touch: prevPrevObj. self touch: prevObj! Item was added: + ----- Method: SpurMemoryManager>>enableNewSpaceObjectEnumerationFrom: (in category 'object enumeration-private') ----- + enableNewSpaceObjectEnumerationFrom: initialObject + "We use bridges to stitch segments together to make it appear that the heap is one contiguous space. + Bridges at the end of oldSpace segments are maintained. Bridges at the end of pastSpace and eden + are temporary, and are established here, depending on the current sizes of pastSpace end eden." + + ((self oop: initialObject isLessThan: scavenger eden start) + and: [scavenger eden start > pastSpaceStart]) ifTrue: + [self initSegmentBridgeWithBytes: scavenger eden start - pastSpaceStart at: pastSpaceStart]! Item was added: + ----- Method: SpurMemoryManager>>enableObjectEnumerationFrom: (in category 'object enumeration-private') ----- + enableObjectEnumerationFrom: initialObject + "We use bridges to stitch segments together to make it appear that the heap is one contiguous space. + Bridges at the end of oldSpace segments are maintained. Bridges at the end of pastSpace and eden + are temporary, and are established here, depending on the current sizes of pastSpace end eden." + + (self oop: initialObject isLessThan: oldSpaceStart) ifTrue: + [self initSegmentBridgeWithBytes: oldSpaceStart - freeStart at: freeStart. + self enableNewSpaceObjectEnumerationFrom: initialObject]! Item was added: + ----- Method: SpurMemoryManager>>isBridgeOrEnumerableObjectNoAssert: (in category 'object enumeration') ----- + isBridgeOrEnumerableObjectNoAssert: objOop + "Answer if objOop should be included in an allObjects...Do: enumeration. + This is for assert-checking only." + | classIndex | + classIndex := self classIndexOf: objOop. + ^classIndex >= self isForwardedObjectClassIndexPun + ifTrue: [classIndex < (numClassTablePages * self classTablePageSize)] + ifFalse: [classIndex = self segmentBridgePun]! From commits at source.squeak.org Thu Sep 24 21:52:59 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Thu, 24 Sep 2020 21:52:59 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2815.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2815.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2815 Author: eem Time: 24 September 2020, 2:52:43.72068 pm UUID: abed0d85-3454-4d93-97a1-37cce8acc9be Ancestors: VMMaker.oscog-eem.2814 Spur: Bridging new and old space. Little point inlining enableObjectEnumerationFrom:. This saves 42 copies of the code. No need to have a conditional check when establisging the pastSpace->eden bridge in allNewSpaceEntitiesDo:. Better comment initSegmentBridgeWithBytes:at: The assert in isEnumerableObject: needs tweaking. =============== Diff against VMMaker.oscog-eem.2814 =============== Item was changed: ----- Method: Spur32BitMemoryManager>>initSegmentBridgeWithBytes:at: (in category 'segments') ----- initSegmentBridgeWithBytes: numBytes at: address | numSlots | + "Must have room for a double header or a short object with the forwarding slot (16 bytes either way)." - "must have room for a double header" self assert: (numBytes \\ self allocationUnit = 0 and: [numBytes >= (self baseHeaderSize + self baseHeaderSize)]). numSlots := numBytes - self baseHeaderSize - self baseHeaderSize >> self shiftForWord. self flag: #endianness. numSlots = 0 ifTrue: "short bridge for adjacent segments" [self longAt: address put: (1 << self pinnedBitShift) + (self wordIndexableFormat << self formatShift) + self segmentBridgePun; longAt: address + 4 put: (1 << self markedBitHalfShift)] ifFalse: "long bridge" [self longAt: address put: numSlots; longAt: address + 4 put: self numSlotsMask << self numSlotsHalfShift; longAt: address + 8 put: (1 << self pinnedBitShift) + (self wordIndexableFormat << self formatShift) + self segmentBridgePun; longAt: address + 12 put: self numSlotsMask << self numSlotsHalfShift + (1 << self markedBitHalfShift)]! Item was changed: ----- Method: Spur64BitMemoryManager>>initSegmentBridgeWithBytes:at: (in category 'segments') ----- initSegmentBridgeWithBytes: numBytes at: address | numSlots | + "Must have room for a double header or a short object with the forwarding slot (16 bytes either way)." - "must have room for a double header" self assert: (numBytes \\ self allocationUnit = 0 and: [numBytes >= (self baseHeaderSize + self baseHeaderSize)]). numSlots := numBytes - self baseHeaderSize - self baseHeaderSize >> self shiftForWord. numSlots = 0 ifTrue: "short bridge for adjacent segments" [self longAt: address put: (1 << self pinnedBitShift) + (1 << self markedBitFullShift) + (self wordIndexableFormat << self formatShift) + self segmentBridgePun] ifFalse: "long bridge" [self longAt: address put: self numSlotsMask << self numSlotsFullShift + numSlots; longAt: address + self baseHeaderSize put: (self numSlotsMask << self numSlotsFullShift) + (1 << self pinnedBitShift) + (1 << self markedBitFullShift) + (self wordIndexableFormat << self formatShift) + self segmentBridgePun]! Item was changed: ----- Method: SpurMemoryManager>>allNewSpaceEntitiesDo: (in category 'object enumeration-private') ----- allNewSpaceEntitiesDo: aBlock "Enumerate all new space objects, including free objects." | prevObj prevPrevObj objOop | prevPrevObj := prevObj := nil. "After a scavenge eden is empty, futureSpace is empty, and all newSpace objects are in pastSpace. Objects are allocated in eden. So enumerate only pastSpace and eden." self assert: (scavenger pastSpace start < scavenger eden start). + self initSegmentBridgeWithBytes: scavenger eden start - pastSpaceStart at: pastSpaceStart. objOop := self objectStartingAt: scavenger pastSpace start. - self enableNewSpaceObjectEnumerationFrom: objOop. [self oop: objOop isLessThan: freeStart] whileTrue: [aBlock value: objOop. prevPrevObj := prevObj. prevObj := objOop. objOop := self objectAfter: objOop limit: freeStart]. self touch: prevPrevObj. self touch: prevObj! Item was changed: ----- Method: SpurMemoryManager>>enableObjectEnumerationFrom: (in category 'object enumeration-private') ----- enableObjectEnumerationFrom: initialObject "We use bridges to stitch segments together to make it appear that the heap is one contiguous space. Bridges at the end of oldSpace segments are maintained. Bridges at the end of pastSpace and eden are temporary, and are established here, depending on the current sizes of pastSpace end eden." + - (self oop: initialObject isLessThan: oldSpaceStart) ifTrue: [self initSegmentBridgeWithBytes: oldSpaceStart - freeStart at: freeStart. self enableNewSpaceObjectEnumerationFrom: initialObject]! Item was changed: ----- Method: SpurMemoryManager>>initSegmentBridgeWithBytes:at: (in category 'segments') ----- initSegmentBridgeWithBytes: numBytes at: address + "Must have room for a double header or a short object with the forwarding slot (16 bytes either way)." + self assert: (numBytes \\ self allocationUnit = 0 + and: [numBytes >= (self baseHeaderSize + self baseHeaderSize)]). + ^self subclassResponsibility! Item was changed: ----- Method: SpurMemoryManager>>isEnumerableObject: (in category 'object enumeration') ----- isEnumerableObject: objOop "Answer if objOop should be included in an allObjects...Do: enumeration. Non-objects should be excluded; these are bridges and free chunks." | classIndex | classIndex := self classIndexOf: objOop. + self assert: (classIndex = self segmentBridgePun + or: [classIndex = self isForwardedObjectClassIndexPun + or: [(self long64At: objOop) ~= 0 + and: [classIndex < (numClassTablePages * self classTablePageSize)]]]). - self assert: ((self long64At: objOop) ~= 0 - and: [classIndex < (numClassTablePages * self classTablePageSize)]). ^classIndex >= self isForwardedObjectClassIndexPun! From commits at source.squeak.org Thu Sep 24 22:32:13 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Thu, 24 Sep 2020 22:32:13 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2816.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2816.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2816 Author: eem Time: 24 September 2020, 3:31:59.370069 pm UUID: 400c2a4a-f20c-49e2-83d4-af6cfbf28635 Ancestors: VMMaker.oscog-eem.2815 Spur: Bridging new and old space. At snapshot time eden is empty, so bridge from pastSpace direct to oldSpace. Hence eliminate enableNewSpaceObjectEnumerationFrom:. Fixes an assert failure at snapshot enumerating the unnecessary bridge at the start of the empty eden. =============== Diff against VMMaker.oscog-eem.2815 =============== Item was removed: - ----- Method: SpurMemoryManager>>enableNewSpaceObjectEnumerationFrom: (in category 'object enumeration-private') ----- - enableNewSpaceObjectEnumerationFrom: initialObject - "We use bridges to stitch segments together to make it appear that the heap is one contiguous space. - Bridges at the end of oldSpace segments are maintained. Bridges at the end of pastSpace and eden - are temporary, and are established here, depending on the current sizes of pastSpace end eden." - - ((self oop: initialObject isLessThan: scavenger eden start) - and: [scavenger eden start > pastSpaceStart]) ifTrue: - [self initSegmentBridgeWithBytes: scavenger eden start - pastSpaceStart at: pastSpaceStart]! Item was changed: ----- Method: SpurMemoryManager>>enableObjectEnumerationFrom: (in category 'object enumeration-private') ----- enableObjectEnumerationFrom: initialObject "We use bridges to stitch segments together to make it appear that the heap is one contiguous space. Bridges at the end of oldSpace segments are maintained. Bridges at the end of pastSpace and eden are temporary, and are established here, depending on the current sizes of pastSpace end eden." (self oop: initialObject isLessThan: oldSpaceStart) ifTrue: + [freeStart > scavenger eden start + ifTrue: + [self initSegmentBridgeWithBytes: oldSpaceStart - freeStart at: freeStart. + self initSegmentBridgeWithBytes: scavenger eden start - pastSpaceStart at: pastSpaceStart] + ifFalse:"If eden is empty (e.g. at snapshot time), skip it entirely" + [self initSegmentBridgeWithBytes: newSpaceStart - pastSpaceStart at: pastSpaceStart]]! - [self initSegmentBridgeWithBytes: oldSpaceStart - freeStart at: freeStart. - self enableNewSpaceObjectEnumerationFrom: initialObject]! From commits at source.squeak.org Thu Sep 24 22:41:45 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Thu, 24 Sep 2020 22:41:45 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2817.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2817.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2817 Author: eem Time: 24 September 2020, 3:41:30.087755 pm UUID: b6c2b22e-8819-4800-bc79-23edbf2d76ba Ancestors: VMMaker.oscog-eem.2816 Oops! =============== Diff against VMMaker.oscog-eem.2816 =============== Item was changed: ----- Method: SpurMemoryManager>>enableObjectEnumerationFrom: (in category 'object enumeration-private') ----- enableObjectEnumerationFrom: initialObject "We use bridges to stitch segments together to make it appear that the heap is one contiguous space. Bridges at the end of oldSpace segments are maintained. Bridges at the end of pastSpace and eden are temporary, and are established here, depending on the current sizes of pastSpace end eden." (self oop: initialObject isLessThan: oldSpaceStart) ifTrue: [freeStart > scavenger eden start ifTrue: [self initSegmentBridgeWithBytes: oldSpaceStart - freeStart at: freeStart. self initSegmentBridgeWithBytes: scavenger eden start - pastSpaceStart at: pastSpaceStart] ifFalse:"If eden is empty (e.g. at snapshot time), skip it entirely" + [self initSegmentBridgeWithBytes: oldSpaceStart - pastSpaceStart at: pastSpaceStart]]! - [self initSegmentBridgeWithBytes: newSpaceStart - pastSpaceStart at: pastSpaceStart]]! From commits at source.squeak.org Fri Sep 25 00:52:02 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Fri, 25 Sep 2020 00:52:02 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2818.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2818.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2818 Author: eem Time: 24 September 2020, 5:51:45.703537 pm UUID: d667e95f-18d0-4af4-b376-b09f97569a74 Ancestors: VMMaker.oscog-eem.2817 Spur: Bridging new and old space. Deal with either or both of pastSpace and eden being empty. startAddressForBridgedHeapEnumeration may answer nilObj, or the start of eden or the start of pastSpace, which ever is the lowest address that poijts to an object, not just the start of an empty space. Deal with pastSpace being completely full (at least partially). enableObjectEnumerationFrom: does not create a bridge between pastSpace and eden if pastSpace is entirely full. But this will *break* if there is onle one 64-bit word free at the end of pastSpace. This needs dealing with. Simulator: same event fix needed in StackInterpreterSimulator. =============== Diff against VMMaker.oscog-eem.2817 =============== Item was changed: ----- Method: SpurMemoryManager>>allNewSpaceEntitiesDo: (in category 'object enumeration-private') ----- allNewSpaceEntitiesDo: aBlock "Enumerate all new space objects, including free objects." + | start prevObj prevPrevObj objOop | - | prevObj prevPrevObj objOop | prevPrevObj := prevObj := nil. "After a scavenge eden is empty, futureSpace is empty, and all newSpace objects are in pastSpace. Objects are allocated in eden. So enumerate only pastSpace and eden." self assert: (scavenger pastSpace start < scavenger eden start). + start := self startAddressForBridgedHeapEnumeration. + start > freeStart ifTrue: [^self]. self initSegmentBridgeWithBytes: scavenger eden start - pastSpaceStart at: pastSpaceStart. + objOop := self objectStartingAt: start. - objOop := self objectStartingAt: scavenger pastSpace start. [self oop: objOop isLessThan: freeStart] whileTrue: [aBlock value: objOop. prevPrevObj := prevObj. prevObj := objOop. objOop := self objectAfter: objOop limit: freeStart]. self touch: prevPrevObj. self touch: prevObj! Item was changed: ----- Method: SpurMemoryManager>>allObjectsDo: (in category 'object enumeration') ----- allObjectsDo: aBlock + | startObject | + startObject := self objectStartingAt: self startAddressForBridgedHeapEnumeration. + self enableObjectEnumerationFrom: startObject. + self allEntitiesFrom: startObject - | firstObject | - firstObject := self objectStartingAt: scavenger pastSpace start. - self enableObjectEnumerationFrom: firstObject. - self allEntitiesFrom: firstObject do: [:objOop| (self isEnumerableObject: objOop) ifTrue: [aBlock value: objOop]]! Item was changed: ----- Method: SpurMemoryManager>>enableObjectEnumerationFrom: (in category 'object enumeration-private') ----- enableObjectEnumerationFrom: initialObject "We use bridges to stitch segments together to make it appear that the heap is one contiguous space. Bridges at the end of oldSpace segments are maintained. Bridges at the end of pastSpace and eden are temporary, and are established here, depending on the current sizes of pastSpace end eden." (self oop: initialObject isLessThan: oldSpaceStart) ifTrue: [freeStart > scavenger eden start ifTrue: [self initSegmentBridgeWithBytes: oldSpaceStart - freeStart at: freeStart. + pastSpaceStart < scavenger eden start ifTrue: "past space can be entirely full (!!!!)" + [self initSegmentBridgeWithBytes: scavenger eden start - pastSpaceStart at: pastSpaceStart]] - self initSegmentBridgeWithBytes: scavenger eden start - pastSpaceStart at: pastSpaceStart] ifFalse:"If eden is empty (e.g. at snapshot time), skip it entirely" [self initSegmentBridgeWithBytes: oldSpaceStart - pastSpaceStart at: pastSpaceStart]]! Item was added: + ----- Method: SpurMemoryManager>>startAddressForBridgedHeapEnumeration (in category 'object enumeration-private') ----- + startAddressForBridgedHeapEnumeration + "Answer the address to start enumeration at if using the bridged enumerator. + This is not suitable for the enumerators which enumerate old space before new space. + The complication here is that either or both of pastSpace and eden may be empty." + + ^pastSpaceStart > scavenger pastSpace start + ifTrue: [scavenger pastSpace start] + ifFalse: + [freeStart > scavenger eden start + ifTrue: [scavenger eden start] + ifFalse: [oldSpaceStart]]! Item was changed: ----- Method: StackInterpreterSimulator>>ioGetNextEvent: (in category 'I/O primitives') ----- ioGetNextEvent: evtBuf | evt | "SimulatorMorphicModel browse" eventQueue ifNil: [^self primitiveFail]. eventQueue isEmpty ifFalse: [evt := eventQueue next. + 1 to: evt size do: + [:i| + (evt at: i) ifNotNil: + [:val| + evtBuf + at: i - 1 + put: (i = 2 ifTrue: [val bitAnd: MillisecondClockMask] ifFalse: [val])]]]! - 1 to: evtBuf size do: - [:i| (evt at: i) ifNotNil: [:val| evtBuf at: (i - 1) put: val asInteger]]]! From commits at source.squeak.org Fri Sep 25 06:00:54 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Fri, 25 Sep 2020 06:00:54 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2819.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2819.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2819 Author: eem Time: 24 September 2020, 11:00:39.141595 pm UUID: 0d2e74ed-d411-42ae-a202-d2ca9865a0ad Ancestors: VMMaker.oscog-eem.2818 Spur: Bridging new and old space. Dela with the issue of pastSpace being just a 64-bit word shy of eden. This needs a one word bridge, which is not somehting the system is designed for at all. However, we can hack one in to a special enumerator used only for the bridged new and old spae enumerators, objectAfterMaybeSlimBridge:limit:. hackSlimBridgeTo:at: creates a one word overflow header recognised by objectAfterMaybeSlimBridge:limit:. The slkim bridge overflow header has a slot count of either 0 or 1. And so, placed in the last word of past space it is able to point either to the first word of eden (the first object in eden having a one word header) or to the second word of eden (the first object in eden having an overflow header). Avoid recursion in assert checking by adding objectInPastSpaceBefore: which is used only to locate the object before a slim bridge. Slim bridge is a pun, a return to my youth: https://www.wwt.org.uk/wetland-centres/slimbridge# =============== Diff against VMMaker.oscog-eem.2818 =============== Item was added: + ----- Method: Spur32BitMemoryManager>>hackSlimBridgeTo:at: (in category 'object enumeration-private') ----- + hackSlimBridgeTo: firstEdenObject at: lastWordInPastSpace + "This is a horrible hack for getting to the first object in eden if pastSpace is almost full. + If there is only one (64-bit) word at the end of pastSpace there is no room for a full + bridge, but there is room for this hack." + self flag: #endianness. + self assert: lastWordInPastSpace = pastSpaceStart. + self assert: lastWordInPastSpace + self baseHeaderSize = scavenger eden start. + self longAt: lastWordInPastSpace + put: (firstEdenObject = scavenger eden start ifTrue: [0] ifFalse: [1]). + self longAt: lastWordInPastSpace + 4 put: self numSlotsMask << self numSlotsHalfShift! Item was changed: + ----- Method: Spur32BitMemoryManager>>initSegmentBridgeWithBytes:at: (in category 'object enumeration') ----- - ----- Method: Spur32BitMemoryManager>>initSegmentBridgeWithBytes:at: (in category 'segments') ----- initSegmentBridgeWithBytes: numBytes at: address | numSlots | "Must have room for a double header or a short object with the forwarding slot (16 bytes either way)." self assert: (numBytes \\ self allocationUnit = 0 and: [numBytes >= (self baseHeaderSize + self baseHeaderSize)]). numSlots := numBytes - self baseHeaderSize - self baseHeaderSize >> self shiftForWord. self flag: #endianness. numSlots = 0 ifTrue: "short bridge for adjacent segments" [self longAt: address put: (1 << self pinnedBitShift) + (self wordIndexableFormat << self formatShift) + self segmentBridgePun; longAt: address + 4 put: (1 << self markedBitHalfShift)] ifFalse: "long bridge" [self longAt: address put: numSlots; longAt: address + 4 put: self numSlotsMask << self numSlotsHalfShift; longAt: address + 8 put: (1 << self pinnedBitShift) + (self wordIndexableFormat << self formatShift) + self segmentBridgePun; longAt: address + 12 put: self numSlotsMask << self numSlotsHalfShift + (1 << self markedBitHalfShift)]! Item was added: + ----- Method: Spur32BitMemoryManager>>objectAfterMaybeSlimBridge:limit: (in category 'object enumeration-private') ----- + objectAfterMaybeSlimBridge: objOop limit: limit + "Object parsing. + 1. all objects have at least a word following the header, for a forwarding pointer. + 2. objects with an overflow size have a preceding word with a saturated numSlots. If the word + following an object doesn't have a saturated numSlots field it must be a single-header object. + If the word following does have a saturated numSlots it must be the overflow size word. + This variation on objectAfter:limit: allows for a single (64-bit) word bridge which may be needed + to bridge from an almost full pastSpace to eden. It is ony used in the flat enumerators that use + startAddressForBridgedHeapEnumeration and enumerate over pastSpace, eden and oldSpace + in that order. Note that the order for allObjects, and allInstances enumerates over oldSpace first. + + This hack is cheap. It increases the size of the objectAfter code, but saves two extra copies of + the inner loop, since the inner loop now enumerates over all of pastSpace, eden and oldSpace. + The test for a slim bridge is only performed if applied to an overflow header, and typically only + 1 in 400 objects have overflow headers in 32-bits, 1 in 500 in 64-bits." + + | followingWordAddress followingWord | + followingWordAddress := self addressAfter: objOop. + (self oop: followingWordAddress isGreaterThanOrEqualTo: limit) ifTrue: + [^limit]. + self flag: #endianness. + followingWord := self longAt: followingWordAddress + 4. + ^followingWord >> self numSlotsHalfShift = self numSlotsMask + ifTrue: [1 = (self longAt: followingWordAddress) "i.e. the raw overflow slots in the overflow word" + ifTrue: [followingWordAddress + self baseHeaderSize + self baseHeaderSize] + ifFalse: [followingWordAddress + self baseHeaderSize]] + ifFalse: [followingWordAddress]! Item was added: + ----- Method: Spur64BitMemoryManager>>hackSlimBridgeTo:at: (in category 'object enumeration-private') ----- + hackSlimBridgeTo: firstEdenObject at: lastWordInPastSpace + "This is a horrible hack for getting to the first object in eden if pastSpace is almost full. + If there is only one (64-bit) word at the end of pastSpace there is no room for a full + bridge, but there is room for this hack." + self assert: lastWordInPastSpace = pastSpaceStart. + self assert: lastWordInPastSpace + self baseHeaderSize = scavenger eden start. + self longAt: lastWordInPastSpace + put: (firstEdenObject = scavenger eden start + ifTrue: [self numSlotsMask << self numSlotsFullShift] + ifFalse: [self numSlotsMask << self numSlotsFullShift + 1])! Item was changed: + ----- Method: Spur64BitMemoryManager>>initSegmentBridgeWithBytes:at: (in category 'object enumeration') ----- - ----- Method: Spur64BitMemoryManager>>initSegmentBridgeWithBytes:at: (in category 'segments') ----- initSegmentBridgeWithBytes: numBytes at: address | numSlots | "Must have room for a double header or a short object with the forwarding slot (16 bytes either way)." self assert: (numBytes \\ self allocationUnit = 0 and: [numBytes >= (self baseHeaderSize + self baseHeaderSize)]). numSlots := numBytes - self baseHeaderSize - self baseHeaderSize >> self shiftForWord. numSlots = 0 ifTrue: "short bridge for adjacent segments" [self longAt: address put: (1 << self pinnedBitShift) + (1 << self markedBitFullShift) + (self wordIndexableFormat << self formatShift) + self segmentBridgePun] ifFalse: "long bridge" [self longAt: address put: self numSlotsMask << self numSlotsFullShift + numSlots; longAt: address + self baseHeaderSize put: (self numSlotsMask << self numSlotsFullShift) + (1 << self pinnedBitShift) + (1 << self markedBitFullShift) + (self wordIndexableFormat << self formatShift) + self segmentBridgePun]! Item was added: + ----- Method: Spur64BitMemoryManager>>objectAfterMaybeSlimBridge:limit: (in category 'object enumeration-private') ----- + objectAfterMaybeSlimBridge: objOop limit: limit + "Object parsing. + 1. all objects have at least a word following the header, for a forwarding pointer. + 2. objects with an overflow size have a preceding word with a saturated numSlots. If the word + following an object doesn't have a saturated numSlots field it must be a single-header object. + If the word following does have a saturated numSlots it must be the overflow size word. + This variation on objectAfter:limit: allows for a single (64-bit) word bridge which may be needed + to bridge from an almost full pastSpace to eden. It is ony used in the flat enumerators that use + startAddressForBridgedHeapEnumeration and enumerate over pastSpace, eden and oldSpace + in that order. Note that the order for allObjects, and allInstances enumerates over oldSpace first. + + This hack is cheap. It increases the size of the objectAfter code, but saves two extra copies of + the inner loop, since the inner loop now enumerates over all of pastSpace, eden and oldSpace. + The test for a slim bridge is only performed if applied to an overflow header, and typically only + 1 in 400 objects have overflow headers in 32-bits, 1 in 500 in 64-bits." + + | followingWordAddress followingWord | + followingWordAddress := self addressAfter: objOop. + (self oop: followingWordAddress isGreaterThanOrEqualTo: limit) ifTrue: + [^limit]. + self flag: #endianness. + followingWord := self longAt: followingWordAddress. + ^followingWord >> self numSlotsFullShift = self numSlotsMask + ifTrue: + [(followingWord bitAnd: 16rFFFFFFFFFFFFFF) = 1 + ifTrue: [followingWordAddress + self baseHeaderSize + self baseHeaderSize] + ifFalse: [followingWordAddress + self baseHeaderSize]] + ifFalse: [followingWordAddress]! Item was changed: ----- Method: SpurMemoryManager>>allEntitiesFrom:do: (in category 'object enumeration-private') ----- allEntitiesFrom: initialObject do: aBlock | prevObj prevPrevObj objOop | prevPrevObj := prevObj := nil. objOop := initialObject. self enableObjectEnumerationFrom: initialObject. [self assert: objOop \\ self allocationUnit = 0. self oop: objOop isLessThan: endOfMemory] whileTrue: [self assert: (self long64At: objOop) ~= 0. aBlock value: objOop. prevPrevObj := prevObj. prevObj := objOop. + objOop := self objectAfterMaybeSlimBridge: objOop limit: endOfMemory]. - objOop := self objectAfter: objOop limit: endOfMemory]. self touch: prevPrevObj. self touch: prevObj! Item was changed: ----- Method: SpurMemoryManager>>allNewSpaceEntitiesDo: (in category 'object enumeration-private') ----- allNewSpaceEntitiesDo: aBlock "Enumerate all new space objects, including free objects." | start prevObj prevPrevObj objOop | prevPrevObj := prevObj := nil. "After a scavenge eden is empty, futureSpace is empty, and all newSpace objects are in pastSpace. Objects are allocated in eden. So enumerate only pastSpace and eden." self assert: (scavenger pastSpace start < scavenger eden start). start := self startAddressForBridgedHeapEnumeration. start > freeStart ifTrue: [^self]. + self bridgePastSpaceAndEden. - self initSegmentBridgeWithBytes: scavenger eden start - pastSpaceStart at: pastSpaceStart. objOop := self objectStartingAt: start. [self oop: objOop isLessThan: freeStart] whileTrue: [aBlock value: objOop. prevPrevObj := prevObj. prevObj := objOop. objOop := self objectAfter: objOop limit: freeStart]. self touch: prevPrevObj. self touch: prevObj! Item was added: + ----- Method: SpurMemoryManager>>bridgeEdenAndOldSpace (in category 'object enumeration-private') ----- + bridgeEdenAndOldSpace + + self initSegmentBridgeWithBytes: oldSpaceStart - freeStart at: freeStart! Item was added: + ----- Method: SpurMemoryManager>>bridgePastSpaceAndEden (in category 'object enumeration-private') ----- + bridgePastSpaceAndEden + + pastSpaceStart < scavenger eden start ifTrue: "past space can be entirely full (!!!!)" + [pastSpaceStart + self baseHeaderSize = scavenger eden start + ifTrue: "No room for a full bridge (!!!!); use the slim bridge hack" + [self hackSlimBridgeTo: (self objectStartingAt: scavenger eden start) at: pastSpaceStart. + "And carefully check the assumption" + self assert: (self objectAfterMaybeSlimBridge: (self objectInPastSpaceBefore: pastSpaceStart) limit: nilObj) + = (self objectStartingAt: scavenger eden start)] + ifFalse: "Room for a regular bridge; this is straight-forward" + [self initSegmentBridgeWithBytes: scavenger eden start - pastSpaceStart at: pastSpaceStart]]! Item was added: + ----- Method: SpurMemoryManager>>bridgePastSpaceAndOldSpace (in category 'object enumeration-private') ----- + bridgePastSpaceAndOldSpace + + self initSegmentBridgeWithBytes: oldSpaceStart - pastSpaceStart at: pastSpaceStart! Item was changed: ----- Method: SpurMemoryManager>>enableObjectEnumerationFrom: (in category 'object enumeration-private') ----- enableObjectEnumerationFrom: initialObject "We use bridges to stitch segments together to make it appear that the heap is one contiguous space. Bridges at the end of oldSpace segments are maintained. Bridges at the end of pastSpace and eden + are temporary, and are established here, depending on the current sizes of pastSpace end eden. + + N.B. this introduces complications. Either or both pastSpace and eden may be empty, so the + bridge from pastSpace may skip eden. pastSpace may be full, so there may be no bridge at + the end of pastSpace. Most difficult, pastSpace could be one 64-bit word short of full, but normal + bridges are two word objects. To make this work we introduce a hack, objectAfterMaybeSlimBridge:limit:, + which uses a fake overflow slot count to get to the start of the next object, which is either one or two + words away, depending on whether the first object in eden has a normal or an overflow header." - are temporary, and are established here, depending on the current sizes of pastSpace end eden." (self oop: initialObject isLessThan: oldSpaceStart) ifTrue: [freeStart > scavenger eden start ifTrue: + [self bridgeEdenAndOldSpace. + self bridgePastSpaceAndEden] + ifFalse: "If eden is empty (e.g. at snapshot time), skip it entirely" + [self bridgePastSpaceAndOldSpace]]! - [self initSegmentBridgeWithBytes: oldSpaceStart - freeStart at: freeStart. - pastSpaceStart < scavenger eden start ifTrue: "past space can be entirely full (!!!!)" - [self initSegmentBridgeWithBytes: scavenger eden start - pastSpaceStart at: pastSpaceStart]] - ifFalse:"If eden is empty (e.g. at snapshot time), skip it entirely" - [self initSegmentBridgeWithBytes: oldSpaceStart - pastSpaceStart at: pastSpaceStart]]! Item was added: + ----- Method: SpurMemoryManager>>hackSlimBridgeTo:at: (in category 'object enumeration-private') ----- + hackSlimBridgeTo: firstEdenObject at: lastWordInPastSpace + "This is a horrible hack for getting to the first object in eden if pastSpace is almost full. + If there is only one (64-bit) word at the end of pastSpace there is no room for a full + bridge, but there is room for this hack." + self subclassResponsibility! Item was added: + ----- Method: SpurMemoryManager>>objectAfterMaybeSlimBridge:limit: (in category 'object enumeration-private') ----- + objectAfterMaybeSlimBridge: objOop limit: limit + "Object parsing. + 1. all objects have at least a word following the header, for a forwarding pointer. + 2. objects with an overflow size have a preceding word with a saturated numSlots. If the word + following an object doesn't have a saturated numSlots field it must be a single-header object. + If the word following does have a saturated numSlots it must be the overflow size word. + This variation on objectAfter:limit: allows for a single (64-bit) word bridge which may be needed + to bridge from an almost full pastSpace to eden. It is ony used in the flat enumerators that use + startAddressForBridgedHeapEnumeration and enumerate over pastSpace, eden and oldSpace + in that order. Note that the order for allObjects, and allInstances enumerates over oldSpace first. + + This hack is cheap. It increases the size of the objectAfter code, but saves two extra copies of + the inner loop, since the inner loop now enumerates over all of pastSpace, eden and oldSpace. + The test for a slim bridge is only performed if applied to an overflow header, and typically only + 1 in 400 objects have overflow headers in 32-bits, 1 in 500 in 64-bits." + ^self subclassResponsibility! Item was added: + ----- Method: SpurMemoryManager>>objectInPastSpaceBefore: (in category 'object enumeration') ----- + objectInPastSpaceBefore: objOop + "For assertions only... This ends the recursion in setting up the bridged + enumerations of new space that need objectBefore: for assertion checking." + | prev obj | + pastSpaceStart <= scavenger pastSpace start ifTrue: + [^nil]. + prev := nil. + obj := self objectStartingAt: scavenger pastSpace start. + [self oop: obj isLessThan: pastSpaceStart] whileTrue: + [(self oop: obj isGreaterThanOrEqualTo: objOop) ifTrue: + [^prev]. + prev := obj. + obj := self objectAfter: obj limit: pastSpaceStart]. + ^prev! From notifications at github.com Fri Sep 25 06:44:20 2020 From: notifications at github.com (demarey) Date: Thu, 24 Sep 2020 23:44:20 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Customization for Pharo & About Dialog (#524) Message-ID: should close PR #388 You can view, comment on, or merge this pull request online at: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/524 -- Commit Summary -- * Adding a custom Menu for Pharo VMs * Adding a optional URL for the help, only fr Pharo * Handling correctly the events of the about window * Making the about window property as weak. * Reverting a change I needed to compile in my machine * Use $(SYSTEM)-MainMenu.xib to determine which xib file to use -- File Changes -- M build.macos32x86/common/Makefile.app (4) M build.macos32x86/pharo.cog.spur.lowcode/Makefile (2) M build.macos32x86/pharo.cog.spur.minheadless/Makefile (2) M build.macos32x86/pharo.cog.v3/Makefile (2) M build.macos64x64/common/Makefile.app (4) R platforms/iOS/vm/English.lproj/Newspeak-MainMenu-cg.xib (0) R platforms/iOS/vm/English.lproj/Newspeak-MainMenu-opengl.xib (0) R platforms/iOS/vm/English.lproj/Newspeak-MainMenu.xib (0) A platforms/iOS/vm/English.lproj/Pharo-MainMenu-opengl.xib (1261) A platforms/iOS/vm/English.lproj/Pharo-MainMenu.xib (1261) A platforms/iOS/vm/English.lproj/Squeak-MainMenu-cg.xib (1261) A platforms/iOS/vm/English.lproj/Squeak-MainMenu-opengl.xib (1261) A platforms/iOS/vm/English.lproj/Squeak-MainMenu.xib (1261) M platforms/iOS/vm/OSX/Pharo-Info.plist (2) M platforms/iOS/vm/OSX/SqueakOSXApplication.m (30) M platforms/iOS/vm/OSX/sqSqueakOSXApplication+events.m (16) M platforms/iOS/vm/OSX/sqSqueakOSXApplication.h (5) M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m (1) -- Patch Links -- https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/524.patch https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/524.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/524 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 25 06:58:38 2020 From: notifications at github.com (demarey) Date: Thu, 24 Sep 2020 23:58:38 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Customization for Pharo & About Dialog (#524) In-Reply-To: References: Message-ID: @demarey pushed 1 commit. 75b9999dad53f7754506372a77970d79674692e8 Merge branch 'Cog' into customizationForPharo -- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/524/files/c30c66231a0796a3a028284f051071cf9914c403..75b9999dad53f7754506372a77970d79674692e8 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Sep 25 07:05:38 2020 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 25 Sep 2020 07:05:38 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2204 Message-ID: <20200925070538.1.42F235512CBD6020@appveyor.com> An HTML attachment was scrubbed... URL: From notifications at github.com Fri Sep 25 07:20:58 2020 From: notifications at github.com (dcstes) Date: Fri, 25 Sep 2020 00:20:58 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure script : check for (#523) In-Reply-To: References: Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Any feedback please ? The change to use only if the build target has it, seems a logical change ... The only risk is perhaps that somebody unintentionally re-enables the 'old code' by not defining HAVE_IFADDRS_H in their Makefile or config.h. This is because by default #undef HAVE_IFADDRS_H and that will thus by default enable the 'old code'. While the default now is to enable the 'new code' which uses . But this can easily be solved by requiring to #define HAVE_IFADDRS_H, and the 'configure' script will do just that automatically if it finds the file. Anyway -- with this patch the current COGVM compiles on Solaris 10. By the way Solaris 10 still uses openssl 0.9.7 and I think the configure quite correctly disables SSL support so that works fine. The SSL plugin is not built I think on Solaris 10, but no problem. The real interest is in the support for Solaris 11 with openssl 1.0.2 etc., but it is nice that the code still compiles on Solaris 10. Regards, David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJfbZoGAAoJEAwpOKXMq1MaO3sH/26aTh31X//H3xC/bQn+jPdK ES/YFfFXJ/OB9i/WroLia8n4IHpoPCguwdLy5NPtMbo30s8VpQeVWe2OAun+jLOX Ekj9LbfFbKpAftetgD7O+2ONWmbikvx1nrPcl4qfkD1rcf1m+ESbftsf69vDvIrc rNC+Bgq4ZR84yQIxOySzZskN34mtPQfdOxw2B1JQP1cTtPvynkiBy+fGFM2m8Y3J 7StRLKQx9q4dzI875xV3Vmd9gmhFxA4MNHMOmh1i4r9rZYbrQjCtaoHnuI9abQcf jPKI01K11kyj80aZlV3h9oaslTJnEIGWhJkHFYjQBamVJcqbj2wvYLCiwc9WHIY= =lu3K -----END PGP SIGNATURE----- -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/523#issuecomment-698768019 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Fri Sep 25 07:37:08 2020 From: noreply at github.com (Tobias Pape) Date: Fri, 25 Sep 2020 00:37:08 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 2c8cca: Unicode README: add note on a known issue Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 2c8ccacd670435ca008ac4616c63264675db8152 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/2c8ccacd670435ca008ac4616c63264675db8152 Author: David Stes Date: 2020-09-23 (Wed, 23 Sep 2020) Changed paths: M platforms/unix/plugins/UnicodePlugin/README.UnicodePlugin Log Message: ----------- Unicode README: add note on a known issue Commit: 9abe9d5b04f00e5f844edf4a09c2e8ada3e8b7ca https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9abe9d5b04f00e5f844edf4a09c2e8ada3e8b7ca Author: David Stes Date: 2020-09-23 (Wed, 23 Sep 2020) Changed paths: M platforms/unix/config/config.h.in M platforms/unix/config/configure.ac M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c Log Message: ----------- configure: check for (Solaris 11 has it, Solaris 10 not) Commit: 42fc34945dc3f0505c482bcb1a44d315f2291a87 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/42fc34945dc3f0505c482bcb1a44d315f2291a87 Author: David Stes Date: 2020-09-23 (Wed, 23 Sep 2020) Changed paths: M platforms/Cross/vm/sqCogStackAlignment.h Log Message: ----------- sqCogStackAlignment: define getReturnAddress only #if COGVM (not for Stack VM) Commit: f82a5ab550604f61f5d372e958f427a5afa5df1b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f82a5ab550604f61f5d372e958f427a5afa5df1b Author: Tobias Pape Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M platforms/Cross/vm/sqCogStackAlignment.h M platforms/unix/config/config.h.in M platforms/unix/config/configure.ac M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c M platforms/unix/plugins/UnicodePlugin/README.UnicodePlugin Log Message: ----------- Merge branch 'ifaddrs' of https://github.com/dcstes/opensmalltalk-vm into dcstes-ifaddrs * 'ifaddrs' of https://github.com/dcstes/opensmalltalk-vm: sqCogStackAlignment: define getReturnAddress only #if COGVM (not for Stack VM) configure: check for (Solaris 11 has it, Solaris 10 not) Unicode README: add note on a known issue Commit: 8bcd1c3981d65cba00ff65c78e0f75087a2cd329 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/8bcd1c3981d65cba00ff65c78e0f75087a2cd329 Author: Tobias Pape Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M platforms/unix/config/configure Log Message: ----------- [unix] generate config Commit: 790d848891c31fb7608582c4c335e51922f62a67 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/790d848891c31fb7608582c4c335e51922f62a67 Author: Tobias Pape Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M platforms/Cross/vm/sqCogStackAlignment.h M platforms/unix/config/config.h.in M platforms/unix/config/configure M platforms/unix/config/configure.ac M platforms/unix/plugins/SocketPlugin/sqUnixSocket.c M platforms/unix/plugins/UnicodePlugin/README.UnicodePlugin Log Message: ----------- Merge branch 'dcstes-ifaddrs' into Cog * dcstes-ifaddrs: [unix] generate config sqCogStackAlignment: define getReturnAddress only #if COGVM (not for Stack VM) configure: check for (Solaris 11 has it, Solaris 10 not) Unicode README: add note on a known issue Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/ef56e6ac0ffb...790d848891c3 From notifications at github.com Fri Sep 25 07:37:11 2020 From: notifications at github.com (Tobias Pape) Date: Fri, 25 Sep 2020 00:37:11 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] configure script : check for (#523) In-Reply-To: References: Message-ID: Merged #523 into Cog. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/523#event-3806416378 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Fri Sep 25 07:41:24 2020 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 25 Sep 2020 07:41:24 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2205 Message-ID: <20200925074124.1.CABB2D644F761322@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Fri Sep 25 07:46:14 2020 From: builds at travis-ci.org (Travis CI) Date: Fri, 25 Sep 2020 07:46:14 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2205 (Cog - 790d848) In-Reply-To: Message-ID: <5f6da0462e498_13f8a09bdd92c951ca@travis-tasks-7bb768bfcd-76x8s.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2205 Status: Still Failing Duration: 8 mins and 36 secs Commit: 790d848 (Cog) Author: Tobias Pape Message: Merge branch 'dcstes-ifaddrs' into Cog * dcstes-ifaddrs: [unix] generate config sqCogStackAlignment: define getReturnAddress only #if COGVM (not for Stack VM) configure: check for (Solaris 11 has it, Solaris 10 not) Unicode README: add note on a known issue View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/ef56e6ac0ffb...790d848891c3 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730180266?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Fri Sep 25 13:26:36 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Fri, 25 Sep 2020 06:26:36 -0700 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: Hi Andrei, I encountered the same bug when running the full test suite in squeak. It’s something to do with code compaction. I made a lot of changes earlier this year to accommodate the ARMv8 code generator. One thing to do them would be to use a late 2019 vm and see if the problem goes away. I shall be trying to track it down in the background as I gave other priorities. But my experience is that once a bug is reproducible it didn’t take too much effort to fix it. _,,,^..^,,,_ (phone) > On Sep 23, 2020, at 5:29 AM, Andrei Chis wrote: > >  > >>> On 22 Sep 2020, at 19:18, Nicolas Cellier wrote: >>> >>> If you are on linux, you could try using the recording debugger (rr)... Though, debugging a -O2 or -O3 is hard... No obvious mapping of source code with assembly instructions. It's better if you can reproduce on debug version... >> >> Mostly I’m on mac but might try this if all else fails. >> >> >>> Le mar. 22 sept. 2020 à 14:21, Andrei Chis a écrit : >>> >>> Hi Eliot, >>> >>> Unfortunately with the assert vm with memory leak checks it seems I cannot reproduce the problem. >>> I’ll try to run it a few more times, maybe I get lucky and get a crash (a run takes a few hours). >>> >>> For our case, calling `self pc` before copying a context really helped. Before almost 50% of our builds were failing; now we get no more failures at all. >>> Thanks for your insights! >>> >>> Are there other ways to get relevant/helpful details from a crash with a normal vm? >>> >>> Cheers, >>> Andrei >>> >>> >>>> On 15 Sep 2020, at 01:27, Eliot Miranda wrote: >>>> >>>> Hi Andrei, >>>> >>>>> >>>>>> On Sep 14, 2020, at 3:22 PM, Andrei Chis wrote: >>>>>> >>>>> Hi Eliot, >>>>> >>>>> The setup in GT is a bit customised (some changes in the headless vm, some custom plugins, custom rendering) so I first thought it will be impossible to reproduce the bug in a more standard manner. >>>>> However turns out it is possible. If I use the following script after running the tests a few times in lldb I get the crash starting from a plain Pharo 8 image. >>>>> >>>>> $ curl https://get.pharo.org/64/80+vm | bash >>>>> $ curl -L https://raw.githubusercontent.com/feenkcom/gtoolkit/master/scripts/localbuild/loadgt.st -o loadgt.st >>>>> $ ./pharo Pharo.image st --quit >>>>> >>>>> $ lldb ./pharo-vm/Pharo.app/Contents/MacOS/Pharo >>>>> (lldb) run --headless Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' >>>>> >>>>> >>>>> I also tried to compile the vm myself on Mac (Catalina 10.15.6). I build a normal and assert for https://github.com/OpenSmalltalk/opensmalltalk-vm and https://github.com/pharo-project/opensmalltalk-vm from the cog branch. >>>>> In both cases I get an issue related to pixman 0.34.0 [1] but that’s easy to workaround. For https://github.com/OpenSmalltalk/opensmalltalk-vm I got an extra problem related to Cairo [2] and had to change libpng from libpng16 to libpng12 to get it to work. >>>>> >>>>> With both the normal VMs I could reproduce the bug and got stacks with the Context>copyTo: messages. >>>>> >>>>> With the assert VMs I only got a crash for now with the assert vm from https://github.com/pharo-project/opensmalltalk-vm. However there is no Context>copyTo: and the memory seems quite corrupted. >>>>> I suspect the crash also appears in https://github.com/OpenSmalltalk/opensmalltalk-vm but seems that with the assert vm it is much harder to reproduce. Had to run the tests 20 times and got one crash; running the tests once take 20-30 minutes. >>>>> >>>>> >>>>> This is from only crash until now with the assert vm. Not sure if they are helpful or not, or actually related to the problem. >>>>> >>>>> validInstructionPointerinFrame(GIV(instructionPointer), GIV(framePointer)) 18471 >>>>> Pharo was compiled with optimization - stepping may behave oddly; variables may not be available. >>>>> Process 73731 stopped >>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) >>>>> frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] >>>>> 139 static inline sqInt intAtPointer(char *ptr) { return (sqInt)(*((int *)ptr)); } >>>>> 140 static inline sqInt intAtPointerput(char *ptr, int val) { return (sqInt)(*((int *)ptr)= val); } >>>>> 141 static inline sqInt longAtPointer(char *ptr) { return *(sqInt *)ptr; } >>>>> -> 142 static inline sqInt longAtPointerput(char *ptr, sqInt val) { return *(sqInt *)ptr= val; } >>>>> 143 static inline sqLong long64AtPointer(char *ptr) { return *(sqLong *)ptr; } >>>>> 144 static inline sqLong long64AtPointerput(char *ptr, sqLong val) { return *(sqLong *)ptr= val; } >>>>> 145 static inline float singleFloatAtPointer(char *ptr) { return *(float *)ptr; } >>>>> Target 0: (Pharo) stopped. >>>>> >>>>> >>>>> (lldb) bt >>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x157800000) >>>>> * frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", val=5513312480) at sqMemoryAccess.h:142:84 [opt] >>>>> frame #1: 0x00000001000161cf Pharo`marryFrameSP(theFP=, theSP=0x0000000000000000) at gcc3x-cointerp.c:68120:3[opt] >>>>> frame #2: 0x000000010001f5ac Pharo`ceContextinstVar(maybeContext=5510359872, slotIndex=0) at gcc3x-cointerp.c:15221:12 [opt] >>>>> frame #3: 0x00000001480017d6 >>>>> frame #4: 0x00000001000022be Pharo`interpret at gcc3x-cointerp.c:2755:3 [opt] >>>>> frame #5: 0x00000001000bc244 Pharo`-[sqSqueakMainApplication runSqueak](self=0x0000000101c76dc0, _cmd=) at sqSqueakMainApplication.m:201:2 [opt] >>>>> frame #6: 0x00007fff3326729b Foundation`__NSFirePerformWithOrder + 360 >>>>> frame #7: 0x00007fff30ad3335 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 >>>>> frame #8: 0x00007fff30ad3267 CoreFoundation`__CFRunLoopDoObservers + 457 >>>>> frame #9: 0x00007fff30ad2805 CoreFoundation`__CFRunLoopRun + 874 >>>>> frame #10: 0x00007fff30ad1e3e CoreFoundation`CFRunLoopRunSpecific + 462 >>>>> frame #11: 0x00007fff2f6feabd HIToolbox`RunCurrentEventLoopInMode + 292 >>>>> frame #12: 0x00007fff2f6fe6f4 HIToolbox`ReceiveNextEventCommon + 359 >>>>> frame #13: 0x00007fff2f6fe579 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 64 >>>>> frame #14: 0x00007fff2dd44039 AppKit`_DPSNextEvent + 883 >>>>> frame #15: 0x00007fff2dd42880 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352 >>>>> frame #16: 0x00007fff2dd3458e AppKit`-[NSApplication run] + 658 >>>>> frame #17: 0x00007fff2dd06396 AppKit`NSApplicationMain + 777 >>>>> frame #18: 0x00007fff6ab3ecc9 libdyld.dylib`start + 1 >>>>> >>>>> >>>>> (lldb) call printCallStack() >>>>> 0x7ffeefbe3920 M INVALID RECEIVER>(nil) 0x148716b40: a(n) bad class >>>>> 0x7ffeefbe3968 M [] in INVALID RECEIVER>(nil) Context(Object)>>doesNotUnderstand: #bounds >>>>> 0x194648118: a(n) bad class >>>>> 0x7ffeefbe39a8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class >>>>> 0x7ffeefbe39e8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class >>>>> 0x7ffeefbe3a30 I INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbe3a80 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbe3ab8 M INVALID RECEIVER>(nil) 0x148163cd0: a(n) bad class >>>>> 0x7ffeefbe3b08 I INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >>>>> 0x7ffeefbe3b40 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >>>>> 0x7ffeefbe3b78 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class >>>>> 0x7ffeefbe3bc0 I INVALID RECEIVER>(nil) 0x148716a38: a(n) bad class >>>>> 0x7ffeefbe3c10 I INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >>>>> 0x7ffeefbe3c40 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >>>>> 0x7ffeefbe3c78 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >>>>> 0x7ffeefbe3cc0 M INVALID RECEIVER>(nil) 0x14d0337f0: a(n) bad class >>>>> 0x7ffeefbe3d08 M INVALID RECEIVER>(nil) 0x14d033738: a(n) bad class >>>>> 0x7ffeefbe3d50 M INVALID RECEIVER>(nil) 0x14d033680: a(n) bad class >>>>> 0x7ffeefbe3d98 M INVALID RECEIVER>(nil) 0x1946493f0: a(n) bad class >>>>> 0x7ffeefbe3de0 M INVALID RECEIVER>(nil) 0x194649338: a(n) bad class >>>>> 0x7ffeefbe3e28 M INVALID RECEIVER>(nil) 0x194649280: a(n) bad class >>>>> 0x7ffeefbe3e70 M INVALID RECEIVER>(nil) 0x1946491c8: a(n) bad class >>>>> 0x7ffeefbe3eb8 M INVALID RECEIVER>(nil) 0x194649110: a(n) bad class >>>>> 0x7ffeefbec768 M INVALID RECEIVER>(nil) 0x194649038: a(n) bad class >>>>> 0x7ffeefbec7b0 M INVALID RECEIVER>(nil) 0x194648f60: a(n) bad class >>>>> 0x7ffeefbec7f8 M INVALID RECEIVER>(nil) 0x194648e88: a(n) bad class >>>>> 0x7ffeefbec840 M INVALID RECEIVER>(nil) 0x194648dd0: a(n) bad class >>>>> 0x7ffeefbec888 M INVALID RECEIVER>(nil) 0x194648d18: a(n) bad class >>>>> 0x7ffeefbec8d0 M INVALID RECEIVER>(nil) 0x194648c60: a(n) bad class >>>>> 0x7ffeefbec918 M INVALID RECEIVER>(nil) 0x194648b88: a(n) bad class >>>>> 0x7ffeefbec960 M INVALID RECEIVER>(nil) 0x194648ad0: a(n) bad class >>>>> 0x7ffeefbec9a8 M INVALID RECEIVER>(nil) 0x194648a18: a(n) bad class >>>>> 0x7ffeefbec9f0 M INVALID RECEIVER>(nil) 0x194648960: a(n) bad class >>>>> 0x7ffeefbeca38 M INVALID RECEIVER>(nil) 0x1946488a8: a(n) bad class >>>>> 0x7ffeefbeca80 M INVALID RECEIVER>(nil) 0x1946487f0: a(n) bad class >>>>> 0x7ffeefbecac8 M INVALID RECEIVER>(nil) 0x194648708: a(n) bad class >>>>> 0x7ffeefbecb10 M INVALID RECEIVER>(nil) 0x194648620: a(n) bad class >>>>> 0x7ffeefbecb58 M INVALID RECEIVER>(nil) 0x194648508: a(n) bad class >>>>> 0x7ffeefbecba0 M INVALID RECEIVER>(nil) 0x194648450: a(n) bad class >>>>> 0x7ffeefbecbe8 M INVALID RECEIVER>(nil) 0x1481641a8: a(n) bad class >>>>> 0x7ffeefbecc30 M INVALID RECEIVER>(nil) 0x1481640f0: a(n) bad class >>>>> 0x7ffeefbecc78 M INVALID RECEIVER>(nil) 0x148164038: a(n) bad class >>>>> 0x7ffeefbeccc0 M INVALID RECEIVER>(nil) 0x148163f80: a(n) bad class >>>>> 0x7ffeefbecd08 M INVALID RECEIVER>(nil) 0x148163ec8: a(n) bad class >>>>> 0x7ffeefbecd50 M INVALID RECEIVER>(nil) 0x148163e10: a(n) bad class >>>>> 0x7ffeefbecd98 M INVALID RECEIVER>(nil) 0x148163d28: a(n) bad class >>>>> 0x7ffeefbecde0 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >>>>> 0x7ffeefbece28 M INVALID RECEIVER>(nil) 0x148163b38: a(n) bad class >>>>> 0x7ffeefbece70 M INVALID RECEIVER>(nil) 0x148163a80: a(n) bad class >>>>> 0x7ffeefbeceb8 M INVALID RECEIVER>(nil) 0x1481639c8: a(n) bad class >>>>> 0x7ffeefbe7758 M INVALID RECEIVER>(nil) 0x1481638e0: a(n) bad class >>>>> 0x7ffeefbe77a0 M INVALID RECEIVER>(nil) 0x148163808: a(n) bad class >>>>> 0x7ffeefbe77e8 M INVALID RECEIVER>(nil) 0x148163750: a(n) bad class >>>>> 0x7ffeefbe7830 M INVALID RECEIVER>(nil) 0x148163698: a(n) bad class >>>>> 0x7ffeefbe7878 M INVALID RECEIVER>(nil) 0x1481635c0: a(n) bad class >>>>> 0x7ffeefbe78c0 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class >>>>> 0x7ffeefbe7908 M INVALID RECEIVER>(nil) 0x148163408: a(n) bad class >>>>> 0x7ffeefbe7950 M INVALID RECEIVER>(nil) 0x148163350: a(n) bad class >>>>> 0x7ffeefbe7998 M INVALID RECEIVER>(nil) 0x148163298: a(n) bad class >>>>> 0x7ffeefbe79e0 M INVALID RECEIVER>(nil) 0x148163188: a(n) bad class >>>>> 0x7ffeefbe7a28 M INVALID RECEIVER>(nil) 0x148163098: a(n) bad class >>>>> 0x7ffeefbe7a70 M INVALID RECEIVER>(nil) 0x148162fa0: a(n) bad class >>>>> 0x7ffeefbe7ab8 M INVALID RECEIVER>(nil) 0x148162ec8: a(n) bad class >>>>> 0x7ffeefbe7b00 M INVALID RECEIVER>(nil) 0x148162e10: a(n) bad class >>>>> 0x7ffeefbe7b48 M INVALID RECEIVER>(nil) 0x148712a08: a(n) bad class >>>>> 0x7ffeefbe7b90 M INVALID RECEIVER>(nil) 0x148712950: a(n) bad class >>>>> 0x7ffeefbe7bd8 M INVALID RECEIVER>(nil) 0x148712898: a(n) bad class >>>>> 0x7ffeefbe7c20 M INVALID RECEIVER>(nil) 0x148713cc0: a(n) bad class >>>>> 0x7ffeefbe7c68 M INVALID RECEIVER>(nil) 0x148713018: a(n) bad class >>>>> 0x7ffeefbe7cb0 M INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >>>>> 0x7ffeefbe7cf8 M INVALID RECEIVER>(nil) 0x148713140: a(n) bad class >>>>> 0x7ffeefbe7d40 M INVALID RECEIVER>(nil) 0x148713928: a(n) bad class >>>>> 0x7ffeefbe7d88 M INVALID RECEIVER>(nil) 0x1487133c8: a(n) bad class >>>>> 0x7ffeefbe7de0 I INVALID RECEIVER>(nil) 0x148713238: a(n) bad class >>>>> 0x7ffeefbe7e28 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >>>>> 0x7ffeefbe7e70 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >>>>> 0x7ffeefbe7eb8 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>>>> 0x7ffeefbeea68 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>>>> 0x7ffeefbeeac8 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>>>> 0x7ffeefbeeb00 M INVALID RECEIVER>(nil) 0x148713108: a(n) bad class >>>>> 0x7ffeefbeeb50 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >>>>> 0x7ffeefbeeb98 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >>>>> 0x7ffeefbeebe0 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >>>>> 0x7ffeefbeec10 M INVALID RECEIVER>(nil) 0x9=1 >>>>> 0x7ffeefbeec48 M INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >>>>> 0x7ffeefbeeca0 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>>>> 0x7ffeefbeecd0 M INVALID RECEIVER>(nil) 0x1487130d0: a(n) bad class >>>>> 0x7ffeefbeed10 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>>>> 0x7ffeefbeed58 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >>>>> 0x7ffeefbeedb0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >>>>> 0x7ffeefbeedf0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >>>>> 0x7ffeefbeee20 M [] in INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class >>>>> 0x7ffeefbeee78 M INVALID RECEIVER>(nil) 0x148162df0: a(n) bad class >>>>> 0x7ffeefbeeec0 M INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class >>>>> 0x7ffeefbe5978 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>>>> 0x7ffeefbe59d8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>>>> 0x7ffeefbe5a18 M INVALID RECEIVER>(nil) 0x148163150: a(n) bad class >>>>> 0x7ffeefbe5a68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>>>> 0x7ffeefbe5aa0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>>>> 0x7ffeefbe5ad8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>>>> 0x7ffeefbe5b08 M INVALID RECEIVER>(nil) 0x1481634c0: a(n) bad class >>>>> 0x7ffeefbe5b48 M INVALID RECEIVER>(nil) 0x14c403ca8: a(n) bad class >>>>> 0x7ffeefbe5b88 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>>>> 0x7ffeefbe5bc0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>>>> 0x7ffeefbe5bf0 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>>>> 0x7ffeefbe5c20 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>>>> 0x7ffeefbe5c68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >>>>> 0x7ffeefbe5c98 M INVALID RECEIVER>(nil) 0x194656468: a(n) bad class >>>>> 0x7ffeefbe5cd0 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbe5d00 M INVALID RECEIVER>(nil) 0x148163bf0: a(n) bad class >>>>> 0x7ffeefbe5d50 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbe5d88 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>>>> 0x7ffeefbe5dc0 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>>>> 0x7ffeefbe5e00 M INVALID RECEIVER>(nil) 0x148163de0: a(n) bad class >>>>> 0x7ffeefbe5e38 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbe5e80 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbe5eb8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbdf9d8 M INVALID RECEIVER>(nil) 0x194648430: a(n) bad class >>>>> 0x7ffeefbdfa10 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbdfa50 M [] in INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >>>>> 0x7ffeefbdfa90 M INVALID RECEIVER>(nil) 0x1946486d8: a(n) bad class >>>>> 0x7ffeefbdfad0 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >>>>> 0x7ffeefbdfb10 M INVALID RECEIVER>(nil) 0x1946485e0: a(n) bad class >>>>> 0x7ffeefbdfb48 M INVALID RECEIVER>(nil) 0x1489f7da8: a(n) bad class >>>>> 0x7ffeefbdfb80 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >>>>> 0x7ffeefbdfbb8 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbdfbe8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbdfc20 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>>>> 0x7ffeefbdfc58 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >>>>> 0x7ffeefbdfc98 M INVALID RECEIVER>(nil) 0x194648c40: a(n) bad class >>>>> 0x7ffeefbdfcc8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbdfd08 M INVALID RECEIVER>(nil) 0x194648f40: a(n) bad class >>>>> 0x7ffeefbdfd40 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbdfd70 M INVALID RECEIVER>(nil) 0x14902a730: a(n) bad class >>>>> 0x7ffeefbdfdb0 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >>>>> 0x7ffeefbdfde8 M INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class >>>>> 0x7ffeefbdfe20 M [] in INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class >>>>> 0x7ffeefbdfe70 M [] in INVALID RECEIVER>(nil) 0x14d032f98: a(n) bad class >>>>> 0x7ffeefbdfeb8 M INVALID RECEIVER>(nil) 0x14d032fe0: a(n) bad class >>>>> >>>>> (callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil)) 72783 >>>>> 0x14d033738 is not a context >>>> >>>> OK, interesting. Both the assert failure and the badly corrupted stack trace lead me to believe that the issue happens long before the crash and is probably a stack corruption, either by a primitive cutting back the stack incorrectly, or some other hot riot ion (for example are all those nils in INVALID RECEIVER>(nil) real or an artifact of attempting to print an invalid value?). >>>> >>>> So the next step is to run the asset vm with leak checking turned on. Use >>>> >>>> myvm —leakcheck 3 to check after every GC >>>> >>>> We can add, eg leak checking after an FFI call, in an afternoon >>>> >>>>> A more realistic setup would be to run GT with an assert headless vm. But until now I did not figure out how to build an assert vm for the gt-headless branch from https://github.com/feenkcom/opensmalltalk-vm. >>>>> >>>>> Cheers, >>>>> Andrei >>>>> >>>>> >>>>> [1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/258 >>>>> >>>>> [2] checking for cairo's PNG functions feature... >>>>> configure: WARNING: Could not find libpng in the pkg-config search path >>>>> checking whether cairo's PNG functions feature could be enabled... no >>>>> configure: error: recommended PNG functions feature could not be enabled >>>>> >>>>>> On 14 Sep 2020, at 17:32, Eliot Miranda wrote: >>>>>> >>>>>> Hi Andrei, >>>>>> >>>>>> >>>>>>>> On Sep 14, 2020, at 7:15 AM, Andrei Chis wrote: >>>>>>>> >>>>>>> Hi Eliot, >>>>>>> >>>>>>>> On 12 Sep 2020, at 01:42, Eliot Miranda wrote: >>>>>>>> >>>>>>>> Hi Andrei, >>>>>>>> >>>>>>>> On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis wrote: >>>>>>>>> >>>>>>>>> Hi Eliot, >>>>>>>>> >>>>>>>>> Thanks for the answer. That helps to understand what is going on and it can explain why just adding a call to `self pc` makes the crash disappear. >>>>>>>>> >>>>>>>>> Just what was maybe not obvious in my previous email is that we get this problem more or less randomly. We have tests for verifying that tools work when various extensions raise exceptions (these tests copy the stack). Sometimes they work correctly and sometimes they crash. These crashes happen in various tests and until now the only common thing we noticed is that the pc of the contexts where the crash happens looks off. Also the contexts in which this happens are at the beginning of the stack so part of a long computation (it gets copied multiple times). >>>>>>>>> >>>>>>>>> Initially we suspected that there is some memory corruption somewhere due to external calls/memory. Just the fact that calling `self pc` before seems to fix the issue reduces those chances. But who knows. >>>>>>>> >>>>>>>> Well, it does look like a VM bug. The VM is somehow failing to intercept some access, perhaps in shallow copy. Weird. I shall try and reproduce. Is there anything special about the process you copy using copyTo: ? >>>>>>> >>>>>>> I don’t think there is something special about that process. It is the process that we start to run tests [1]. The exception happens in the running process and the crash is when copying the stack of that running process. >>>>>> >>>>>> Ok, cool. What I’d like to do is get a copy of your test setup and run it in an assert vm to try and get more information. AFAICT the vm code is good do the bug is not obvious. An assert vm may give more information before the crash. Have you tried running the system on an assert vm yet? >>>>>> >>>>>>> Checked some previous logs and we get these kinds of crashes on the CI server since at least two years. So it does not look like a new bug (but who knows). >>>>>>> >>>>>>>> >>>>>>>> (see below) >>>>>>>> >>>>>>>>>>> On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda wrote: >>>>>>>>>>> >>>>>>>>>>> Hi Andrei, >>>>>>>>>>> >>>>>>>>>>>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hi, >>>>>>>>>>>> >>>>>>>>>>>> We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm. >>>>>>>>>>>> >>>>>>>>>>>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>>>>>>>>>>> >>>>>>>>>>>> (lldb) call (void *) printOop(0x1206b6990) >>>>>>>>>>>> 0x1206b6990: a(n) Context >>>>>>>>>>>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>>>>>>>>>>> 0x1206b6b28 0x1206b6b50 >>>>>>>>>>>> >>>>>>>>>>>> Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. >>>>>>>>>>> >>>>>>>>>>> The issue is that that value is expected *inside* the VM. It is the frame pointer for the context. But above the Vm this value should be hidden. The VM should intercept all accesses to such fields in contexts and automatically map them back to the appropriate values that the image expects to see. [The same thing is true for CompiledMethods; inside the VM methods may refer to their JITted code, but this is invisible from the image]. Intercepting access to Context state already happens with inst var access in methods, with the shallowCopy primitive, with instVarAt: et al, etc. >>>>>>>>>>> >>>>>>>>>>> So I expect the issue here is that copyTo: invokes some primitive which does not (yet) check for a context receiver and/or argument, and hence accidentally it reveals the hidden state to the image and a crash results. What I need to know are the definitions for copyTo: and copy, etc all the way down to primitives. >>>>>>>>>> >>>>>>>>>> Here is the source code: >>>>>>>>> >>>>>>>>> Cool, nothing unusual here. This should all work perfectly. Tis a VM bug. However... >>>>>>>>> >>>>>>>>> Context >> copyTo: aContext >>>>>>>>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>>>>>>>> | copy | >>>>>>>>> self == aContext ifTrue: [^ nil]. >>>>>>>>> copy := self copy. >>>>>>>>> self sender ifNotNil: [ >>>>>>>>> copy privSender: (self sender copyTo: aContext)]. >>>>>>>>> ^ copy >>>>>>>> >>>>>>>> Let me suggest >>>>>>>> >>>>>>>> Context >> copyTo: aContext >>>>>>>> "Copy self and my sender chain down to, but not including, aContext. End of copied chain will have nil sender." >>>>>>>> | copy | >>>>>>>> self == aContext ifTrue: [^ nil]. >>>>>>>> copy := self copy. >>>>>>>> self sender ifNotNil: >>>>>>>> [:mySender| copy privSender: (mySender copyTo: aContext)]. >>>>>>>> ^ copy >>>>>>> >>>>>>> Nice! >>>>>>> >>>>>>> I also tried the non-recursive implementation of Context>>#copyTo: from Squeak and it also crashes. >>>>>>> >>>>>>> Not sure if related but now in the same image as before I got a different crash and printing the stack does not work. But this time the error seems to come from handleStackOverflow >>>>>>> >>>>>>> (lldb) call (void *)printCallStack() >>>>>>> invalid frame pointer >>>>>>> invalid frame pointer >>>>>>> invalid frame pointer >>>>>>> error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=EXC_I386_GPFLT). >>>>>>> The process has been returned to the state before expression evaluation. >>>>>>> (lldb) bt >>>>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=2, address=0x121e00000) >>>>>>> * frame #0: 0x0000000100162258 libGlamorousToolkitVMCore.dylib`marryFrameSP + 584 >>>>>>> frame #1: 0x0000000100172982 libGlamorousToolkitVMCore.dylib`handleStackOverflow + 354 >>>>>>> frame #2: 0x000000010016b025 libGlamorousToolkitVMCore.dylib`ceStackOverflow + 149 >>>>>>> frame #3: 0x00000001100005b3 >>>>>>> frame #4: 0x0000000100174d99 libGlamorousToolkitVMCore.dylib`ptEnterInterpreterFromCallback + 73 >>>>>>> >>>>>>> >>>>>>> Cheers, >>>>>>> Andrei >>>>>>> >>>>>>> [1] ./GlamorousToolkit.app/Contents/MacOS/GlamorousToolkit Pharo.image examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' >>>>>>> >>>>>>> >>>>>>>> >>>>>>>>> Object>>#copy >>>>>>>>> ^self shallowCopy postCopy >>>>>>>>> >>>>>>>>> Object >> shallowCopy >>>>>>>>> | class newObject index | >>>>>>>>> >>>>>>>>> class := self class. >>>>>>>>> class isVariable >>>>>>>>> ifTrue: >>>>>>>>> [index := self basicSize. >>>>>>>>> newObject := class basicNew: index. >>>>>>>>> [index > 0] >>>>>>>>> whileTrue: >>>>>>>>> [newObject basicAt: index put: (self basicAt: index). >>>>>>>>> index := index - 1]] >>>>>>>>> ifFalse: [newObject := class basicNew]. >>>>>>>>> index := class instSize. >>>>>>>>> [index > 0] >>>>>>>>> whileTrue: >>>>>>>>> [newObject instVarAt: index put: (self instVarAt: index). >>>>>>>>> index := index - 1]. >>>>>>>>> ^ newObject >>>>>>>>> >>>>>>>>> The code of the primitiveClone looks the same [1] >>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. >>>>>>>>>>> >>>>>>>>>>> A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>>>>>>>>>> Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? >>>>>>>>>> >>>>>>>>>> This looks like an oversight in some primitive. Here for example is the implementation of the shallowCopy primitive, a.k.a. clone, and you can see where it explcitly intercepts access to a context. >>>>>>>>>> >>>>>>>>>> primitiveClone >>>>>>>>>> "Return a shallow copy of the receiver. >>>>>>>>>> Special-case non-single contexts (because of context-to-stack mapping). >>>>>>>>>> Can't fail for contexts cuz of image context instantiation code (sigh)." >>>>>>>>>> >>>>>>>>>> | rcvr newCopy | >>>>>>>>>> rcvr := self stackTop. >>>>>>>>>> (objectMemory isImmediate: rcvr) >>>>>>>>>> ifTrue: >>>>>>>>>> [newCopy := rcvr] >>>>>>>>>> ifFalse: >>>>>>>>>> [(objectMemory isContextNonImm: rcvr) >>>>>>>>>> ifTrue: >>>>>>>>>> [newCopy := self cloneContext: rcvr] >>>>>>>>>> ifFalse: >>>>>>>>>> [(argumentCount = 0 >>>>>>>>>> or: [(objectMemory isForwarded: rcvr) not]) >>>>>>>>>> ifTrue: [newCopy := objectMemory clone: rcvr] >>>>>>>>>> ifFalse: [newCopy := 0]]. >>>>>>>>>> newCopy = 0 ifTrue: >>>>>>>>>> [^self primitiveFailFor: PrimErrNoMemory]]. >>>>>>>>>> self pop: argumentCount + 1 thenPush: newCopy >>>>>>>>>> >>>>>>>>>> But since Squeak doesn't have copyTo: I have no idea what primitive is being used. I'm guessing 168 primitiveCopyObject, which seems to check for a Context receiver, but not for a CompiledCode receiver. What does the primitive failure code look like? Can you post the copyTo: implementations here please? >>>>>>>>> >>>>>>>>> The code is above. I also see Context>>#copyTo: in Squeak calling also Object>>copy for contexts. >>>>>>>>> >>>>>>>>> When a crash happens we don't get the exact same error all the time. For example we get most often on mac: >>>>>>>>> >>>>>>>>> Process 35690 stopped >>>>>>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) >>>>>>>>> frame #0: 0x00000001100b1004 >>>>>>>>> -> 0x1100b1004: inl $0x4c, %eax >>>>>>>>> 0x1100b1006: leal -0x5c(%rip), %eax >>>>>>>>> 0x1100b100c: pushq %r8 >>>>>>>>> 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 >>>>>>>>> Target 0: (GlamorousToolkit) stopped. >>>>>>>>> >>>>>>>>> >>>>>>>>> Process 29929 stopped >>>>>>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >>>>>>>>> frame #0: 0x00000001100fe7ed >>>>>>>>> -> 0x1100fe7ed: int3 >>>>>>>>> 0x1100fe7ee: int3 >>>>>>>>> 0x1100fe7ef: int3 >>>>>>>>> 0x1100fe7f0: int3 >>>>>>>>> Target 0: (GlamorousToolkit) stopped. >>>>>>>>> >>>>>>>>> [1] https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 >>>>>>>>> >>>>>>>>> Cheers, >>>>>>>>> Andrei >>>>>>>>> >>>>>>>>>> >>>>>>>>>>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>>>>>>>>>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>>>>>>>>>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>>>>>>>>>> ... >>>>>>>>>>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>>>>>>>>>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>>>>>>>>>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>>>>>>>>>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>>>>>>>>>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>>>>>>>>>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>>>>>>>>>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>>>>>>>>>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>>>>>>>>>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>>>>>>>>>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>>>>>>>>>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>>>>>>>>>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>>>>>>>>>> ... >>>>>>>>>>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>>>>>>>>>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>>>>>>>>>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>>>>>>>>>> 0x1206b5b98 s Set>collect: >>>>>>>>>>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>>>>>>>>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>>>>>>>>>> 0x1206b6a48 s BlockClosure>ensure: >>>>>>>>>>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>>>>>>>>>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>>>>>>>>>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>>>>>>>>>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>>>>>>>>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>>>>>>>> 0x1207e6620 s BlockClosure>on:do: >>>>>>>>>>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>>>>>>>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>>>>>>>>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>>>>>>>>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>>>>>>>> 0x1207a83e0 s BlockClosure>on:do: >>>>>>>>>>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>>>>>>>> 0x1207bf830 s [] in BlockClosure>newProcess >>>>>>>>>>> Cheers, >>>>>>>>>>> Andrei >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> _,,,^..^,,,_ >>>>>>>>>> best, Eliot >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> _,,,^..^,,,_ >>>>>>>> best, Eliot >>>> >>>> _,,,^..^,,,_ (phone) >>> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Fri Sep 25 17:07:43 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Fri, 25 Sep 2020 17:07:43 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2820.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2820.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2820 Author: eem Time: 25 September 2020, 10:07:31.980796 am UUID: 6c06ad6c-bfd5-4d36-82af-c12df1ae5ad5 Ancestors: VMMaker.oscog-eem.2819 Spur: Allow sufficientSpaceAfterGC: (which is invoked from checkForEventsMayContextSwitch:) to attempt to shrink if there is lots of free space. sufficientSpaceAfterGC: invokes fullGC only if the heap has grown by the growth rarion since the last fullGC, and (before this change) only fullGC would attempt to shrink. So memory would never shrink if some large amout of space became available, sicne the heap would not grow again, and fullGC would never be called. hence the free space would remain in the system. So this is needed to shrink when possible. Have growOldSpaceByAtLeast: set the needGC flag if growth is either disallowed or fails. This will cause the VM to invoke sufficientSpaceAfterGC: in a context of continuous growth that comes to a halt before, say, the growth ratio is reached. Simulator: Allow avoiding halting on deleting files. Limit the size of the simulated heap by default (512Mb 64-bits, 256Mb 32-bits). Why? here's why: Virtual Machine Statistics -------------------------- uptime 10h 10m 23s (runtime 5h 15m 3s, idletime 4h 55m 19s) memory 34,770,395,136 bytes old 34,761,443,104 bytes (100%) young 7,190,528 bytes (0%) used 17,596,793,984 bytes (50.6%) free 17,165,908,320 bytes (49.4%) GCs 997,239 (36.7 ms between GCs 19 ms runtime between GCs) full 4,935 totalling 769,901 ms (4.07% runtime), avg 156 ms marking 284,119 ms (36.9%) avg 57.6 ms, compacting 485,782 ms (63.1%) avg 98.4 ms scavenges 992,304 totalling 151,685 ms (0.8% runtime), avg 0.2 ms tenures 2,834,722 (avg 2 tenures per scavenge) Code compactions 2,304 totalling 1,910 ms (0.01% runtime), avg 0.8 ms =============== Diff against VMMaker.oscog-eem.2819 =============== Item was changed: ----- Method: FilePluginSimulator>>sqFileDeleteName:Size: (in category 'simulation') ----- sqFileDeleteName: nameIndex Size: nameSize | path | path := (interpreterProxy asString: nameIndex size: nameSize) asByteArray utf8Decoded. (StandardFileStream isAFileNamed: path) ifFalse: [^interpreterProxy primitiveFail]. + (InitializationOptions at: #haltOnFileDelete ifAbsent: [true]) + ifTrue: [self halt: 'Deleting ', (path contractTo: 64)] + ifFalse: [interpreterProxy transcript cr; show: 'Deleting ', (path contractTo: 64); cr]. - self halt: 'Deleting ', (path contractTo: 64). [FileDirectory deleteFilePath: path] on: Error do: [:ex| interpreterProxy primitiveFail]! Item was changed: ----- Method: SpurMemoryManager>>growOldSpaceByAtLeast: (in category 'growing/shrinking memory') ----- growOldSpaceByAtLeast: minAmmount "Attempt to grow memory by at least minAmmount. Answer the size of the new segment, or nil if the attempt failed." | ammount headroom total start interval | "statGrowMemory counts attempts, not successes." statGrowMemory := statGrowMemory + 1."we need to include overhead for a new object header plus the segment bridge." ammount := minAmmount + (self baseHeaderSize * 2 + self bridgeSize). "round up to the nearest power of two." ammount := 1 << (ammount - 1) highBit. "and grow by at least growHeadroom." ammount := ammount max: growHeadroom. "Now apply the maxOldSpaceSize limit, if one is in effect." maxOldSpaceSize > 0 ifTrue: [total := segmentManager totalBytesInSegments. total >= maxOldSpaceSize ifTrue: + [needGCFlag := true. + ^nil]. - [^nil]. headroom := maxOldSpaceSize - total. headroom < ammount ifTrue: [headroom < (minAmmount + (self baseHeaderSize * 2 + self bridgeSize)) ifTrue: + [needGCFlag := true. + ^nil]. - [^nil]. ammount := headroom]]. start := coInterpreter ioUTCMicrosecondsNow. + ^(segmentManager addSegmentOfSize: ammount) + ifNil: [needGCFlag := true. nil] + ifNotNil: + [:segInfo| + self assimilateNewSegment: segInfo. + "and add the new free chunk to the free list; done here + instead of in assimilateNewSegment: for the assert" + self addFreeChunkWithBytes: segInfo segSize - self bridgeSize at: segInfo segStart. + self assert: (self addressAfter: (self objectStartingAt: segInfo segStart)) + = (segInfo segLimit - self bridgeSize). + self checkFreeSpace: GCModeFreeSpace. + segmentManager checkSegments. + interval := coInterpreter ioUTCMicrosecondsNow - start. + interval > statMaxAllocSegmentTime ifTrue: [statMaxAllocSegmentTime := interval]. + segInfo segSize]! - ^(segmentManager addSegmentOfSize: ammount) ifNotNil: - [:segInfo| - self assimilateNewSegment: segInfo. - "and add the new free chunk to the free list; done here - instead of in assimilateNewSegment: for the assert" - self addFreeChunkWithBytes: segInfo segSize - self bridgeSize at: segInfo segStart. - self assert: (self addressAfter: (self objectStartingAt: segInfo segStart)) - = (segInfo segLimit - self bridgeSize). - self checkFreeSpace: GCModeFreeSpace. - segmentManager checkSegments. - interval := coInterpreter ioUTCMicrosecondsNow - start. - interval > statMaxAllocSegmentTime ifTrue: [statMaxAllocSegmentTime := interval]. - segInfo segSize]! Item was changed: ----- Method: SpurMemoryManager>>initialize (in category 'initialization') ----- initialize "We can put all initializations that set something to 0 or to false here. In C all global variables are initialized to 0, and 0 is false." + | moreThanEnough | remapBuffer := Array new: RemapBufferSize. remapBufferCount := extraRootCount := 0. "see below" freeListsMask := totalFreeOldSpace := lowSpaceThreshold := 0. checkForLeaks := 0. needGCFlag := signalLowSpace := marking := false. becomeEffectsFlags := gcPhaseInProgress := validatedIntegerClassFlags := 0. statScavenges := statIncrGCs := statFullGCs := 0. statMaxAllocSegmentTime := 0. statMarkUsecs := statSweepUsecs := statScavengeGCUsecs := statIncrGCUsecs := statFullGCUsecs := statCompactionUsecs := statGCEndUsecs := gcSweepEndUsecs := 0. statSGCDeltaUsecs := statIGCDeltaUsecs := statFGCDeltaUsecs := 0. statGrowMemory := statShrinkMemory := statRootTableCount := statAllocatedBytes := 0. statRootTableOverflows := statMarkCount := statCompactPassCount := statCoalesces := 0. "We can initialize things that are allocated but are lazily initialized." unscannedEphemerons := SpurContiguousObjStack new. "we can initialize things that are virtual in C." scavenger := SpurGenerationScavenger simulatorClass new manager: self; yourself. segmentManager := SpurSegmentManager simulatorClass new manager: self; yourself. compactor := self class compactorClass simulatorClass new manager: self; yourself. "We can also initialize here anything that is only for simulation." heapMap := CogCheck32BitHeapMap new. "N.B. We *don't* initialize extraRoots because we don't simulate it." + + "This is needed on 64-bits. We don't want a simulation creating a huge heap by default. + By default use 512Mb on 64-bits, 256Mb on 32-bits." + moreThanEnough := 1024 * 1024 * 1024 / (16 / self wordSize). "One million dollars, ha ha ha ha ha,... ha, ha ha ha ha, ..." maxOldSpaceSize := self class initializationOptions + ifNotNil: [:initOpts| initOpts at: #maxOldSpaceSize ifAbsent: [moreThanEnough]] + ifNil: [moreThanEnough]! - ifNotNil: [:initOpts| initOpts at: #maxOldSpaceSize ifAbsent: [0]] - ifNil: [0]! Item was changed: ----- Method: SpurMemoryManager>>sufficientSpaceAfterGC: (in category 'gc - scavenging') ----- sufficientSpaceAfterGC: numBytes "This is ObjectMemory's funky entry-point into its incremental GC, which is a stop-the-world a young generation reclaimer. In Spur we run the scavenger. Answer if space is not low." | heapSizePostGC | self assert: numBytes = 0. self scavengingGCTenuringIf: TenureByAge. heapSizePostGC := segmentManager totalOldSpaceCapacity - totalFreeOldSpace. + (heapSizePostGC - heapSizeAtPreviousGC) asFloat / heapSizeAtPreviousGC >= heapGrowthToSizeGCRatio + ifTrue: [self fullGC] "fullGC will attempt to shrink" + ifFalse: "Also attempt to shrink if there is plenty of free space and no need to GC" + [totalFreeOldSpace > (shrinkThreshold * 2) ifTrue: + [self attemptToShrink. + ^true]]. - (heapSizePostGC - heapSizeAtPreviousGC) asFloat / heapSizeAtPreviousGC >= heapGrowthToSizeGCRatio ifTrue: - [self fullGC]. [totalFreeOldSpace < growHeadroom and: [(self growOldSpaceByAtLeast: 0) notNil]] whileTrue: [totalFreeOldSpace >= growHeadroom ifTrue: [^true]]. lowSpaceThreshold > totalFreeOldSpace ifTrue: "space is low" [lowSpaceThreshold := 0. "avoid signalling low space twice" ^false]. ^true! Item was added: + ----- Method: SpurSegmentManager>>totalOldSpaceSize (in category 'accessing') ----- + totalOldSpaceSize + ^totalHeapSizeIncludingBridges! From tim at rowledge.org Fri Sep 25 18:45:38 2020 From: tim at rowledge.org (tim Rowledge) Date: Fri, 25 Sep 2020 11:45:38 -0700 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: References: <408e81bc38162cc26a2ffd67eaa5aca9@whidbey.com> <05e785e3430d4d7abffbb79358c4f4f0@student.hpi.uni-potsdam.de> <6bcf8988d89bac374fed80eceb3d7fbc@whidbey.com> Message-ID: <5063D41C-68D5-4AB5-9C26-0D40F774E8B1@rowledge.org> Faintly on-topic and possibly interesting - pi-top are selling a ~12" 10-point HD touch screen for Raspberry Pi's/ Seems like a quite nice way to do your research into what a touch UI for Squeak might be. https://www.pi-top.com/products/display-keyboard tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Strange OpCodes: PO: Punch Operator From robert.withers at pm.me Fri Sep 25 19:08:47 2020 From: robert.withers at pm.me (Robert) Date: Fri, 25 Sep 2020 19:08:47 +0000 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: <5063D41C-68D5-4AB5-9C26-0D40F774E8B1@rowledge.org> References: <408e81bc38162cc26a2ffd67eaa5aca9@whidbey.com> <05e785e3430d4d7abffbb79358c4f4f0@student.hpi.uni-potsdam.de> <6bcf8988d89bac374fed80eceb3d7fbc@whidbey.com> <5063D41C-68D5-4AB5-9C26-0D40F774E8B1@rowledge.org> Message-ID: 12”? That’s auto infotainment center size! It would be totally wicked to see Squeak in the cars. In German I would say vollständig geil! And there would be no AppStore restrictions on reflection! There must be a rootkit. I have been reading this multitouch thread and it keeps rereminding me of Supertouch, by Bad Brains! https://youtu.be/6ch4i-WxnOI Kindly, Robert On Fri, Sep 25, 2020 at 14:45, tim Rowledge wrote: > Faintly on-topic and possibly interesting - > > pi-top are selling a ~12" 10-point HD touch screen for Raspberry Pi's/ Seems like a quite nice way to do your research into what a touch UI for Squeak might be. > > https://www.pi-top.com/products/display-keyboard > > tim > -- > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim > Strange OpCodes: PO: Punch Operator -------------- next part -------------- An HTML attachment was scrubbed... URL: From robert.withers at pm.me Fri Sep 25 19:16:10 2020 From: robert.withers at pm.me (Robert) Date: Fri, 25 Sep 2020 19:16:10 +0000 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: References: <408e81bc38162cc26a2ffd67eaa5aca9@whidbey.com> <05e785e3430d4d7abffbb79358c4f4f0@student.hpi.uni-potsdam.de> <6bcf8988d89bac374fed80eceb3d7fbc@whidbey.com> <5063D41C-68D5-4AB5-9C26-0D40F774E8B1@rowledge.org> Message-ID: Sorry about that stale album cut. Here’s Supertouch live... https://youtu.be/hc1Jh7WWS84 Kindly, Robert . .. ... ‘...^,^ On Fri, Sep 25, 2020 at 15:08, Robert wrote: > 12”? That’s auto infotainment center size! It would be totally wicked to see Squeak in the cars. In German I would say vollständig geil! > > And there would be no AppStore restrictions on reflection! There must be a rootkit. > > I have been reading this multitouch thread and it keeps rereminding me of Supertouch, by Bad Brains! > > https://youtu.be/6ch4i-WxnOI > > Kindly, > Robert > > On Fri, Sep 25, 2020 at 14:45, tim Rowledge wrote: > >> Faintly on-topic and possibly interesting - >> >> pi-top are selling a ~12" 10-point HD touch screen for Raspberry Pi's/ Seems like a quite nice way to do your research into what a touch UI for Squeak might be. >> >> https://www.pi-top.com/products/display-keyboard >> >> tim >> -- >> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim >> Strange OpCodes: PO: Punch Operator -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Fri Sep 25 20:48:57 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Fri, 25 Sep 2020 20:48:57 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2821.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2821.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2821 Author: eem Time: 25 September 2020, 1:48:42.123223 pm UUID: fa483503-c741-4558-9a10-7be84c51e4e8 Ancestors: VMMaker.oscog-eem.2820 SocketPlugin: Make sure that all senders of socketValueOf: check for failure (e.g. primitiveSocketReceiveDataAvailable: primitiveSocketRemotePort: primitiveSocketSendDone: did not). Make the four send/receive primitives that take bits array arguments accept any of Spur's native bits types, byte, double byte, quad byte or octa byte. Add the bytesPerElement: function to InterpreterProxy/sqVirtualMachine to allow these primitives to determine the element size. Slang: Have the SmartSyntaxPlugins use the methodReturnFoo: protocol where they can. =============== Diff against VMMaker.oscog-eem.2820 =============== Item was added: + ----- Method: InterpreterProxy>>bytesPerElement: (in category 'testing') ----- + bytesPerElement: oop + + ^oop bytesPerElement! Item was changed: ----- Method: SmartSyntaxPluginTMethod>>pop:thenReturnExpr: (in category 'private') ----- pop: anInteger thenReturnExpr: anExpression + "Use the methodReturnFoo: protocol; it's simpler, more concise, more reliable (var args)" + anExpression isSend ifTrue: + [#(asSmallIntegerObj asBooleanObj asFloatObj) + with: #(methodReturnInteger: methodReturnBool: methodReturnFloat:) + do: + [:abstractMessage :returnMessage| + anExpression selector == abstractMessage ifTrue: + [^TSendNode new + setSelector: returnMessage + receiver: (TVariableNode new setName: #interpreterProxy) + arguments: {anExpression receiver}]]]. - ^TSendNode new + setSelector: #methodReturnValue: - setSelector: #pop:thenPush: receiver: (TVariableNode new setName: 'interpreterProxy') + arguments: {anExpression}! - arguments: {TConstantNode new setValue: anInteger. anExpression}! Item was changed: ----- Method: SocketPlugin>>primitiveSocket:getOptions: (in category 'primitives') ----- primitiveSocket: socket getOptions: optionName + | s returnedValue errorCode results | - | s optionNameStart optionNameSize returnedValue errorCode results | - self primitive: 'primitiveSocketGetOptions' parameters: #(Oop Oop). s := self socketValueOf: socket. interpreterProxy success: (interpreterProxy isBytes: optionName). - optionNameStart := self cCoerce: (interpreterProxy firstIndexableField: optionName) to: #'char *'. - optionNameSize := interpreterProxy slotSizeOf: optionName. - interpreterProxy failed ifTrue: [^nil]. returnedValue := 0. - errorCode := self sqSocketGetOptions: s + optionNameStart: (self cCoerce: (interpreterProxy firstIndexableField: optionName) to: #'char *') + optionNameSize: (interpreterProxy byteSizeOf: optionName) - optionNameStart: optionNameStart - optionNameSize: optionNameSize returnedValue: (self addressOf: returnedValue put: [:val| returnedValue := val]). results := interpreterProxy instantiateClass: interpreterProxy classArray indexableSize: 2. interpreterProxy + storeInteger: 0 ofObject: results withValue: errorCode; + storeInteger: 1 ofObject: results withValue: returnedValue. - storePointer: 0 ofObject: results withValue: errorCode asSmallIntegerObj; - storePointer: 1 ofObject: results withValue: returnedValue asSmallIntegerObj. ^results! Item was changed: ----- Method: SocketPlugin>>primitiveSocket:listenOnPort:backlogSize: (in category 'primitives') ----- primitiveSocket: socket listenOnPort: port backlogSize: backlog "second part of the wierdass dual prim primitiveSocketListenOnPort which was warped by some demented evil person determined to twist the very nature of reality" | s okToListen | self primitive: 'primitiveSocketListenOnPortBacklog' parameters: #(#Oop #SmallInteger #SmallInteger ). - s := self socketValueOf: socket. "If the security plugin can be loaded, use it to check for permission. If not, assume it's ok" sCCLOPfn ~= 0 ifTrue: [okToListen := self cCode: ' ((sqInt (*) (sqInt, sqInt)) sCCLOPfn)((sqInt)s, port)'. okToListen ifFalse: [^interpreterProxy primitiveFail]]. + s := self socketValueOf: socket. + interpreterProxy failed ifFalse: + [self sqSocket: s ListenOnPort: port BacklogSize: backlog]! - self sqSocket: s ListenOnPort: port BacklogSize: backlog! Item was changed: ----- Method: SocketPlugin>>primitiveSocket:listenOnPort:backlogSize:interface: (in category 'primitives') ----- primitiveSocket: socket listenOnPort: port backlogSize: backlog interface: ifAddr "Bind a socket to the given port and interface address with no more than backlog pending connections. The socket can be UDP, in which case the backlog should be specified as zero." | s okToListen addr | + - self primitive: 'primitiveSocketListenOnPortBacklogInterface' parameters: #(#Oop #SmallInteger #SmallInteger #ByteArray). - s := self socketValueOf: socket. "If the security plugin can be loaded, use it to check for permission. If not, assume it's ok" sCCLOPfn ~= 0 ifTrue: [okToListen := self cCode: ' ((sqInt (*) (sqInt, sqInt)) sCCLOPfn)((sqInt)s, port)'. okToListen ifFalse: [^ interpreterProxy primitiveFail]]. + s := self socketValueOf: socket. + addr := self netAddressToInt: (self cCoerce: ifAddr to: #'unsigned char *'). + interpreterProxy failed ifFalse: + [self sqSocket: s ListenOnPort: port BacklogSize: backlog Interface: addr]! - addr := self netAddressToInt: (self cCoerce: ifAddr to: 'unsigned char *'). - self sqSocket: s ListenOnPort: port BacklogSize: backlog Interface: addr! Item was changed: ----- Method: SocketPlugin>>primitiveSocket:receiveDataBuf:start:count: (in category 'primitives') ----- primitiveSocket: socket receiveDataBuf: array start: startIndex count: count + | s elementSize arrayBase bytesReceived | + - | s byteSize arrayBase bufStart bytesReceived | - - - self primitive: 'primitiveSocketReceiveDataBufCount' + parameters: #(Oop Oop SmallInteger SmallInteger). - parameters: #(Oop Oop SmallInteger SmallInteger ). - s := self socketValueOf: socket. + "buffer can be any indexable bits object" + elementSize := self cppIf: SPURVM + ifTrue: [interpreterProxy bytesPerElement: array] + ifFalse: [(interpreterProxy isWords: array) ifTrue: [4] ifFalse: [1]]. + ((interpreterProxy isWordsOrBytes: array) + and: [elementSize > 0 + and: [startIndex >= 1 + and: [count >= 0 + and: [startIndex + count - 1 <= (interpreterProxy slotSizeOf: array)]]]]) ifFalse: + [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. + + s := self socketValueOf: socket. + interpreterProxy failed ifFalse: "Note: adjust bufStart for zero-origin indexing" + [arrayBase := self cCoerce: (interpreterProxy firstIndexableField: array) to: #'char *'. + bytesReceived := self + sqSocket: s + ReceiveDataBuf: arrayBase + (startIndex - 1 * elementSize) + Count: count * elementSize. + ^(bytesReceived // elementSize) asSmallIntegerObj]! - "buffer can be any indexable words or bytes object" - interpreterProxy success: (interpreterProxy isWordsOrBytes: array). - (interpreterProxy isWords: array) - ifTrue: [byteSize := 4] - ifFalse: [byteSize := 1]. - interpreterProxy success: (startIndex >= 1 - and: [count >= 0 and: [startIndex + count - 1 <= (interpreterProxy slotSizeOf: array)]]). - interpreterProxy failed - ifFalse: ["Note: adjust bufStart for zero-origin indexing" - arrayBase := self cCoerce: (interpreterProxy firstIndexableField: array) to: 'char *'. - bufStart := arrayBase + (startIndex - 1 * byteSize). - bytesReceived := self - sqSocket: s - ReceiveDataBuf: bufStart - Count: count * byteSize]. - ^ (bytesReceived // byteSize) asSmallIntegerObj! Item was changed: ----- Method: SocketPlugin>>primitiveSocket:receiveUDPDataBuf:start:count: (in category 'primitives') ----- primitiveSocket: socket receiveUDPDataBuf: array start: startIndex count: count + | s elementSize arrayBase bytesReceived results address port moreFlag addressOop | - | s elementSize arrayBase bufStart bytesReceived results address port moreFlag | - self primitive: 'primitiveSocketReceiveUDPDataBufCount' parameters: #(Oop Oop SmallInteger SmallInteger). s := self socketValueOf: socket. + "buffer can be any indexable bits object" + elementSize := self cppIf: SPURVM + ifTrue: [interpreterProxy bytesPerElement: array] + ifFalse: [(interpreterProxy isWords: array) ifTrue: [4] ifFalse: [1]]. + ((interpreterProxy isWordsOrBytes: array) + and: [elementSize > 0 + and: [startIndex >= 1 + and: [count >= 0 + and: [startIndex + count - 1 <= (interpreterProxy slotSizeOf: array)]]]]) ifFalse: + [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. - "buffer can be any indexable words or bytes object" - interpreterProxy success: (interpreterProxy isWordsOrBytes: array). - (interpreterProxy isWords: array) - ifTrue: [elementSize := 4] - ifFalse: [elementSize := 1]. - interpreterProxy success: (startIndex >= 1 - and: [count >= 0 and: [startIndex + count - 1 <= (interpreterProxy slotSizeOf: array)]]). - interpreterProxy failed - ifFalse: ["Note: adjust bufStart for zero-origin indexing" - arrayBase := self cCoerce: (interpreterProxy firstIndexableField: array) to: #'char *'. - bufStart := arrayBase + (startIndex - 1 * elementSize). - address := 0. - port := 0. - moreFlag := 0. - bytesReceived := self sqSocket: s - ReceiveUDPDataBuf: bufStart - Count: count * elementSize - address: (self addressOf: address) - port: (self addressOf: port) - moreFlag: (self addressOf: moreFlag). + "Note: adjust for zero-origin indexing" + arrayBase := self cCoerce: (interpreterProxy firstIndexableField: array) to: #'char *'. + address := port := moreFlag := 0. + bytesReceived := self sqSocket: s + ReceiveUDPDataBuf: arrayBase + (startIndex - 1 * elementSize) + Count: count * elementSize + address: (self addressOf: address put: [:v| address := v]) + port: (self addressOf: port put: [:v| port := v]) + moreFlag: (self addressOf: moreFlag put: [:v| moreFlag := v]). + + "allocate storage for results, remapping newly allocated + oops in case GC happens during allocation" + addressOop := self intToNetAddress: address. + self remapOop: addressOop + in: [results := interpreterProxy instantiateClass: interpreterProxy classArray indexableSize: 4]. + interpreterProxy + storeInteger: 0 ofObject: results withValue: bytesReceived // elementSize; + storePointer: 1 ofObject: results withValue: addressOop; + storeInteger: 2 ofObject: results withValue: port; + storePointer: 3 ofObject: results withValue: (moreFlag + ifTrue: [interpreterProxy trueObject] + ifFalse: [interpreterProxy falseObject]). + ^results! - "allocate storage for results, remapping newly allocated - oops in case GC happens during allocation" - interpreterProxy pushRemappableOop: (self intToNetAddress: address). - results := interpreterProxy instantiateClass: interpreterProxy classArray indexableSize: 4. - interpreterProxy storePointer: 0 ofObject: results withValue: (bytesReceived // elementSize) asSmallIntegerObj. - interpreterProxy storePointer: 1 ofObject: results withValue: interpreterProxy popRemappableOop. - interpreterProxy storePointer: 2 ofObject: results withValue: port asSmallIntegerObj. - interpreterProxy storePointer: 3 ofObject: results withValue: (moreFlag - ifTrue: [interpreterProxy trueObject] - ifFalse: [interpreterProxy falseObject]). - ]. - ^ results! Item was changed: ----- Method: SocketPlugin>>primitiveSocket:sendData:start:count: (in category 'primitives') ----- primitiveSocket: socket sendData: array start: startIndex count: count + | s arrayBase bytesSent elementSize | + + - | s byteSize arrayBase bufStart bytesSent | - - - self primitive: 'primitiveSocketSendDataBufCount' parameters: #(Oop Oop SmallInteger SmallInteger ). s := self socketValueOf: socket. + "buffer can be any indexable bits object" + elementSize := self cppIf: SPURVM + ifTrue: [interpreterProxy bytesPerElement: array] + ifFalse: [(interpreterProxy isWords: array) ifTrue: [4] ifFalse: [1]]. + ((interpreterProxy isWordsOrBytes: array) + and: [elementSize > 0 + and: [startIndex >= 1 + and: [count >= 0 + and: [startIndex + count - 1 <= (interpreterProxy slotSizeOf: array)]]]]) ifFalse: + [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. + - "buffer can be any indexable words or bytes object except CompiledMethod " - interpreterProxy success: (interpreterProxy isWordsOrBytes: array). - (interpreterProxy isWords: array) - ifTrue: [byteSize := 4] - ifFalse: [byteSize := 1]. - interpreterProxy success: (startIndex >= 1 - and: [count >= 0 and: [startIndex + count - 1 <= (interpreterProxy slotSizeOf: array)]]). interpreterProxy failed ifFalse: ["Note: adjust bufStart for zero-origin indexing" + arrayBase := self cCoerce: (interpreterProxy firstIndexableField: array) to: #'char *'. - arrayBase := self cCoerce: (interpreterProxy firstIndexableField: array) to: 'char *'. - bufStart := arrayBase + (startIndex - 1 * byteSize). bytesSent := self sqSocket: s + SendDataBuf: arrayBase + (startIndex - 1 * elementSize) + Count: count * elementSize]. + ^(bytesSent // elementSize) asSmallIntegerObj! - SendDataBuf: bufStart - Count: count * byteSize]. - ^ (bytesSent // byteSize) asSmallIntegerObj! Item was changed: ----- Method: SocketPlugin>>primitiveSocket:sendUDPData:toHost:port:start:count: (in category 'primitives') ----- primitiveSocket: socket sendUDPData: array toHost: hostAddress port: portNumber start: startIndex count: count + | s elementSize arrayBase bytesSent | + - | s byteSize arrayBase bufStart bytesSent address | - - - self primitive: 'primitiveSocketSendUDPDataBufCount' + parameters: #(Oop Oop ByteArray SmallInteger SmallInteger SmallInteger). - parameters: #(Oop Oop ByteArray SmallInteger SmallInteger SmallInteger ). - s := self socketValueOf: socket. + "buffer can be any indexable bits object" + elementSize := self cppIf: SPURVM + ifTrue: [interpreterProxy bytesPerElement: array] + ifFalse: [(interpreterProxy isWords: array) ifTrue: [4] ifFalse: [1]]. + ((interpreterProxy isWordsOrBytes: array) + and: [elementSize > 0 + and: [startIndex >= 1 + and: [count >= 0 + and: [startIndex + count - 1 <= (interpreterProxy slotSizeOf: array)]]]]) ifFalse: + [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. + + s := self socketValueOf: socket. + interpreterProxy failed ifFalse: + ["Note: adjust bufStart for zero-origin indexing" + arrayBase := self cCoerce: (interpreterProxy firstIndexableField: array) to: #'char *'. + bytesSent := self - "buffer can be any indexable words or bytes object except CompiledMethod " - interpreterProxy success: (interpreterProxy isWordsOrBytes: array). - (interpreterProxy isWords: array) - ifTrue: [byteSize := 4] - ifFalse: [byteSize := 1]. - interpreterProxy success: (startIndex >= 1 - and: [count >= 0 and: [startIndex + count - 1 <= (interpreterProxy slotSizeOf: array)]]). - interpreterProxy failed - ifFalse: ["Note: adjust bufStart for zero-origin indexing" - arrayBase := self cCoerce: (interpreterProxy firstIndexableField: array) to: 'char *'. - bufStart := arrayBase + (startIndex - 1 * byteSize). - address := self netAddressToInt: (self cCoerce: hostAddress to: 'unsigned char *'). - bytesSent := self sqSocket: s + toHost: (self netAddressToInt: (self cCoerce: hostAddress to: #'unsigned char *')) - toHost: address port: portNumber + SendDataBuf: arrayBase + (startIndex - 1 * elementSize) + Count: count * elementSize]. + ^(bytesSent // elementSize) asSmallIntegerObj! - SendDataBuf: bufStart - Count: count * byteSize]. - ^ (bytesSent // byteSize) asSmallIntegerObj! Item was changed: ----- Method: SocketPlugin>>primitiveSocket:setOptions:value: (in category 'primitives') ----- primitiveSocket: socket setOptions: optionName value: optionValue "THIS BADLY NEEDS TO BE REWRITTEN TO TAKE Booleans AND Integers AS WELL AS (OR INSTEAD OF) Strings. It is only used with booleans and integers and parsing these back out of strings in sqSocketSetOptions:optionNameStart:optionNameSize:optionValueStart:optionValueSize:returnedValue: is STUPID." + | s returnedValue errorCode results | - | s optionNameStart optionNameSize optionValueStart optionValueSize returnedValue errorCode results | - - self primitive: 'primitiveSocketSetOptions' parameters: #(Oop Oop Oop). s := self socketValueOf: socket. + interpreterProxy success: ((interpreterProxy isBytes: optionName) and: [interpreterProxy isBytes: optionValue]). - interpreterProxy success: (interpreterProxy isBytes: optionName). - optionNameStart := self cCoerce: (interpreterProxy firstIndexableField: optionName) to: #'char *'. - optionNameSize := interpreterProxy slotSizeOf: optionName. - interpreterProxy success: (interpreterProxy isBytes: optionValue). - optionValueStart:= self cCoerce: (interpreterProxy firstIndexableField: optionValue) to: #'char *'. - optionValueSize := interpreterProxy slotSizeOf: optionValue. - interpreterProxy failed ifTrue: [^nil]. returnedValue := 0. errorCode := self sqSocketSetOptions: s + optionNameStart: (self cCoerce: (interpreterProxy firstIndexableField: optionName) to: #'char *') + optionNameSize: (interpreterProxy byteSizeOf: optionName) + optionValueStart: (self cCoerce: (interpreterProxy firstIndexableField: optionValue) to: #'char *') + optionValueSize: (interpreterProxy byteSizeOf: optionValue) - optionNameStart: optionNameStart - optionNameSize: optionNameSize - optionValueStart: optionValueStart - optionValueSize: optionValueSize returnedValue: (self addressOf: returnedValue put: [:val| returnedValue := val]). results := interpreterProxy instantiateClass: interpreterProxy classArray indexableSize: 2. interpreterProxy + storeInteger: 0 ofObject: results withValue: errorCode; + storeInteger: 1 ofObject: results withValue: returnedValue. - storePointer: 0 ofObject: results withValue: errorCode asSmallIntegerObj; - storePointer: 1 ofObject: results withValue: returnedValue asSmallIntegerObj. ^results! Item was changed: ----- Method: SocketPlugin>>primitiveSocketAcceptFrom:rcvBufferSize:sndBufSize:semaIndex: (in category 'primitives') ----- primitiveSocketAcceptFrom: sockHandle rcvBufferSize: recvBufSize sndBufSize: sendBufSize semaIndex: semaIndex | socketOop s serverSocket | self primitive: 'primitiveSocketAccept' parameters: #(Oop SmallInteger SmallInteger SmallInteger ). serverSocket := self socketValueOf: sockHandle. + interpreterProxy failed ifFalse: + [socketOop := interpreterProxy + instantiateClass: interpreterProxy classByteArray + indexableSize: self socketRecordSize. + s := self socketValueOf: socketOop. + interpreterProxy failed ifFalse: + [self - interpreterProxy failed - ifFalse: [socketOop := interpreterProxy instantiateClass: interpreterProxy classByteArray indexableSize: self socketRecordSize. - s := self socketValueOf: socketOop. - self sqSocket: s AcceptFrom: serverSocket RecvBytes: recvBufSize SendBytes: sendBufSize + SemaID: semaIndex. + ^ socketOop]]! - SemaID: semaIndex]. - ^ socketOop! Item was changed: ----- Method: SocketPlugin>>primitiveSocketAcceptFrom:rcvBufferSize:sndBufSize:semaIndex:readSemaIndex:writeSemaIndex: (in category 'primitives') ----- primitiveSocketAcceptFrom: sockHandle rcvBufferSize: recvBufSize sndBufSize: sendBufSize semaIndex: semaIndex readSemaIndex: aReadSema writeSemaIndex: aWriteSema | socketOop s serverSocket | self primitive: 'primitiveSocketAccept3Semaphores' parameters: #(Oop SmallInteger SmallInteger SmallInteger SmallInteger SmallInteger). serverSocket := self socketValueOf: sockHandle. + interpreterProxy failed ifFalse: + [socketOop := interpreterProxy instantiateClass: interpreterProxy classByteArray indexableSize: self socketRecordSize. + s := self socketValueOf: socketOop. + interpreterProxy failed ifFalse: + [self - interpreterProxy failed - ifFalse: [socketOop := interpreterProxy instantiateClass: interpreterProxy classByteArray indexableSize: self socketRecordSize. - s := self socketValueOf: socketOop. - self sqSocket: s AcceptFrom: serverSocket RecvBytes: recvBufSize SendBytes: sendBufSize SemaID: semaIndex ReadSemaID: aReadSema + WriteSemaID: aWriteSema. + ^ socketOop]]! - WriteSemaID: aWriteSema]. - ^ socketOop! Item was changed: ----- Method: SocketPlugin>>primitiveSocketCreateNetwork:type:receiveBufferSize:sendBufSize:semaIndex: (in category 'primitives') ----- primitiveSocketCreateNetwork: netType type: socketType receiveBufferSize: recvBufSize sendBufSize: sendBufSize semaIndex: semaIndex | socketOop s okToCreate | self primitive: 'primitiveSocketCreate' parameters: #(#SmallInteger #SmallInteger #SmallInteger #SmallInteger #SmallInteger ). "If the security plugin can be loaded, use it to check for permission. If not, assume it's ok" sCCSOTfn ~= 0 ifTrue: [okToCreate := self cCode: ' ((sqInt (*) (sqInt, sqInt)) sCCSOTfn)(netType, socketType)'. okToCreate ifFalse: [^ interpreterProxy primitiveFail]]. socketOop := interpreterProxy instantiateClass: interpreterProxy classByteArray indexableSize: self socketRecordSize. s := self socketValueOf: socketOop. interpreterProxy failed ifFalse: [self sqSocket: s CreateNetType: netType SocketType: socketType RecvBytes: recvBufSize SendBytes: sendBufSize + SemaID: semaIndex. + ^socketOop]! - SemaID: semaIndex]. - ^socketOop! Item was changed: ----- Method: SocketPlugin>>primitiveSocketCreateNetwork:type:receiveBufferSize:sendBufSize:semaIndex:readSemaIndex:writeSemaIndex: (in category 'primitives') ----- primitiveSocketCreateNetwork: netType type: socketType receiveBufferSize: recvBufSize sendBufSize: sendBufSize semaIndex: semaIndex readSemaIndex: aReadSema writeSemaIndex: aWriteSema | socketOop s okToCreate | self primitive: 'primitiveSocketCreate3Semaphores' parameters: #(#SmallInteger #SmallInteger #SmallInteger #SmallInteger #SmallInteger #SmallInteger #SmallInteger ). "If the security plugin can be loaded, use it to check for permission. If not, assume it's ok" sCCSOTfn ~= 0 ifTrue: [okToCreate := self cCode: ' ((sqInt (*) (sqInt, sqInt)) sCCSOTfn)(netType, socketType)'. okToCreate ifFalse: [^ interpreterProxy primitiveFail]]. socketOop := interpreterProxy instantiateClass: interpreterProxy classByteArray indexableSize: self socketRecordSize. s := self socketValueOf: socketOop. interpreterProxy failed ifFalse: [self sqSocket: s CreateNetType: netType SocketType: socketType RecvBytes: recvBufSize SendBytes: sendBufSize SemaID: semaIndex ReadSemaID: aReadSema + WriteSemaID: aWriteSema. + ^socketOop]! - WriteSemaID: aWriteSema]. - ^socketOop! Item was changed: ----- Method: SocketPlugin>>primitiveSocketCreateRaw:type:receiveBufferSize:sendBufSize:semaIndex:readSemaIndex:writeSemaIndex: (in category 'primitives') ----- primitiveSocketCreateRaw: netType type: protoType receiveBufferSize: recvBufSize sendBufSize: sendBufSize semaIndex: semaIndex readSemaIndex: aReadSema writeSemaIndex: aWriteSema | socketOop s okToCreate | self primitive: 'primitiveSocketCreateRAW' parameters: #(#SmallInteger #SmallInteger #SmallInteger #SmallInteger #SmallInteger #SmallInteger #SmallInteger ). "If the security plugin can be loaded, use it to check for permission. If not, assume it's ok" sCCSOTfn ~= 0 ifTrue: [okToCreate := self cCode: ' ((sqInt (*) (sqInt, sqInt)) sCCSOTfn)(netType, protoType)'. okToCreate ifFalse: [^ interpreterProxy primitiveFail]]. socketOop := interpreterProxy instantiateClass: interpreterProxy classByteArray indexableSize: self socketRecordSize. s := self socketValueOf: socketOop. interpreterProxy failed ifFalse: [self sqSocket: s CreateRaw: netType ProtoType: protoType RecvBytes: recvBufSize SendBytes: sendBufSize SemaID: semaIndex ReadSemaID: aReadSema + WriteSemaID: aWriteSema. + ^ socketOop]! - WriteSemaID: aWriteSema]. - ^ socketOop! Item was changed: ----- Method: SocketPlugin>>primitiveSocketError: (in category 'primitives') ----- primitiveSocketError: socket + | s | + - | s err | - self primitive: 'primitiveSocketError' parameters: #(Oop). s := self socketValueOf: socket. + interpreterProxy failed ifFalse: + [^(self sqSocketError: s) asSmallIntegerObj]! - interpreterProxy failed ifFalse: [ - err := self sqSocketError: s]. - ^err asSmallIntegerObj! Item was changed: ----- Method: SocketPlugin>>primitiveSocketLocalAddressSize: (in category 'ipv6 primitives') ----- primitiveSocketLocalAddressSize: socket | s size | + - self primitive: 'primitiveSocketLocalAddressSize' parameters: #(#Oop). s := self socketValueOf: socket. + interpreterProxy failed ifFalse: + [size := self sqSocketLocalAddressSize: s. + interpreterProxy failed ifFalse: + [^size asSmallIntegerObj]]! - interpreterProxy failed ifTrue: [^nil]. - size := self sqSocketLocalAddressSize: s. - interpreterProxy failed ifTrue: [^nil]. - ^size asSmallIntegerObj! Item was changed: ----- Method: SocketPlugin>>primitiveSocketReceiveDataAvailable: (in category 'primitives') ----- primitiveSocketReceiveDataAvailable: socket + | s | + - | s dataIsAvailable | - self primitive: 'primitiveSocketReceiveDataAvailable' parameters: #(Oop). s := self socketValueOf: socket. + interpreterProxy failed ifFalse: + [^(self sqSocketReceiveDataAvailable: s) asBooleanObj]! - dataIsAvailable := self sqSocketReceiveDataAvailable: s. - ^dataIsAvailable asBooleanObj! Item was changed: ----- Method: SocketPlugin>>primitiveSocketRemoteAddressSize: (in category 'ipv6 primitives') ----- primitiveSocketRemoteAddressSize: socket | s size | + - self primitive: 'primitiveSocketRemoteAddressSize' parameters: #(#Oop). s := self socketValueOf: socket. + interpreterProxy failed ifFalse: + [size := self sqSocketRemoteAddressSize: s. + interpreterProxy failed ifFalse: + [^size asSmallIntegerObj]]! - interpreterProxy failed ifTrue: [^nil]. - size := self sqSocketRemoteAddressSize: s. - interpreterProxy failed ifTrue: [^nil]. - ^size asSmallIntegerObj! Item was changed: ----- Method: SocketPlugin>>primitiveSocketRemotePort: (in category 'primitives') ----- primitiveSocketRemotePort: socket + | s | + - | s port | - self primitive: 'primitiveSocketRemotePort' parameters: #(Oop). s := self socketValueOf: socket. + interpreterProxy failed ifFalse: + [^(self sqSocketRemotePort: s) asSmallIntegerObj]! - port := self sqSocketRemotePort: s. - ^port asSmallIntegerObj! Item was changed: ----- Method: SocketPlugin>>primitiveSocketSendDone: (in category 'primitives') ----- primitiveSocketSendDone: socket + | s | + - | s done | - self primitive: 'primitiveSocketSendDone' parameters: #(Oop). s := self socketValueOf: socket. + interpreterProxy failed ifFalse: + [^(self sqSocketSendDone: s) asBooleanObj]! - done := self sqSocketSendDone: s. - ^done asBooleanObj! Item was added: + ----- Method: SpurMemoryManager>>bytesPerElement: (in category 'object access') ----- + bytesPerElement: oop + "Answer the basic element size for the receiver. Answer 0 for immediates and CompiledCode + (element size could be wordSize for literals or 1 for bytes, so its indeterminable). Answer + wordSize for pointer objects. Otherwise answer the actual element size of a bits container." + + | fmt byteSizes | + + (self isImmediate: oop) ifTrue: + [^0]. + fmt := self formatOf: oop. + fmt >= self firstByteFormat ifTrue: + [fmt >= self firstCompiledMethodFormat ifTrue: [^0]. + ^1]. + ^(self cCode: [byteSizes] inSmalltalk: + [CArrayAccessor + on: { self wordSize. self wordSize. self wordSize. self wordSize. + self wordSize. self wordSize. self wordSize. 0. self wordSize. + 8. + 4. 4. + 2. 2. 2. 2 }]) + at: fmt! From forums.jakob at resfarm.de Fri Sep 25 21:03:36 2020 From: forums.jakob at resfarm.de (Jakob Reschke) Date: Fri, 25 Sep 2020 23:03:36 +0200 Subject: [Vm-dev] [squeak-dev] Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5) In-Reply-To: References: Message-ID: Hello, Here is what I had to do to have the Pharo launcher launch a Squeak image: - Download and extract a Squeak VM and a supported image with .changes. - Download and install the latest Pharo Launcher release. - Start the launcher. - Open Settings > Pharo Launcher > edit the folder paths to my likings. - Click Store Settings at the top right. - Move the Squeak VM directory below the VM directory entered in the settings. Do not move the image yet. - Press shift+return, type vmExecutableName and open the method WindowsResolver>>#vmExecutableName. - Change WindowsResolver>>#vmExecutableName to return 'Squeak.exe'. - Close the system browser window. - Press the VMs button on the top right. It should now list the Squeak VM, for example 'squeak.cog.spur_win64x64_202003021730'. Close the VMs window. - Press Import at the top, choose the extracted image. It will be moved to the images directory from the Settings! - The image should now appear in the main list of the launcher window. - In the new directory of the image, put a file named "pharo.version" with the contents "0" next to the image. This will prevent the launcher from trying to find out the Pharo version of the image by running a pharo-version.st script with --headless on the image. Squeak does not support this. - Back in the launcher, in the combo box next to the Launch button at the top, drop down the list and select Edit Configurations. - For the Default configuration, select your Squeak VM instead of "0-x64" on the right. The latter would try and fail to download a fitting Pharo VM again. - Close the window with "Save & Select". - Now I am able to launch the Squeak image. To preserve the changes to the launcher image: - Press shift+return, enter Playground and press return to open a Workspace. - Evaluate the following: Smalltalk snapshot: true andQuit: true. Kind regards, Jakob Am Mi., 2. Sept. 2020 um 18:20 Uhr schrieb Sean DeNigris : > > I've been pontificating about unity between dialects, convinced more than ever that we need each other and have more of a simple (not easy) communication problem than anything else, and pestering the principals of various communities, so I decided to put some concrete action behind it - some "skin in the game" as we say in the U.S. > > After reading Trygve's frustration with Squeak image/VM management, and Eliot's mention of Pharo's solution, I've extended PharoLauncher to manage and run Squeak (and GToolkit) VMs/images. > > The current limitation vs. launching standard Pharo images is that you have to download the VMs and images and manually install them due to differences in URL and other conventions. However once the files are in place, you can create templates allowing images to be created at will from different Squeak versions and automatically run with the correct VM. Auto-installation could probably be done if someone cares enough but it scratched my itch for the moment to manage GT images. I’m sure Cuis support could be added, but the hooks are now available and someone more familiar with its VM/image installation might have an easier time. > > Until my latest PR [1] is merged, brave souls can play with it and give feedback by loading my issue branch [2] into the latest Launcher release [3]. NB only tested on Mac. > > It seemed Trygve was at his wits' end, but maybe this and other small gestures will let him know how important he is to our community if not motivate him to resume his important work. > > I challenge you, as a member of our wider Squeak/Pharo/Cuis family: what small action can you take today that unites us rather than divides us? We can be each others' supporters even if technical, vision and other differences keep our codebases somewhat distinct. I believe the seeds of wars are planted when I lack the grace to give those around me the benefit of the doubt that they mean well and are trying their best. There is more than enough of that already in the world. Let’s invent a *better* future… > > Your brother, > Sean > > 1. https://github.com/pharo-project/pharo-launcher/pull/503 > 2. https://github.com/seandenigris/pharo-launcher/tree/enh_vm-image-custom-hooks > 3. https://pharo.org/download > From commits at source.squeak.org Fri Sep 25 21:20:11 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Fri, 25 Sep 2020 21:20:11 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2822.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2822.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2822 Author: eem Time: 25 September 2020, 2:19:56.703486 pm UUID: aafd181f-154e-400a-bfed-646bfa826d32 Ancestors: VMMaker.oscog-eem.2821 VMMaker: include ClipboardExtendedPlugin in the set of generated plugins. =============== Diff against VMMaker.oscog-eem.2821 =============== Item was changed: ----- Method: VMMaker class>>generateVMPlugins (in category 'configurations') ----- generateVMPlugins ^VMMaker generatePluginsTo: self sourceTree, '/src' options: #() platformDir: self sourceTree, '/platforms' including:#(ADPCMCodecPlugin AsynchFilePlugin BalloonEnginePlugin B3DAcceleratorPlugin B3DEnginePlugin BMPReadWriterPlugin BitBltSimulation BochsIA32Plugin BochsX64Plugin GdbARMv6Plugin GdbARMv8Plugin + CameraPlugin ClipboardExtendedPlugin CroquetPlugin DeflatePlugin DropPlugin - CameraPlugin CroquetPlugin DeflatePlugin DropPlugin "Cryptography Plugins:" DESPlugin DSAPlugin MD5Plugin SHA2Plugin "FT2Plugin" FFTPlugin FileCopyPlugin FilePlugin FileAttributesPlugin Float64ArrayPlugin FloatArrayPlugin FloatMathPlugin GeniePlugin HostWindowPlugin IA32ABIPlugin ImmX11Plugin InternetConfigPlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin KlattSynthesizerPlugin LargeIntegersPlugin LocalePlugin MIDIPlugin MacMenubarPlugin Matrix2x3Plugin MiscPrimitivePlugin Mpeg3Plugin QuicktimePlugin RePlugin ScratchPlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPlugin SoundGenerationPlugin SoundPlugin SqueakSSLPlugin StarSqueakPlugin ThreadedFFIPlugin ThreadedARM32FFIPlugin ThreadedARM64FFIPlugin ThreadedIA32FFIPlugin ThreadedX64SysVFFIPlugin ThreadedX64Win64FFIPlugin UnicodePlugin UnixAioPlugin UUIDPlugin UnixOSProcessPlugin Win32OSProcessPlugin VMProfileLinuxSupportPlugin VMProfileMacSupportPlugin WeDoPlugin XDisplayControlPlugin)! From commits at source.squeak.org Fri Sep 25 21:28:09 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Fri, 25 Sep 2020 21:28:09 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2823.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2823.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2823 Author: eem Time: 25 September 2020, 2:27:55.406854 pm UUID: c3499cc6-9d5a-4f10-a63e-1420d71368e5 Ancestors: VMMaker.oscog-eem.2822 SocketPlugin: propitiate the Slang demons. Functions which fail cannot be passed as arguments, but must be assigned to variables. =============== Diff against VMMaker.oscog-eem.2822 =============== Item was changed: ----- Method: SocketPlugin>>primitiveSocket:sendUDPData:toHost:port:start:count: (in category 'primitives') ----- primitiveSocket: socket sendUDPData: array toHost: hostAddress port: portNumber start: startIndex count: count + | s elementSize arrayBase bytesSent hostAddressInteger | - | s elementSize arrayBase bytesSent | self primitive: 'primitiveSocketSendUDPDataBufCount' parameters: #(Oop Oop ByteArray SmallInteger SmallInteger SmallInteger). "buffer can be any indexable bits object" elementSize := self cppIf: SPURVM ifTrue: [interpreterProxy bytesPerElement: array] ifFalse: [(interpreterProxy isWords: array) ifTrue: [4] ifFalse: [1]]. ((interpreterProxy isWordsOrBytes: array) and: [elementSize > 0 and: [startIndex >= 1 and: [count >= 0 and: [startIndex + count - 1 <= (interpreterProxy slotSizeOf: array)]]]]) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. s := self socketValueOf: socket. + hostAddressInteger := self netAddressToInt: (self cCoerce: hostAddress to: #'unsigned char *'). interpreterProxy failed ifFalse: ["Note: adjust bufStart for zero-origin indexing" arrayBase := self cCoerce: (interpreterProxy firstIndexableField: array) to: #'char *'. bytesSent := self sqSocket: s + toHost: hostAddressInteger - toHost: (self netAddressToInt: (self cCoerce: hostAddress to: #'unsigned char *')) port: portNumber SendDataBuf: arrayBase + (startIndex - 1 * elementSize) Count: count * elementSize]. ^(bytesSent // elementSize) asSmallIntegerObj! From noreply at github.com Fri Sep 25 21:45:55 2020 From: noreply at github.com (Eliot Miranda) Date: Fri, 25 Sep 2020 14:45:55 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 0e4173: CogVM source as per VMMaker.oscog-eem.2823 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 0e41737dbd5cdda9eb48392c8528f014e54768f9 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/0e41737dbd5cdda9eb48392c8528f014e54768f9 Author: Eliot Miranda Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/Mac OS/vm/sqMacUnixCommandLineInterface.c M platforms/iOS/vm/OSX/sqSqueakOSXApplication.h M platforms/iOS/vm/OSX/sqSqueakOSXApplication.m M platforms/unix/vm/sqUnixMain.c M platforms/win32/vm/sqWin32Main.c M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/plugins/AsynchFilePlugin/AsynchFilePlugin.c M src/plugins/BitBltPlugin/BitBltPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/ClipboardExtendedPlugin/ClipboardExtendedPlugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/GeniePlugin/GeniePlugin.c M src/plugins/HostWindowPlugin/HostWindowPlugin.c M src/plugins/ImmX11Plugin/ImmX11Plugin.c M src/plugins/InternetConfigPlugin/InternetConfigPlugin.c M src/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.c M src/plugins/JoystickTabletPlugin/JoystickTabletPlugin.c M src/plugins/LargeIntegers/LargeIntegers.c M src/plugins/LocalePlugin/LocalePlugin.c M src/plugins/MIDIPlugin/MIDIPlugin.c M src/plugins/MacMenubarPlugin/MacMenubarPlugin.c M src/plugins/Mpeg3Plugin/Mpeg3Plugin.c M src/plugins/QuicktimePlugin/QuicktimePlugin.c M src/plugins/SerialPlugin/SerialPlugin.c M src/plugins/SocketPlugin/SocketPlugin.c M src/plugins/SoundPlugin/SoundPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2823 Spur: Use bridges to use a single loop for allObjectsDo: et al. Hence save lots of space by avoiding three copies of the inner loop for several object enumeration operations. e.g. on MacOS X x86_64 saves over 1% of the VM executable. Install a bridge from freeStart (end of eden) to newSpaceStart and from pastSpaceStart (end of past space) to start of eden as required. Either or both of partSpace and eden may be empty. pastSpace may be completely full, or just one 64-bit word shy of eden. If one word shy use a "slim bridge", a bridge that fits in a single word. Slim bridge is a pun, a return to my youth: https://www.wwt.org.uk/wetland-centres/slimbridge# Note that slim bridges (shums would be a better name) could be the solution to object alignment; by preceding objects with suitable shims, the shims could both record what an object's alignment is, and be used to pad old space to bring an object into alignment. Allow sufficientSpaceAfterGC: (invoked from checkForEventsMayContextSwitch:) to attempt to shrink if there is lots of free space. sufficientSpaceAfterGC: invokes fullGC only if the heap has grown by the growth rarion since the last fullGC, and (before this change) only fullGC would attempt to shrink. So memory would never shrink if some large amout of space became available, since the heap would not grow again, and fullGC would never be called. Hence the free space would remain in the system. So this is needed to shrink when possible. Have growOldSpaceByAtLeast: set the needGC flag if growth is either disallowed or fails. This will cause the VM to invoke sufficientSpaceAfterGC: in a context of continuous growth that halts before, say, the growth ratio is reached. SocketPlugin: Make sure that all senders of socketValueOf: check for failure (e.g. primitiveSocketReceiveDataAvailable: primitiveSocketRemotePort: primitiveSocketSendDone: did not). Make the four send/receive primitives that take bits array arguments accept any of Spur's native bits types, byte, double byte, quad byte or octa byte. Add the bytesPerElement: function to InterpreterProxy/sqVirtualMachine to allow these primitives to determine the element size. Slang: Have the SmartSyntaxPlugins use the methodReturnFoo: protocol where they can. From no-reply at appveyor.com Fri Sep 25 21:50:12 2020 From: no-reply at appveyor.com (AppVeyor) Date: Fri, 25 Sep 2020 21:50:12 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2206 Message-ID: <20200925215011.1.AF44B0A635CC2D6E@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Fri Sep 25 21:55:15 2020 From: builds at travis-ci.org (Travis CI) Date: Fri, 25 Sep 2020 21:55:15 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2206 (Cog - 0e41737) In-Reply-To: Message-ID: <5f6e6741175af_13fef93db68941134b9@travis-tasks-545974694c-2bfbs.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2206 Status: Still Failing Duration: 8 mins and 44 secs Commit: 0e41737 (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2823 Spur: Use bridges to use a single loop for allObjectsDo: et al. Hence save lots of space by avoiding three copies of the inner loop for several object enumeration operations. e.g. on MacOS X x86_64 saves over 1% of the VM executable. Install a bridge from freeStart (end of eden) to newSpaceStart and from pastSpaceStart (end of past space) to start of eden as required. Either or both of partSpace and eden may be empty. pastSpace may be completely full, or just one 64-bit word shy of eden. If one word shy use a "slim bridge", a bridge that fits in a single word. Slim bridge is a pun, a return to my youth: https://www.wwt.org.uk/wetland-centres/slimbridge# Note that slim bridges (shums would be a better name) could be the solution to object alignment; by preceding objects with suitable shims, the shims could both record what an object's alignment is, and be used to pad old space to bring an object into alignment. Allow sufficientSpaceAfterGC: (invoked from checkForEventsMayContextSwitch:) to attempt to shrink if there is lots of free space. sufficientSpaceAfterGC: invokes fullGC only if the heap has grown by the growth rarion since the last fullGC, and (before this change) only fullGC would attempt to shrink. So memory would never shrink if some large amout of space became available, since the heap would not grow again, and fullGC would never be called. Hence the free space would remain in the system. So this is needed to shrink when possible. Have growOldSpaceByAtLeast: set the needGC flag if growth is either disallowed or fails. This will cause the VM to invoke sufficientSpaceAfterGC: in a context of continuous growth that halts before, say, the growth ratio is reached. SocketPlugin: Make sure that all senders of socketValueOf: check for failure (e.g. primitiveSocketReceiveDataAvailable: primitiveSocketRemotePort: primitiveSocketSendDone: did not). Make the four send/receive primitives that take bits array arguments accept any of Spur's native bits types, byte, double byte, quad byte or octa byte. Add the bytesPerElement: function to InterpreterProxy/sqVirtualMachine to allow these primitives to determine the element size. Slang: Have the SmartSyntaxPlugins use the methodReturnFoo: protocol where they can. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/790d848891c3...0e41737dbd5c View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730393009?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Sat Sep 26 02:26:29 2020 From: noreply at github.com (Eliot Miranda) Date: Fri, 25 Sep 2020 19:26:29 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] d06387: Attempt to fix the failing builds on linux32x86. ... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: d06387dbb48d5d8d0141e156ac8da65a3fd9c7c4 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d06387dbb48d5d8d0141e156ac8da65a3fd9c7c4 Author: Eliot Miranda Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M platforms/unix/vm/sqPlatformSpecific.h Log Message: ----------- Attempt to fix the failing builds on linux32x86. Don't define the name ftell (which would affect any and all includes that attempt to define ftell), instead define the application of ftell. From noreply at github.com Sat Sep 26 02:30:13 2020 From: noreply at github.com (Eliot Miranda) Date: Fri, 25 Sep 2020 19:30:13 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 47b8d5: Inlcude the Squeak headers after the C headers. T... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 47b8d5202b835b5d9d1556ed0cf0dda11e5b246c https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c Author: Eliot Miranda Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M platforms/Cross/vm/sqHeapMap.c Log Message: ----------- Inlcude the Squeak headers after the C headers. This hsould also help fix breaking builds. From no-reply at appveyor.com Sat Sep 26 02:31:06 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 26 Sep 2020 02:31:06 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2207 Message-ID: <20200926023106.1.7D5DB21E61D39A87@appveyor.com> An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Sat Sep 26 02:34:39 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Fri, 25 Sep 2020 19:34:39 -0700 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: <5063D41C-68D5-4AB5-9C26-0D40F774E8B1@rowledge.org> References: <408e81bc38162cc26a2ffd67eaa5aca9@whidbey.com> <05e785e3430d4d7abffbb79358c4f4f0@student.hpi.uni-potsdam.de> <6bcf8988d89bac374fed80eceb3d7fbc@whidbey.com> <5063D41C-68D5-4AB5-9C26-0D40F774E8B1@rowledge.org> Message-ID: Hi Tim, On Fri, Sep 25, 2020 at 11:45 AM tim Rowledge wrote: > > Faintly on-topic and possibly interesting - > > pi-top are selling a ~12" 10-point HD touch screen for Raspberry Pi's/ > Seems like a quite nice way to do your research into what a touch UI for > Squeak might be. > > https://www.pi-top.com/products/display-keyboard Search on eBay and you'll find a large number of much cheaper unpackaged displays in all sorts of sizes. e.g. https://www.ebay.com/itm/12-1inch-Touch-Panel-USB-Controller-Card-Work-For-12-1-1024x768-4-3-LCD-Screen/372738505630?epid=1855428141&hash=item56c8f23b9e:g:TuIAAOSwfDtdU8Aa > > > tim > -- > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim > Strange OpCodes: PO: Punch Operator > > > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Sep 26 02:35:35 2020 From: builds at travis-ci.org (Travis CI) Date: Sat, 26 Sep 2020 02:35:35 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2207 (Cog - d06387d) In-Reply-To: Message-ID: <5f6ea8f695810_13fd7b22b30e41064fa@travis-tasks-844b494-w6cvm.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2207 Status: Still Failing Duration: 8 mins and 34 secs Commit: d06387d (Cog) Author: Eliot Miranda Message: Attempt to fix the failing builds on linux32x86. Don't define the name ftell (which would affect any and all includes that attempt to define ftell), instead define the application of ftell. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/0e41737dbd5c...d06387dbb48d View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730435637?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Sep 26 02:35:39 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 26 Sep 2020 02:35:39 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2208 Message-ID: <20200926023539.1.00F016056AE2851B@appveyor.com> An HTML attachment was scrubbed... URL: From noreply at github.com Sat Sep 26 02:46:12 2020 From: noreply at github.com (Eliot Miranda) Date: Fri, 25 Sep 2020 19:46:12 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] a1e4d7: Fix breaking cygwin/mingw builds by redefining pri... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: a1e4d7b6065b14f3a9f95fe4d030104966754604 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/a1e4d7b6065b14f3a9f95fe4d030104966754604 Author: Eliot Miranda Date: 2020-09-25 (Fri, 25 Sep 2020) Changed paths: M platforms/win32/vm/sqWin32Main.c Log Message: ----------- Fix breaking cygwin/mingw builds by redefining printf only if one defines DBGPRINT, not if one doesn't define NODBGPRINT. From builds at travis-ci.org Sat Sep 26 02:51:40 2020 From: builds at travis-ci.org (Travis CI) Date: Sat, 26 Sep 2020 02:51:40 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2208 (Cog - 47b8d52) In-Reply-To: Message-ID: <5f6eacbbf3bed_13fd7b22b29001114b2@travis-tasks-844b494-w6cvm.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2208 Status: Errored Duration: 19 mins and 39 secs Commit: 47b8d52 (Cog) Author: Eliot Miranda Message: Inlcude the Squeak headers after the C headers. This hsould also help fix breaking builds. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/d06387dbb48d...47b8d5202b83 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730436026?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Sep 26 02:58:41 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 26 Sep 2020 02:58:41 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2209 Message-ID: <20200926025841.1.70392B34A16F18BB@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Sep 26 03:10:20 2020 From: builds at travis-ci.org (Travis CI) Date: Sat, 26 Sep 2020 03:10:20 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2209 (Cog - a1e4d7b) In-Reply-To: Message-ID: <5f6eb11c776c_13fbec97b849c154952@travis-tasks-844b494-hcmlr.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2209 Status: Errored Duration: 18 mins and 53 secs Commit: a1e4d7b (Cog) Author: Eliot Miranda Message: Fix breaking cygwin/mingw builds by redefining printf only if one defines DBGPRINT, not if one doesn't define NODBGPRINT. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/47b8d5202b83...a1e4d7b6065b View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730437723?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rowledge.org Sat Sep 26 04:16:12 2020 From: tim at rowledge.org (tim Rowledge) Date: Fri, 25 Sep 2020 21:16:12 -0700 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: References: <408e81bc38162cc26a2ffd67eaa5aca9@whidbey.com> <05e785e3430d4d7abffbb79358c4f4f0@student.hpi.uni-potsdam.de> <6bcf8988d89bac374fed80eceb3d7fbc@whidbey.com> <5063D41C-68D5-4AB5-9C26-0D40F774E8B1@rowledge.org> Message-ID: <7E64E68A-5DC6-4B8E-A884-F5FD6E8C4D2D@rowledge.org> > On 2020-09-25, at 7:34 PM, Eliot Miranda wrote: > > Hi Tim, > > On Fri, Sep 25, 2020 at 11:45 AM tim Rowledge wrote: > > Faintly on-topic and possibly interesting - > > pi-top are selling a ~12" 10-point HD touch screen for Raspberry Pi's/ Seems like a quite nice way to do your research into what a touch UI for Squeak might be. > > https://www.pi-top.com/products/display-keyboard > > Search on eBay and you'll find a large number of much cheaper unpackaged displays in all sorts of sizes. e.g. Undoubtedly - but will they work with a Pi without hours of fiddling and having to make assorted wiring, supports and so on? Not being an electronics guy (beyond sometimes being able to work out what resistor is needed to make an LED work etc) I truly can't answer that. Is the price difference either way justifiable? If I were doing it as a for-pay project I'd say definitely not - $150 is barely an of hour. For hobby? Maybe the fiddle is half the fun; I've done dafter things just for the heck of it. Ask about my R/C transmitter case project some day... now there's a long story of spending money to do something just in order to do it. Buy some CFRP! Make a big CNC router to cut it! 3D printers to make brackets! GRP moulds for case parts! Break the damn circuit board! Short out the replacement board! AaaaaaRgh! tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim "How many Teela Browns does it take to change a lightbulb?” "Stupid question." From notifications at github.com Sat Sep 26 07:16:49 2020 From: notifications at github.com (Tobias Pape) Date: Sat, 26 Sep 2020 00:16:49 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: I don't see `sq.h` and neither a guarded `config.h`. This means that `_GNU_SOURCE` might not be picked up, which might have effect on the C headers… -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42741886 -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Sat Sep 26 15:04:45 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Sat, 26 Sep 2020 08:04:45 -0700 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: Hi Andrei, I can confirm that it does not reproduce with the assert VM and that it does reproduce with the production VM. What I've found so far is that the VM is in machine code executing the Object>>copy/shallowCopy/postCopy code on a Context, and it has very recently done a code compaction (the most recent entry in the prim trace log is **CodeCompaction** preceded by many shallowCopy invocations, i.e. the VM is looping copying contexts, the shallowCopy primitive needing to call an interpreter primitive to copy a Context, and has just done a code compaction). In the following I use the terms cog method and machine code method interchangeably. The JIT creates machine code/cog methods for bytecode methods that are executed more than once, and the Vm spends most of its time executing code in these machine code/cog methods. The VM is in machine code executing an illegal instruction which is **within the header** of an unrelated machine code method (scanLitWord in the Squeak Parser). The instructionPointer (the variable used to hold instruction pointers at suspension points) is pointing just past the call of shallowCopy in Object>>copy, consistent with the VM having invoked the shallowCopy primitive. However, the call instruction preceding instructionPointer is an unlinked send, calling the lookup trampoline ceSend0Args, whereas it should be calling a machine code version of Object>>#shallowCopy. I can see that there *are* machine code methods for #copy (the Object>>copy method itself and two closed PICs for it). So my working hypothesis is that the method zone compaction code fails to retain the method referred to by the instructionPointer, reclaiming it itself. At the start of code compaction the VM must determine what set of methods are live, which it does by scanning stack frames. And then it reference counts methods accessible from the live method set. And then it discards the least marked methods until it has freed about 1/3 of machine code. It then plans the compaction, updating all instruction pointers in stack frames to point to the compacted methods new locations, and then it compacts. But because shallowCopy is a primitive its machine code method does not occur in any stack frame (it is invoked, returns a copy without building a frame, and returns that copy). And there is no reference to the shallowCopy cog method in the Object>>copy cog method, because pre-compaction, the call for #copy will be to an Open PIC, because this send is highly polymorphic At this point I'm confused as to what is happening and how the native pc ends up executing bogus code. The instructionPointer is correctly pointing after the send of shallowCopy. It is regrettable that the VM reclaimed the shallowCopy PIC and the shallowCopy method, but not fatal. Ah, unless code compaction is undertaken *within* the shallowCopy primitive!! That would break things. Right, got it. So the context being copied has a machine code PC, but this PC is referring to an instruction in a machine code method that has been long ago reclaimed. So to create the copy of the Context with a valid bytecode pc, the innards of the shallowCopy primitive has to JIT the context's method to be able to compute the correct bytecode PC from the bytecode PC. If there is no room in the code zone for another method then a code compaction must be done. This code compaction occurs in the middle of the shallowCopy primitive and because the cog method is not noted by the compaction machinery as being live it gets reclaimed from under the shallowCopy interpreter primitive being called from that machine code. So when the shallowCopy interpreter primitive returns into machine code it lands somewhere bogus (somewhere in the header of the scanLitWord cog method). Great. I understand the bug. I have a way of provoking it (I can force a code compaction in the middle of shallowCopy on contexts). So I should be able to understand and fix the bug very soon. The only thing I don't understand yet is why the bug doesn't occur in the assert or debug VMs. Anyay, thank you for your patient and informative responses Andrei. I should have it fixed in a few days. On Fri, Sep 25, 2020 at 6:26 AM Eliot Miranda wrote: > Hi Andrei, > > I encountered the same bug when running the full test suite in > squeak. It’s something to do with code compaction. I made a lot of > changes earlier this year to accommodate the ARMv8 code generator. One > thing to do them would be to use a late 2019 vm and see if the problem goes > away. > > I shall be trying to track it down in the background as I gave other > priorities. But my experience is that once a bug is reproducible it didn’t > take too much effort to fix it. > > _,,,^..^,,,_ (phone) > > On Sep 23, 2020, at 5:29 AM, Andrei Chis > wrote: > >  > > On 22 Sep 2020, at 19:18, Nicolas Cellier < > nicolas.cellier.aka.nice at gmail.com> wrote: > > If you are on linux, you could try using the recording debugger (rr)... > Though, debugging a -O2 or -O3 is hard... No obvious mapping of source code > with assembly instructions. It's better if you can reproduce on debug > version... > > > Mostly I’m on mac but might try this if all else fails. > > > Le mar. 22 sept. 2020 à 14:21, Andrei Chis a > écrit : > >> >> Hi Eliot, >> >> Unfortunately with the assert vm with memory leak checks it seems I >> cannot reproduce the problem. >> I’ll try to run it a few more times, maybe I get lucky and get a crash (a >> run takes a few hours). >> >> For our case, calling `self pc` before copying a context really helped. >> Before almost 50% of our builds were failing; now we get no more failures >> at all. >> Thanks for your insights! >> >> Are there other ways to get relevant/helpful details from a crash with a >> normal vm? >> >> Cheers, >> Andrei >> >> >> On 15 Sep 2020, at 01:27, Eliot Miranda wrote: >> >> Hi Andrei, >> >> >> On Sep 14, 2020, at 3:22 PM, Andrei Chis >> wrote: >> >> Hi Eliot, >> >> The setup in GT is a bit customised (some changes in the headless vm, >> some custom plugins, custom rendering) so I first thought it will be >> impossible to reproduce the bug in a more standard manner. >> However turns out it is possible. If I use the following script after >> running the tests a few times in lldb I get the crash starting from a plain >> Pharo 8 image. >> >> $ curl https://get.pharo.org/64/80+vm | bash >> $ curl -L >> https://raw.githubusercontent.com/feenkcom/gtoolkit/master/scripts/localbuild/loadgt.st >> -o loadgt.st >> $ ./pharo Pharo.image st --quit >> >> $ lldb ./pharo-vm/Pharo.app/Contents/MacOS/Pharo >> (lldb) run --headless Pharo.image examples --junit-xml-output >> 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' Brick 'Brick-.*' Bloc >> 'Bloc-.*' 'Sparta-.*' >> >> >> I also tried to compile the vm myself on Mac (Catalina 10.15.6). I build >> a normal and assert for https://github.com/OpenSmalltalk/opensmalltalk-vm >> and https://github.com/pharo-project/opensmalltalk-vm from the cog >> branch. >> In both cases I get an issue related to pixman 0.34.0 [1] but that’s easy >> to workaround. For https://github.com/OpenSmalltalk/opensmalltalk-vm I >> got an extra problem related to Cairo [2] and had to change libpng >> from libpng16 to libpng12 to get it to work. >> >> With both the normal VMs I could reproduce the bug and got stacks with >> the Context>copyTo: messages. >> >> With the assert VMs I only got a crash for now with the assert vm from >> https://github.com/pharo-project/opensmalltalk-vm. However there is no >> Context>copyTo: and the memory seems quite corrupted. >> I suspect the crash also appears in >> https://github.com/OpenSmalltalk/opensmalltalk-vm but seems that with >> the assert vm it is much harder to reproduce. Had to run the tests 20 times >> and got one crash; running the tests once take 20-30 minutes. >> >> >> This is from only crash until now with the assert vm. Not sure if they >> are helpful or not, or actually related to the problem. >> >> validInstructionPointerinFrame(GIV(instructionPointer), >> GIV(framePointer)) 18471 >> Pharo was compiled with optimization - stepping may behave oddly; >> variables may not be available. >> Process 73731 stopped >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS >> (code=2, address=0x157800000) >> frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", >> val=5513312480) at sqMemoryAccess.h:142:84 [opt] >> 139 static inline sqInt intAtPointer(char *ptr) { return >> (sqInt)(*((int *)ptr)); } >> 140 static inline sqInt intAtPointerput(char *ptr, int val) { >> return (sqInt)(*((int *)ptr)= val); } >> 141 static inline sqInt longAtPointer(char *ptr) { return *(sqInt >> *)ptr; } >> -> 142 static inline sqInt longAtPointerput(char *ptr, sqInt val) { >> return *(sqInt *)ptr= val; } >> 143 static inline sqLong long64AtPointer(char *ptr) { return *(sqLong >> *)ptr; } >> 144 static inline sqLong long64AtPointerput(char *ptr, sqLong val) >> { return *(sqLong *)ptr= val; } >> 145 static inline float singleFloatAtPointer(char *ptr) { return *( >> float *)ptr; } >> Target 0: (Pharo) stopped. >> >> >> (lldb) bt >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS >> (code=2, address=0x157800000) >> * frame #0: 0x0000000100015837 Pharo`longAtPointerput(ptr="????", >> val=5513312480) at sqMemoryAccess.h:142:84 [opt] >> frame #1: 0x00000001000161cf Pharo`marryFrameSP(theFP=, >> theSP=0x0000000000000000) at gcc3x-cointerp.c:68120:3[opt] >> frame #2: 0x000000010001f5ac Pharo`ceContextinstVar(maybeContext=5510359872, >> slotIndex=0) at gcc3x-cointerp.c:15221:12 [opt] >> frame #3: 0x00000001480017d6 >> frame #4: 0x00000001000022be Pharo`interpret at gcc3x-cointerp.c:2755 >> :3 [opt] >> frame #5: 0x00000001000bc244 Pharo`-[sqSqueakMainApplication >> runSqueak](self=0x0000000101c76dc0, _cmd=) at >> sqSqueakMainApplication.m:201:2 [opt] >> frame #6: 0x00007fff3326729b Foundation`__NSFirePerformWithOrder + >> 360 >> frame #7: 0x00007fff30ad3335 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ >> + 23 >> frame #8: 0x00007fff30ad3267 CoreFoundation`__CFRunLoopDoObservers + >> 457 >> frame #9: 0x00007fff30ad2805 CoreFoundation`__CFRunLoopRun + 874 >> frame #10: 0x00007fff30ad1e3e CoreFoundation`CFRunLoopRunSpecific + >> 462 >> frame #11: 0x00007fff2f6feabd HIToolbox`RunCurrentEventLoopInMode + >> 292 >> frame #12: 0x00007fff2f6fe6f4 HIToolbox`ReceiveNextEventCommon + 359 >> frame #13: 0x00007fff2f6fe579 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter >> + 64 >> frame #14: 0x00007fff2dd44039 AppKit`_DPSNextEvent + 883 >> frame #15: 0x00007fff2dd42880 AppKit`-[NSApplication(NSEvent) >> _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352 >> frame #16: 0x00007fff2dd3458e AppKit`-[NSApplication run] + 658 >> frame #17: 0x00007fff2dd06396 AppKit`NSApplicationMain + 777 >> frame #18: 0x00007fff6ab3ecc9 libdyld.dylib`start + 1 >> >> >> (lldb) call printCallStack() >> 0x7ffeefbe3920 M INVALID RECEIVER>(nil) 0x148716b40: a(n) bad class >> 0x7ffeefbe3968 M [] in INVALID RECEIVER>(nil) >> Context(Object)>>doesNotUnderstand: #bounds >> 0x194648118: a(n) bad class >> 0x7ffeefbe39a8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class >> 0x7ffeefbe39e8 M INVALID RECEIVER>(nil) 0x1489fcec0: a(n) bad class >> 0x7ffeefbe3a30 I INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbe3a80 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad >> class >> 0x7ffeefbe3ab8 M INVALID RECEIVER>(nil) 0x148163cd0: a(n) bad class >> 0x7ffeefbe3b08 I INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >> 0x7ffeefbe3b40 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >> 0x7ffeefbe3b78 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class >> 0x7ffeefbe3bc0 I INVALID RECEIVER>(nil) 0x148716a38: a(n) bad class >> 0x7ffeefbe3c10 I INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >> 0x7ffeefbe3c40 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >> 0x7ffeefbe3c78 M INVALID RECEIVER>(nil) 0x14d0338e8: a(n) bad class >> 0x7ffeefbe3cc0 M INVALID RECEIVER>(nil) 0x14d0337f0: a(n) bad class >> 0x7ffeefbe3d08 M INVALID RECEIVER>(nil) 0x14d033738: a(n) bad class >> 0x7ffeefbe3d50 M INVALID RECEIVER>(nil) 0x14d033680: a(n) bad class >> 0x7ffeefbe3d98 M INVALID RECEIVER>(nil) 0x1946493f0: a(n) bad class >> 0x7ffeefbe3de0 M INVALID RECEIVER>(nil) 0x194649338: a(n) bad class >> 0x7ffeefbe3e28 M INVALID RECEIVER>(nil) 0x194649280: a(n) bad class >> 0x7ffeefbe3e70 M INVALID RECEIVER>(nil) 0x1946491c8: a(n) bad class >> 0x7ffeefbe3eb8 M INVALID RECEIVER>(nil) 0x194649110: a(n) bad class >> 0x7ffeefbec768 M INVALID RECEIVER>(nil) 0x194649038: a(n) bad class >> 0x7ffeefbec7b0 M INVALID RECEIVER>(nil) 0x194648f60: a(n) bad class >> 0x7ffeefbec7f8 M INVALID RECEIVER>(nil) 0x194648e88: a(n) bad class >> 0x7ffeefbec840 M INVALID RECEIVER>(nil) 0x194648dd0: a(n) bad class >> 0x7ffeefbec888 M INVALID RECEIVER>(nil) 0x194648d18: a(n) bad class >> 0x7ffeefbec8d0 M INVALID RECEIVER>(nil) 0x194648c60: a(n) bad class >> 0x7ffeefbec918 M INVALID RECEIVER>(nil) 0x194648b88: a(n) bad class >> 0x7ffeefbec960 M INVALID RECEIVER>(nil) 0x194648ad0: a(n) bad class >> 0x7ffeefbec9a8 M INVALID RECEIVER>(nil) 0x194648a18: a(n) bad class >> 0x7ffeefbec9f0 M INVALID RECEIVER>(nil) 0x194648960: a(n) bad class >> 0x7ffeefbeca38 M INVALID RECEIVER>(nil) 0x1946488a8: a(n) bad class >> 0x7ffeefbeca80 M INVALID RECEIVER>(nil) 0x1946487f0: a(n) bad class >> 0x7ffeefbecac8 M INVALID RECEIVER>(nil) 0x194648708: a(n) bad class >> 0x7ffeefbecb10 M INVALID RECEIVER>(nil) 0x194648620: a(n) bad class >> 0x7ffeefbecb58 M INVALID RECEIVER>(nil) 0x194648508: a(n) bad class >> 0x7ffeefbecba0 M INVALID RECEIVER>(nil) 0x194648450: a(n) bad class >> 0x7ffeefbecbe8 M INVALID RECEIVER>(nil) 0x1481641a8: a(n) bad class >> 0x7ffeefbecc30 M INVALID RECEIVER>(nil) 0x1481640f0: a(n) bad class >> 0x7ffeefbecc78 M INVALID RECEIVER>(nil) 0x148164038: a(n) bad class >> 0x7ffeefbeccc0 M INVALID RECEIVER>(nil) 0x148163f80: a(n) bad class >> 0x7ffeefbecd08 M INVALID RECEIVER>(nil) 0x148163ec8: a(n) bad class >> 0x7ffeefbecd50 M INVALID RECEIVER>(nil) 0x148163e10: a(n) bad class >> 0x7ffeefbecd98 M INVALID RECEIVER>(nil) 0x148163d28: a(n) bad class >> 0x7ffeefbecde0 M INVALID RECEIVER>(nil) 0x148163c18: a(n) bad class >> 0x7ffeefbece28 M INVALID RECEIVER>(nil) 0x148163b38: a(n) bad class >> 0x7ffeefbece70 M INVALID RECEIVER>(nil) 0x148163a80: a(n) bad class >> 0x7ffeefbeceb8 M INVALID RECEIVER>(nil) 0x1481639c8: a(n) bad class >> 0x7ffeefbe7758 M INVALID RECEIVER>(nil) 0x1481638e0: a(n) bad class >> 0x7ffeefbe77a0 M INVALID RECEIVER>(nil) 0x148163808: a(n) bad class >> 0x7ffeefbe77e8 M INVALID RECEIVER>(nil) 0x148163750: a(n) bad class >> 0x7ffeefbe7830 M INVALID RECEIVER>(nil) 0x148163698: a(n) bad class >> 0x7ffeefbe7878 M INVALID RECEIVER>(nil) 0x1481635c0: a(n) bad class >> 0x7ffeefbe78c0 M INVALID RECEIVER>(nil) 0x1481634e0: a(n) bad class >> 0x7ffeefbe7908 M INVALID RECEIVER>(nil) 0x148163408: a(n) bad class >> 0x7ffeefbe7950 M INVALID RECEIVER>(nil) 0x148163350: a(n) bad class >> 0x7ffeefbe7998 M INVALID RECEIVER>(nil) 0x148163298: a(n) bad class >> 0x7ffeefbe79e0 M INVALID RECEIVER>(nil) 0x148163188: a(n) bad class >> 0x7ffeefbe7a28 M INVALID RECEIVER>(nil) 0x148163098: a(n) bad class >> 0x7ffeefbe7a70 M INVALID RECEIVER>(nil) 0x148162fa0: a(n) bad class >> 0x7ffeefbe7ab8 M INVALID RECEIVER>(nil) 0x148162ec8: a(n) bad class >> 0x7ffeefbe7b00 M INVALID RECEIVER>(nil) 0x148162e10: a(n) bad class >> 0x7ffeefbe7b48 M INVALID RECEIVER>(nil) 0x148712a08: a(n) bad class >> 0x7ffeefbe7b90 M INVALID RECEIVER>(nil) 0x148712950: a(n) bad class >> 0x7ffeefbe7bd8 M INVALID RECEIVER>(nil) 0x148712898: a(n) bad class >> 0x7ffeefbe7c20 M INVALID RECEIVER>(nil) 0x148713cc0: a(n) bad class >> 0x7ffeefbe7c68 M INVALID RECEIVER>(nil) 0x148713018: a(n) bad class >> 0x7ffeefbe7cb0 M INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >> 0x7ffeefbe7cf8 M INVALID RECEIVER>(nil) 0x148713140: a(n) bad class >> 0x7ffeefbe7d40 M INVALID RECEIVER>(nil) 0x148713928: a(n) bad class >> 0x7ffeefbe7d88 M INVALID RECEIVER>(nil) 0x1487133c8: a(n) bad class >> 0x7ffeefbe7de0 I INVALID RECEIVER>(nil) 0x148713238: a(n) bad class >> 0x7ffeefbe7e28 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >> 0x7ffeefbe7e70 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >> 0x7ffeefbe7eb8 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >> 0x7ffeefbeea68 I INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >> 0x7ffeefbeeac8 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad >> class >> 0x7ffeefbeeb00 M INVALID RECEIVER>(nil) 0x148713108: a(n) bad class >> 0x7ffeefbeeb50 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >> 0x7ffeefbeeb98 I INVALID RECEIVER>(nil) 0x148713480: a(n) bad class >> 0x7ffeefbeebe0 I INVALID RECEIVER>(nil) 0x1487131f8: a(n) bad class >> 0x7ffeefbeec10 M INVALID RECEIVER>(nil) 0x9=1 >> 0x7ffeefbeec48 M INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >> 0x7ffeefbeeca0 M [] in INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad >> class >> 0x7ffeefbeecd0 M INVALID RECEIVER>(nil) 0x1487130d0: a(n) bad class >> 0x7ffeefbeed10 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >> 0x7ffeefbeed58 M INVALID RECEIVER>(nil) 0x1487123d8: a(n) bad class >> 0x7ffeefbeedb0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >> 0x7ffeefbeedf0 I INVALID RECEIVER>(nil) 0x1487123c8: a(n) bad class >> 0x7ffeefbeee20 M [] in INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad >> class >> 0x7ffeefbeee78 M INVALID RECEIVER>(nil) 0x148162df0: a(n) bad class >> 0x7ffeefbeeec0 M INVALID RECEIVER>(nil) 0x148162ce8: a(n) bad class >> 0x7ffeefbe5978 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe59d8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad >> class >> 0x7ffeefbe5a18 M INVALID RECEIVER>(nil) 0x148163150: a(n) bad class >> 0x7ffeefbe5a68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5aa0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5ad8 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad >> class >> 0x7ffeefbe5b08 M INVALID RECEIVER>(nil) 0x1481634c0: a(n) bad class >> 0x7ffeefbe5b48 M INVALID RECEIVER>(nil) 0x14c403ca8: a(n) bad class >> 0x7ffeefbe5b88 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5bc0 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5bf0 M [] in INVALID RECEIVER>(nil) 0x148162f80: a(n) bad >> class >> 0x7ffeefbe5c20 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5c68 M INVALID RECEIVER>(nil) 0x148162f80: a(n) bad class >> 0x7ffeefbe5c98 M INVALID RECEIVER>(nil) 0x194656468: a(n) bad class >> 0x7ffeefbe5cd0 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad >> class >> 0x7ffeefbe5d00 M INVALID RECEIVER>(nil) 0x148163bf0: a(n) bad class >> 0x7ffeefbe5d50 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad >> class >> 0x7ffeefbe5d88 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >> 0x7ffeefbe5dc0 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >> 0x7ffeefbe5e00 M INVALID RECEIVER>(nil) 0x148163de0: a(n) bad class >> 0x7ffeefbe5e38 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbe5e80 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbe5eb8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad >> class >> 0x7ffeefbdf9d8 M INVALID RECEIVER>(nil) 0x194648430: a(n) bad class >> 0x7ffeefbdfa10 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad >> class >> 0x7ffeefbdfa50 M [] in INVALID RECEIVER>(nil) 0x148a02930: a(n) bad >> class >> 0x7ffeefbdfa90 M INVALID RECEIVER>(nil) 0x1946486d8: a(n) bad class >> 0x7ffeefbdfad0 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >> 0x7ffeefbdfb10 M INVALID RECEIVER>(nil) 0x1946485e0: a(n) bad class >> 0x7ffeefbdfb48 M INVALID RECEIVER>(nil) 0x1489f7da8: a(n) bad class >> 0x7ffeefbdfb80 M INVALID RECEIVER>(nil) 0x148a02930: a(n) bad class >> 0x7ffeefbdfbb8 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbdfbe8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad >> class >> 0x7ffeefbdfc20 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >> 0x7ffeefbdfc58 M INVALID RECEIVER>(nil) 0x1489fcff0: a(n) bad class >> 0x7ffeefbdfc98 M INVALID RECEIVER>(nil) 0x194648c40: a(n) bad class >> 0x7ffeefbdfcc8 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad >> class >> 0x7ffeefbdfd08 M INVALID RECEIVER>(nil) 0x194648f40: a(n) bad class >> 0x7ffeefbdfd40 M [] in INVALID RECEIVER>(nil) 0x194648118: a(n) bad >> class >> 0x7ffeefbdfd70 M INVALID RECEIVER>(nil) 0x14902a730: a(n) bad class >> 0x7ffeefbdfdb0 M INVALID RECEIVER>(nil) 0x194648118: a(n) bad class >> 0x7ffeefbdfde8 M INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad class >> 0x7ffeefbdfe20 M [] in INVALID RECEIVER>(nil) 0x14c4033c0: a(n) bad >> class >> 0x7ffeefbdfe70 M [] in INVALID RECEIVER>(nil) 0x14d032f98: a(n) bad >> class >> 0x7ffeefbdfeb8 M INVALID RECEIVER>(nil) 0x14d032fe0: a(n) bad class >> >> (callerContextOrNil == (nilObject())) || (isContext(callerContextOrNil)) >> 72783 >> 0x14d033738 is not a context >> >> >> OK, interesting. Both the assert failure and the badly corrupted stack >> trace lead me to believe that the issue happens long before the crash and >> is probably a stack corruption, either by a primitive cutting back the >> stack incorrectly, or some other hot riot ion (for example are all those >> nils in INVALID RECEIVER>(nil) real or an artifact of attempting to >> print an invalid value?). >> >> So the next step is to run the asset vm with leak checking turned on. Use >> >> myvm —leakcheck 3 to check after every GC >> >> We can add, eg leak checking after an FFI call, in an afternoon >> >> A more realistic setup would be to run GT with an assert headless vm. But >> until now I did not figure out how to build an assert vm for the >> gt-headless branch from https://github.com/feenkcom/opensmalltalk-vm. >> >> Cheers, >> Andrei >> >> >> [1] https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/258 >> >> [2] checking for cairo's PNG functions feature... >> configure: WARNING: Could not find libpng in the pkg-config search path >> checking whether cairo's PNG functions feature could be enabled... no >> configure: error: recommended PNG functions feature could not be enabled >> >> On 14 Sep 2020, at 17:32, Eliot Miranda wrote: >> >> Hi Andrei, >> >> >> On Sep 14, 2020, at 7:15 AM, Andrei Chis >> wrote: >> >> Hi Eliot, >> >> On 12 Sep 2020, at 01:42, Eliot Miranda wrote: >> >> Hi Andrei, >> >> On Fri, Sep 11, 2020 at 11:48 AM Andrei Chis >> wrote: >> >>> >>> Hi Eliot, >>> >>> Thanks for the answer. That helps to understand what is going on and it >>> can explain why just adding a call to `self pc` makes the crash disappear. >>> >>> Just what was maybe not obvious in my previous email is that we get this >>> problem more or less randomly. We have tests for verifying that tools work >>> when various extensions raise exceptions (these tests copy the stack). >>> Sometimes they work correctly and sometimes they crash. These crashes >>> happen in various tests and until now the only common thing we noticed is >>> that the pc of the contexts where the crash happens looks off. Also the >>> contexts in which this happens are at the beginning of the stack so part of >>> a long computation (it gets copied multiple times). >>> >>> Initially we suspected that there is some memory corruption somewhere >>> due to external calls/memory. Just the fact that calling `self pc` before >>> seems to fix the issue reduces those chances. But who knows. >>> >> >> Well, it does look like a VM bug. The VM is somehow failing to intercept >> some access, perhaps in shallow copy. Weird. I shall try and reproduce. >> Is there anything special about the process you copy using copyTo: ? >> >> >> I don’t think there is something special about that process. It is the >> process that we start to run tests [1]. The exception happens in the >> running process and the crash is when copying the stack of that running >> process. >> >> >> Ok, cool. What I’d like to do is get a copy of your test setup and run >> it in an assert vm to try and get more information. AFAICT the vm code is >> good do the bug is not obvious. An assert vm may give more information >> before the crash. Have you tried running the system on an assert vm yet? >> >> Checked some previous logs and we get these kinds of crashes on the CI >> server since at least two years. So it does not look like a new bug (but >> who knows). >> >> >> (see below) >> >> On Fri, Sep 11, 2020 at 6:36 PM Eliot Miranda >>> wrote: >>> >>>> >>>> Hi Andrei, >>>> >>>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis >>>> wrote: >>>> >>>>> >>>>> Hi, >>>>> >>>>> We are getting often crashes on our CI when calling `Context>copyTo:` >>>>> in a GT image and a vm build from >>>>> https://github.com/feenkcom/opensmalltalk-vm. >>>>> >>>>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a >>>>> context leading to a segmentation fault crash. Looking at that context in >>>>> lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>>>> >>>>> (lldb) call (void *) printOop(0x1206b6990) >>>>> 0x1206b6990: a(n) Context >>>>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>>>> 0x1206b6b28 0x1206b6b50 >>>>> >>>>> >>>>> Can this indicate some corruption or is it expected to have such >>>>> values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also >>>>> handles negative values for the pc which suggests that this might be >>>>> expected. >>>>> >>>> >>>> The issue is that that value is expected *inside* the VM. It is the >>>> frame pointer for the context. But above the Vm this value should be >>>> hidden. The VM should intercept all accesses to such fields in contexts and >>>> automatically map them back to the appropriate values that the image >>>> expects to see. [The same thing is true for CompiledMethods; inside the VM >>>> methods may refer to their JITted code, but this is invisible from the >>>> image]. Intercepting access to Context state already happens with inst var >>>> access in methods, with the shallowCopy primitive, with instVarAt: et al, >>>> etc. >>>> >>>> So I expect the issue here is that copyTo: invokes some primitive which >>>> does not (yet) check for a context receiver and/or argument, and hence >>>> accidentally it reveals the hidden state to the image and a crash results. >>>> What I need to know are the definitions for copyTo: and copy, etc all the >>>> way down to primitives. >>>> >>> >>> Here is the source code: >>> >> >> Cool, nothing unusual here. This should all work perfectly. Tis a VM >> bug. However... >> >> >>> Context >> copyTo: aContext >>> "Copy self and my sender chain down to, but not including, aContext. >>> End of copied chain will have nil sender." >>> | copy | >>> self == aContext ifTrue: [^ nil]. >>> copy := self copy. >>> self sender ifNotNil: [ >>> copy privSender: (self sender copyTo: aContext)]. >>> ^ copy >>> >> >> Let me suggest >> >> Context >> copyTo: aContext >> "Copy self and my sender chain down to, but not including, aContext. >> End of copied chain will have nil sender." >> | copy | >> self == aContext ifTrue: [^ nil]. >> copy := self copy. >> self sender ifNotNil: >> [:mySender| copy privSender: (mySender copyTo: aContext)]. >> ^ copy >> >> >> Nice! >> >> I also tried the non-recursive implementation of Context>>#copyTo: from >> Squeak and it also crashes. >> >> Not sure if related but now in the same image as before I got a different >> crash and printing the stack does not work. But this time the error seems >> to come from handleStackOverflow >> >> (lldb) call (void *)printCallStack() >> invalid frame pointer >> invalid frame pointer >> invalid frame pointer >> error: Execution was interrupted, reason: EXC_BAD_ACCESS >> (code=EXC_I386_GPFLT). >> The process has been returned to the state before expression evaluation. >> (lldb) bt >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS >> (code=2, address=0x121e00000) >> * frame #0: 0x0000000100162258 libGlamorousToolkitVMCore.dylib`marryFrameSP >> + 584 >> frame #1: 0x0000000100172982 libGlamorousToolkitVMCore.dylib`handleStackOverflow >> + 354 >> frame #2: 0x000000010016b025 libGlamorousToolkitVMCore.dylib`ceStackOverflow >> + 149 >> frame #3: 0x00000001100005b3 >> frame #4: 0x0000000100174d99 libGlamorousToolkitVMCore.dylib`ptEnterInterpreterFromCallback >> + 73 >> >> >> Cheers, >> Andrei >> >> [1] ./GlamorousToolkit.app/Contents/MacOS/GlamorousToolkit Pharo.image >> examples --junit-xml-output 'GToolkit-.*' 'GT4SmaCC-.*' 'DeepTraverser-.*' >> Brick 'Brick-.*' Bloc 'Bloc-.*' 'Sparta-.*' >> >> >> >> Object>>#copy >>> ^self shallowCopy postCopy >>> >>> Object >> shallowCopy >>> | class newObject index | >>> >>> class := self class. >>> class isVariable >>> ifTrue: >>> [index := self basicSize. >>> newObject := class basicNew: index. >>> [index > 0] >>> whileTrue: >>> [newObject basicAt: index put: (self basicAt: >>> index). >>> index := index - 1]] >>> ifFalse: [newObject := class basicNew]. >>> index := class instSize. >>> [index > 0] >>> whileTrue: >>> [newObject instVarAt: index put: (self instVarAt: index). >>> index := index - 1]. >>> ^ newObject >>> >>> The code of the primitiveClone looks the same [1] >>> >>> >>>> Changing `Context>copyTo:` by adding a `self pc` before calling `self >>>>> copy` leads to no more crashes. Not sure if there is a reason for that or >>>>> just plain luck. >>>>> >>>>> A simple reduced stack is below (more details in this issue [1]). The >>>>> crash happens always with contexts reified as objects (in this case >>>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>>>> Could this suggest some kind of issue in the vm when reifying >>>>> contexts, or just some other problem with memory corruption? >>>>> >>>> >>>> This looks like an oversight in some primitive. Here for example is >>>> the implementation of the shallowCopy primitive, a.k.a. clone, and you can >>>> see where it explcitly intercepts access to a context. >>>> >>>> primitiveClone >>>> "Return a shallow copy of the receiver. >>>> Special-case non-single contexts (because of context-to-stack >>>> mapping). >>>> Can't fail for contexts cuz of image context instantiation code >>>> (sigh)." >>>> >>>> | rcvr newCopy | >>>> rcvr := self stackTop. >>>> (objectMemory isImmediate: rcvr) >>>> ifTrue: >>>> [newCopy := rcvr] >>>> ifFalse: >>>> [(objectMemory isContextNonImm: rcvr) >>>> ifTrue: >>>> [newCopy := self cloneContext: rcvr] >>>> ifFalse: >>>> [(argumentCount = 0 >>>> or: [(objectMemory isForwarded: rcvr) not]) >>>> ifTrue: [newCopy := objectMemory clone: rcvr] >>>> ifFalse: [newCopy := 0]]. >>>> newCopy = 0 ifTrue: >>>> [^self primitiveFailFor: PrimErrNoMemory]]. >>>> self pop: argumentCount + 1 thenPush: newCopy >>>> >>>> But since Squeak doesn't have copyTo: I have no idea what primitive is >>>> being used. I'm guessing 168 primitiveCopyObject, which seems to check for >>>> a Context receiver, but not for a CompiledCode receiver. What does the >>>> primitive failure code look like? Can you post the copyTo: implementations >>>> here please? >>>> >>> >>> The code is above. I also see Context>>#copyTo: in Squeak calling also >>> Object>>copy for contexts. >>> >>> When a crash happens we don't get the exact same error all the time. For >>> example we get most often on mac: >>> >>> Process 35690 stopped >>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS >>> (code=EXC_I386_GPFLT) >>> frame #0: 0x00000001100b1004 >>> -> 0x1100b1004: inl $0x4c, %eax >>> 0x1100b1006: leal -0x5c(%rip), %eax >>> 0x1100b100c: pushq %r8 >>> 0x1100b100e: movabsq $0x1109e78e0, %r9 ; imm = 0x1109E78E0 >>> Target 0: (GlamorousToolkit) stopped. >>> >>> >>> Process 29929 stopped >>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT >>> (code=EXC_I386_BPT, subcode=0x0) >>> frame #0: 0x00000001100fe7ed >>> -> 0x1100fe7ed: int3 >>> 0x1100fe7ee: int3 >>> 0x1100fe7ef: int3 >>> 0x1100fe7f0: int3 >>> Target 0: (GlamorousToolkit) stopped. >>> >>> >>> [1] >>> https://github.com/feenkcom/opensmalltalk-vm/blob/5f7d49227c9599a35fcb93892b727c93a573482c/smalltalksrc/VMMaker/StackInterpreterPrimitives.class.st#L325 >>> >>> Cheers, >>> Andrei >>> >>> >>>> >>>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>>>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>>>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>>>> ... >>>>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>>>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>>>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>>>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>>>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>>>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>>>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>>>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>>>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>>>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>>>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>>>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>>>> ... >>>>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>>>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>>>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>>>> 0x1206b5b98 s Set>collect: >>>>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>>>> 0x1206b6a48 s BlockClosure>ensure: >>>>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>>>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>>>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>>>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>> 0x1207e6620 s BlockClosure>on:do: >>>>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>> 0x1207a83e0 s BlockClosure>on:do: >>>>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>> 0x1207bf830 s [] in BlockClosure>newProcess >>>>> >>>>> Cheers, >>>>> Andrei >>>>> >>>>> >>>>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>>>> >>>>> >>>> >>>> -- >>>> _,,,^..^,,,_ >>>> best, Eliot >>>> >>> >> >> -- >> _,,,^..^,,,_ >> best, Eliot >> >> >> _,,,^..^,,,_ (phone) >> >> >> > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.dickey at whidbey.com Sat Sep 26 15:18:36 2020 From: ken.dickey at whidbey.com (ken.dickey at whidbey.com) Date: Sat, 26 Sep 2020 08:18:36 -0700 Subject: [Vm-dev] Touch/MultiTouch Events Message-ID: <90a453f5ab86ec88d0a1e4a63182b0a7@whidbey.com> Hi Tim, Your info on pi-top touch display came after I had placed an order for a PinePhone. Note that Pine64 makes a PineTab for $200 with touch screen and keyboard: https://www.pine64.org/pinetab/ I have no experience with this, just noted the advert while looking at PinePhone specs. I am just playing with KDE-Plasma on Wayland on RPi4 Manjaro, looking to see API and how touch events get handled. My current thought, assuming we can get raw events and do gesture recognition in Smalltalk, is to put up an invisible morph on the screen when a touch event starts and use submorphs to show touch and give feedback (Chromebook Plus does this with circles for mouse & touch if you ask for it -- very handy). Anyway, back to playtime! Good on ya, -KenD From tim at rowledge.org Sat Sep 26 17:29:42 2020 From: tim at rowledge.org (tim Rowledge) Date: Sat, 26 Sep 2020 10:29:42 -0700 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: <90a453f5ab86ec88d0a1e4a63182b0a7@whidbey.com> References: <90a453f5ab86ec88d0a1e4a63182b0a7@whidbey.com> Message-ID: > On 2020-09-26, at 8:18 AM, ken.dickey at whidbey.com wrote: > > Your info on pi-top touch display came after I had placed an order for a PinePhone. > > Note that Pine64 makes a PineTab for $200 with touch screen and keyboard: > https://www.pine64.org/pinetab/ > Interesting, though disappointing to have a 720p display. Especially when their PineBook Pro is the same price with a HD display etc. > I have no experience with this, just noted the advert while looking at PinePhone specs. That's also an interesting device; with only 2GB ram I suspect that only sometihng as compact as Squeak will really run on it. Bit of a difference from an ancient IBM project I nearly got hired for where the worry was whether an entire 1MB ram was big enough for a Smalltalk. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Foolproof operation: All parameters are hard coded. From pbpublist at gmail.com Sat Sep 26 18:04:04 2020 From: pbpublist at gmail.com (Phil B) Date: Sat, 26 Sep 2020 14:04:04 -0400 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: References: <90a453f5ab86ec88d0a1e4a63182b0a7@whidbey.com> Message-ID: On Sat, Sep 26, 2020 at 1:29 PM tim Rowledge wrote: > > > > > On 2020-09-26, at 8:18 AM, ken.dickey at whidbey.com wrote: > > > > Your info on pi-top touch display came after I had placed an order for a > PinePhone. > > > > Note that Pine64 makes a PineTab for $200 with touch screen and keyboard: > > https://www.pine64.org/pinetab/ > > > > Interesting, though disappointing to have a 720p display. Especially when > their PineBook Pro is the same price with a HD display etc. > The lower resolution is a reasonable choice in terms of pairing with the A64 which is a fairly anemic SoC. The power envelope and price is why they went with it. On the laptop, they can get rid of the cell modem (and associated certification costs), some sensors etc. which gives them more money to put towards the SoC and display. It wouldn't surprise me if in a couple of years they come out with a Pinephone Pro which costs $300-400 to give them more room to play with higher end hardware. > > > I have no experience with this, just noted the advert while looking at > PinePhone specs. > > That's also an interesting device; with only 2GB ram I suspect that only > sometihng as compact as Squeak will really run on it. Bit of a difference > from an ancient IBM project I nearly got hired for where the worry was > whether an entire 1MB ram was big enough for a Smalltalk. > 2GB is plenty of RAM for a handful of running applications... just not a web browser with 50 open tabs. The majority of Debian packages (that don't have full desktop GL or GL ES 3 requirements) run on it including Gimp etc. Not terribly well, but they do run. Where Squeak is going to have problems is that it's only able to take advantage of a single core @ ~1.1GHz and the lack of JIT support. That's going to limit you far more than the RAM. One other not so surprising issue with Pine64 devices is the not great flash memory performance: ~80MB/s with eMMC, ~20MB/s with microSD. While it's not as bad as older Raspberry Pi devices (thanks to the eMMC), it's in the same class of performance. You'll feel this when loading things much more than you're likely to notice the 2GB of RAM. > > > tim > -- > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim > Foolproof operation: All parameters are hard coded. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ken.dickey at whidbey.com Sat Sep 26 19:47:07 2020 From: ken.dickey at whidbey.com (ken.dickey at whidbey.com) Date: Sat, 26 Sep 2020 12:47:07 -0700 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: References: <90a453f5ab86ec88d0a1e4a63182b0a7@whidbey.com> Message-ID: On 2020-09-26 10:29, tim Rowledge wrote: .. > That's also an interesting device; with only 2GB ram I suspect that > only sometihng as compact as Squeak will really run on it. Bit of a > difference from an ancient IBM project I nearly got hired for where > the worry was whether an entire 1MB ram was big enough for a > Smalltalk. My first computer was an Ithica InterSystems S-100 with 64k of RAM and one 8" floppy. Remember when floppy disk media really was floppy? [You can see their ad in the Byte St-80 issue] When I got an Amiga with 1MB ram, that was infinite. I believe it booted w realtime kernel and window system from 256K EPROM. I had WSWIG editing, music and animation tools. I ported a Scheme compiler (compiled to 68k native). 20MB hard disk. Going from floppy to 10 or 20MB hard drives changed the way we worked! The Apple Newton, my first ARM device, had a 1/2 MB of static ram (but 4MB of EPROM!). Remember Dr. Dobbs: "running lite without overbite"? Hey, one foot in front of another.. -KenD From stephan at stack.nl Sat Sep 26 20:34:58 2020 From: stephan at stack.nl (Stephan Eggermont) Date: Sat, 26 Sep 2020 22:34:58 +0200 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: References: Message-ID: There are large differences in touch displays. You’d probably want a capacitive one with 10 finger detection. Stephan Verstuurd vanaf mijn iPhone > Op 26 sep. 2020 om 04:35 heeft Eliot Miranda het volgende geschreven: > >  > Hi Tim, > >> On Fri, Sep 25, 2020 at 11:45 AM tim Rowledge wrote: >> >> Faintly on-topic and possibly interesting - >> >> pi-top are selling a ~12" 10-point HD touch screen for Raspberry Pi's/ Seems like a quite nice way to do your research into what a touch UI for Squeak might be. >> >> https://www.pi-top.com/products/display-keyboard > > Search on eBay and you'll find a large number of much cheaper unpackaged displays in all sorts of sizes. e.g. > > https://www.ebay.com/itm/12-1inch-Touch-Panel-USB-Controller-Card-Work-For-12-1-1024x768-4-3-LCD-Screen/372738505630?epid=1855428141&hash=item56c8f23b9e:g:TuIAAOSwfDtdU8Aa >> >> >> tim >> -- >> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim >> Strange OpCodes: PO: Punch Operator >> >> > > > -- > _,,,^..^,,,_ > best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Sat Sep 26 21:12:52 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sat, 26 Sep 2020 21:12:52 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2824.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2824.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2824 Author: eem Time: 26 September 2020, 2:12:42.907612 pm UUID: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Ancestors: VMMaker.oscog-eem.2823 Cog: Fix the crash when runnign tests in ImageSegmentTest>>#testContextsShouldBeWritableToaFile (see http://forum.world.st/corruption-of-PC-in-context-objects-or-not-tt5121662.html#none). In mapping a machine code pc, a code compaction may occur. In this case return through machine code is impossible without updating a C call stack return address, since the machine code method that invoked this primitive could have moved. So if this happens, map to an interpreter frame and return to the interpreter. Refactor CoInterpreter>>ceSendMustBeBooleanTo:interpretingAtDelta: to extract CoInterpreter>>convertToInterpreterFrame:, Have CoInterpreterPrimitives>>primitiveClone, primitiveInstVarAt, primitiveSlotAt monitor newMethod's header and return to the interpreter if it has changed, indicating that a reclamation affecting newMethod has occurred. In V3 make sure that newMethod is set in jitted shallowCopy, instvarAt, slotAt: (newMethod is assigned by default in Spur). Again the split JIT/CoInterpreter design comes to the rescue in fixing a very tricky issue, code moving underneath one. Being able to simply continue in the interpreter (impossible in e.g. HPS) means the solution is relatively straight-forward, and requires very little set-up. =============== Diff against VMMaker.oscog-eem.2823 =============== Item was changed: ----- Method: CoInterpreter>>ceSendMustBeBooleanTo:interpretingAtDelta: (in category 'trampolines') ----- ceSendMustBeBooleanTo: aNonBooleanObject interpretingAtDelta: jumpSize "For RegisterAllocatingCogit we want the pc following a conditional branch not to be reachable, so we don't have to generate code to reload registers. But notionally the pc following a conditional branch is reached when continuing from a mustBeBoolean error. Instead of supporting this in the JIT, simply convert to an interpreter frame, backup the pc to the branch, reenter the interpreter and hence retry the mustBeBoolean send therein. N.B. We could do this for immutability violations too, but immutability is used in actual applications and so should be performant, whereas mustBeBoolean errors are extremely rare and so we choose brevity over performance in this case." - | cogMethod methodObj methodHeader startBcpc | - - self assert: (objectMemory addressCouldBeOop: aNonBooleanObject). - cogMethod := self mframeCogMethod: framePointer. - ((self mframeIsBlockActivation: framePointer) - and: [cogMethod cmIsFullBlock not]) - ifTrue: - [methodHeader := (self cCoerceSimple: cogMethod cmHomeMethod to: #'CogMethod *') methodHeader. - methodObj := (self cCoerceSimple: cogMethod cmHomeMethod to: #'CogMethod *') methodObject. - startBcpc := cogMethod startpc] - ifFalse: - [methodHeader := (self cCoerceSimple: cogMethod to: #'CogMethod *') methodHeader. - methodObj := (self cCoerceSimple: cogMethod to: #'CogMethod *') methodObject. - startBcpc := self startPCOfMethod: methodObj]. - - "Map the machine code instructionPointer to the interpreter instructionPointer of the branch." instructionPointer := self popStack. + self convertToInterpreterFrame: jumpSize. - instructionPointer := cogit bytecodePCFor: instructionPointer startBcpc: startBcpc in: cogMethod. - instructionPointer := methodObj + objectMemory baseHeaderSize + instructionPointer - jumpSize - 1. "pre-decrement" - - "Make space for the two extra fields in an interpreter frame" - stackPointer to: framePointer + FoxMFReceiver by: objectMemory wordSize do: - [:p| | oop | - oop := objectMemory longAt: p. - objectMemory - longAt: p - objectMemory wordSize - objectMemory wordSize - put: (objectMemory longAt: p)]. - stackPointer := stackPointer - objectMemory wordSize - objectMemory wordSize. self push: aNonBooleanObject. - "Fill in the fields" - objectMemory - longAt: framePointer + FoxIFrameFlags - put: (self - encodeFrameFieldHasContext: (self mframeHasContext: framePointer) - isBlock: (self mframeIsBlockActivation: framePointer) - numArgs: cogMethod cmNumArgs); - longAt: framePointer + FoxIFSavedIP - put: 0; - longAt: framePointer + FoxMethod - put: methodObj. "and now reenter the interpreter..." - self setMethod: methodObj methodHeader: methodHeader. cogit ceInvokeInterpret. "NOTREACHED" ^nil! Item was added: + ----- Method: CoInterpreter>>convertToInterpreterFrame: (in category 'frame access') ----- + convertToInterpreterFrame: pcDelta + "Convert the top machine code frame to an interpeeter frame. Support for + mustBeBoolean in the RegisterAllocatingCogit and for cloneContext: in shallowCopy + when a code compaction is caused by machine code to bytecode pc mapping." + + | cogMethod methodHeader methodObj startBcpc | + + + + self assert: (self isMachineCodeFrame: framePointer). + + cogMethod := self mframeCogMethod: framePointer. + ((self mframeIsBlockActivation: framePointer) + and: [cogMethod cmIsFullBlock not]) + ifTrue: + [methodHeader := (self cCoerceSimple: cogMethod cmHomeMethod to: #'CogMethod *') methodHeader. + methodObj := (self cCoerceSimple: cogMethod cmHomeMethod to: #'CogMethod *') methodObject. + startBcpc := cogMethod startpc] + ifFalse: + [methodHeader := (self cCoerceSimple: cogMethod to: #'CogMethod *') methodHeader. + methodObj := (self cCoerceSimple: cogMethod to: #'CogMethod *') methodObject. + startBcpc := self startPCOfMethod: methodObj]. + + "Map the machine code instructionPointer to the interpreter instructionPointer of the branch." + instructionPointer := cogit bytecodePCFor: instructionPointer startBcpc: startBcpc in: cogMethod. + instructionPointer := methodObj + objectMemory baseHeaderSize + instructionPointer - pcDelta - 1. "pre-decrement" + self validInstructionPointer: instructionPointer inMethod: methodObj framePointer: framePointer. + + "Make space for the two extra fields in an interpreter frame" + stackPointer to: framePointer + FoxMFReceiver by: objectMemory wordSize do: + [:p| | oop | + oop := objectMemory longAt: p. + objectMemory + longAt: p - objectMemory wordSize - objectMemory wordSize + put: (objectMemory longAt: p)]. + stackPointer := stackPointer - objectMemory wordSize - objectMemory wordSize. + "Fill in the fields" + objectMemory + longAt: framePointer + FoxIFrameFlags + put: (self + encodeFrameFieldHasContext: (self mframeHasContext: framePointer) + isBlock: (self mframeIsBlockActivation: framePointer) + numArgs: cogMethod cmNumArgs); + longAt: framePointer + FoxIFSavedIP + put: instructionPointer; + longAt: framePointer + FoxMethod + put: methodObj. + + self setMethod: methodObj methodHeader: methodHeader! Item was changed: ----- Method: CoInterpreter>>primitivePropertyFlagsForV3: (in category 'cog jit support') ----- primitivePropertyFlagsForV3: primIndex "Answer any special requirements of the given primitive" | baseFlags | baseFlags := profileSemaphore ~= objectMemory nilObject ifTrue: [PrimCallNeedsNewMethod + PrimCallCollectsProfileSamples] ifFalse: [0]. longRunningPrimitiveCheckSemaphore ifNotNil: [baseFlags := baseFlags bitOr: PrimCallNeedsNewMethod]. - self cCode: [] inSmalltalk: [#(primitiveExternalCall primitiveCalloutToFFI)]. "For senders..." (self isCalloutPrimitiveIndex: primIndex) ifTrue: "For callbacks" [baseFlags := baseFlags bitOr: PrimCallNeedsNewMethod + PrimCallNeedsPrimitiveFunction + PrimCallMayCallBack]. + (self isCodeCompactingPrimitiveIndex: primIndex) ifTrue: + [baseFlags := baseFlags bitOr: PrimCallNeedsNewMethod]. ^baseFlags! Item was added: + ----- Method: CoInterpreterPrimitives>>cloneContext: (in category 'primitive support') ----- + cloneContext: aContext + "Copy a Context. There are complications here. + Fields of married contexts must be mapped to image-level values. + In mapping a machine code pc, a code compaction may occur. + In this case return through machine code is impossible without + updating a C call stack return address, since the machine code + method that invoked this primitive could have moved. So if this + happens, map to an interpreter frame and return to the interpreter." + | cloned couldBeCogMethod | + self assert: ((objectMemory isCompiledMethod: newMethod) + and: [(self primitiveIndexOf: newMethod) > 0]). + + couldBeCogMethod := objectMemory methodHeaderOf: newMethod. + cloned := super cloneContext: aContext. + + "If the header has changed in any way then it is most likely that machine code + has been moved or reclaimed for this method and so normal return is impossible." + couldBeCogMethod ~= (objectMemory methodHeaderOf: newMethod) ifTrue: + [self convertToInterpreterFrame: 0. + self push: cloned. + cogit ceInvokeInterpret + "NOTREACHED"]. + + ^cloned! Item was added: + ----- Method: CoInterpreterPrimitives>>primitiveInstVarAt (in category 'object access primitives') ----- + primitiveInstVarAt + "Override to deal with potential code compaction on accessing context pcs" + | index rcvr hdr fmt totalLength fixedFields value | + self assert: ((objectMemory isCompiledMethod: newMethod) + and: [(self primitiveIndexOf: newMethod) > 0]). + + index := self stackTop. + rcvr := self stackValue: 1. + ((objectMemory isNonIntegerObject: index) + or: [argumentCount > 1 "e.g. object:instVarAt:" + and: [objectMemory isOopForwarded: rcvr]]) ifTrue: + [^self primitiveFailFor: PrimErrBadArgument]. + (objectMemory isImmediate: rcvr) ifTrue: [^self primitiveFailFor: PrimErrInappropriate]. + index := objectMemory integerValueOf: index. + hdr := objectMemory baseHeader: rcvr. + fmt := objectMemory formatOfHeader: hdr. + totalLength := objectMemory lengthOf: rcvr baseHeader: hdr format: fmt. + fixedFields := objectMemory fixedFieldsOf: rcvr format: fmt length: totalLength. + (index >= 1 and: [index <= fixedFields]) ifFalse: + [^self primitiveFailFor: PrimErrBadIndex]. + (fmt = objectMemory indexablePointersFormat + and: [objectMemory isContextHeader: hdr]) + ifTrue: + [| methodHeader | + self externalWriteBackHeadFramePointers. + "Note newMethod's header to check for potential code compaction + in mapping the context's pc from machine code to bytecode." + index = InstructionPointerIndex ifTrue: + [methodHeader := objectMemory methodHeaderOf: newMethod]. + value := self externalInstVar: index - 1 ofContext: rcvr. + "If the header has changed in any way then it is most likely that machine code + has been moved or reclaimed for this method and so normal return is impossible." + (index = InstructionPointerIndex + and: [methodHeader ~= (objectMemory methodHeaderOf: newMethod)]) ifTrue: + [self pop: argumentCount + 1. + self convertToInterpreterFrame: 0. + self push: value. + cogit ceInvokeInterpret + "NOTREACHED"]] + ifFalse: [value := self subscript: rcvr with: index format: fmt]. + self pop: argumentCount + 1 thenPush: value! Item was added: + ----- Method: CoInterpreterPrimitives>>primitiveSlotAt (in category 'object access primitives') ----- + primitiveSlotAt + "Answer a slot in an object. This numbers all slots from 1, ignoring the distinction between + named and indexed inst vars. In objects with both named and indexed inst vars, the named + inst vars precede the indexed ones. In non-object indexed objects (objects that contain + bits, not object references) this primitive answers the raw integral value at each slot. + e.g. for Strings it answers the character code, not the Character object at each slot." + + "Override to deal with potential code compaction on accessing context pcs" + | index rcvr fmt numSlots | + self assert: ((objectMemory isCompiledMethod: newMethod) + and: [(self primitiveIndexOf: newMethod) > 0]). + + index := self stackTop. + rcvr := self stackValue: 1. + (objectMemory isIntegerObject: index) ifFalse: + [^self primitiveFailFor: PrimErrBadArgument]. + (objectMemory isImmediate: rcvr) ifTrue: + [^self primitiveFailFor: PrimErrBadReceiver]. + fmt := objectMemory formatOf: rcvr. + index := (objectMemory integerValueOf: index) - 1. + + fmt <= objectMemory lastPointerFormat ifTrue: + [numSlots := objectMemory numSlotsOf: rcvr. + (self asUnsigned: index) < numSlots ifTrue: + [| value numLiveSlots | + (objectMemory isContextNonImm: rcvr) + ifTrue: + [self externalWriteBackHeadFramePointers. + numLiveSlots := (self stackPointerForMaybeMarriedContext: rcvr) + CtxtTempFrameStart. + (self asUnsigned: index) < numLiveSlots + ifTrue: + [| methodHeader | + "Note newMethod's header to check for potential code compaction + in mapping the context's pc from machine code to bytecode." + index = InstructionPointerIndex ifTrue: + [methodHeader := objectMemory methodHeaderOf: newMethod]. + value := self externalInstVar: index ofContext: rcvr. + "If the header has changed in any way then it is most likely that machine code + has been moved or reclaimed for this method and so normal return is impossible." + (index = InstructionPointerIndex + and: [methodHeader ~= (objectMemory methodHeaderOf: newMethod)]) ifTrue: + [self pop: argumentCount + 1. + self convertToInterpreterFrame: 0. + self push: value. + cogit ceInvokeInterpret + "NOTREACHED"]] + ifFalse: [value := objectMemory nilObject]] + ifFalse: + [value := objectMemory fetchPointer: index ofObject: rcvr]. + self pop: argumentCount + 1 thenPush: value. + ^0]. + ^self primitiveFailFor: PrimErrBadIndex]. + + fmt >= objectMemory firstByteFormat ifTrue: + [fmt >= objectMemory firstCompiledMethodFormat ifTrue: + [^self primitiveFailFor: PrimErrUnsupported]. + numSlots := objectMemory numBytesOfBytes: rcvr. + (self asUnsigned: index) < numSlots ifTrue: + [self pop: argumentCount + 1 thenPushInteger: (objectMemory fetchByte: index ofObject: rcvr). + ^0]. + ^self primitiveFailFor: PrimErrBadIndex]. + + (objectMemory hasSpurMemoryManagerAPI + and: [fmt >= objectMemory firstShortFormat]) ifTrue: + [numSlots := objectMemory num16BitUnitsOf: rcvr. + (self asUnsigned: index) < numSlots ifTrue: + [self pop: argumentCount + 1 thenPushInteger: (objectMemory fetchUnsignedShort16: index ofObject: rcvr). + ^0]. + ^self primitiveFailFor: PrimErrBadIndex]. + + fmt = objectMemory sixtyFourBitIndexableFormat ifTrue: + [numSlots := objectMemory num64BitUnitsOf: rcvr. + (self asUnsigned: index) < numSlots ifTrue: + [self pop: argumentCount + 1 + thenPush: (self positive64BitIntegerFor: (objectMemory fetchLong64: index ofObject: rcvr)). + ^0]. + ^self primitiveFailFor: PrimErrBadIndex]. + + fmt >= objectMemory firstLongFormat ifTrue: + [numSlots := objectMemory num32BitUnitsOf: rcvr. + (self asUnsigned: index) < numSlots ifTrue: + [self pop: argumentCount + 1 + thenPush: (self positive32BitIntegerFor: (objectMemory fetchLong32: index ofObject: rcvr)). + ^0]. + ^self primitiveFailFor: PrimErrBadIndex]. + + ^self primitiveFailFor: PrimErrBadReceiver! Item was changed: ----- Method: CogVMSimulator class>>initialize (in category 'class initialization') ----- initialize "These are primitives that alter the state of the stack. They are here simply for assert checking. After invocation the Cogit should not check for the expected stack delta when these primitives succeed, because the stack will usually have been modified." StackAlteringPrimitives := #( primitiveClosureValue primitiveClosureValueWithArgs primitiveClosureValueNoContextSwitch + primitiveClone primitiveInstVarAt primitiveSlotAt "because these can cause code compactions..." primitiveEnterCriticalSection primitiveExitCriticalSection primitiveFullClosureValue primitiveFullClosureValueWithArgs primitiveFullClosureValueNoContextSwitch primitiveSignal primitiveWait primitiveResume primitiveSuspend primitiveYield primitiveExecuteMethodArgsArray primitiveExecuteMethod primitivePerform primitivePerformWithArgs primitivePerformInSuperclass primitiveTerminateTo primitiveStoreStackp primitiveDoPrimitiveWithArgs) asIdentitySet! Item was changed: InterpreterPrimitives subclass: #StackInterpreter (excessive size, no diff calculated) Item was changed: ----- Method: StackInterpreter class>>initializePrimitiveTable (in category 'initialization') ----- (excessive size, no diff calculated) Item was added: + ----- Method: StackInterpreter>>isCodeCompactingPrimitiveIndex: (in category 'primitive support') ----- + isCodeCompactingPrimitiveIndex: primIndex + "If instVarAt:, slotAt: or shallowCopy operate on a Context then they compute a + bytecode pc and hence may provoke a code compaction. If so, they *cannot* + return through the potentially moved method and so continue in the interpreter." + + self cCode: [] inSmalltalk: [#primitiveClone primitiveInstVarAt primitiveSlotAt]. "For senders..." + ^primIndex = PrimNumberInstVarAt + or: [primIndex = PrimNumberShallowCopy + or: [primIndex = PrimNumberSlotAt]]! From noreply at github.com Sat Sep 26 21:23:55 2020 From: noreply at github.com (Eliot Miranda) Date: Sat, 26 Sep 2020 14:23:55 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 561b06: CogVM source as per VMMaker.oscog-eem.2824 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 561b06530bbaed5f19e9d7f077a7df9eb3a8d236 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/561b06530bbaed5f19e9d7f077a7df9eb3a8d236 Author: Eliot Miranda Date: 2020-09-26 (Sat, 26 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cogitARMv8.c M nsspur64src/vm/cogitX64SysV.c M nsspur64src/vm/cogitX64WIN64.c M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cogitARMv5.c M nsspursrc/vm/cogitIA32.c M nsspursrc/vm/cogitMIPSEL.c M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M spur64src/vm/cogit.h M spur64src/vm/cogitARMv8.c M spur64src/vm/cogitX64SysV.c M spur64src/vm/cogitX64WIN64.c M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cogitARMv8.c M spurlowcode64src/vm/cogitX64SysV.c M spurlowcode64src/vm/cogitX64WIN64.c M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cogitARMv5.c M spurlowcodesrc/vm/cogitIA32.c M spurlowcodesrc/vm/cogitMIPSEL.c M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cogitARMv8.c M spursista64src/vm/cogitX64SysV.c M spursista64src/vm/cogitX64WIN64.c M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cogitARMv5.c M spursistasrc/vm/cogitIA32.c M spursistasrc/vm/cogitMIPSEL.c M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cogitARMv5.c M spursrc/vm/cogitIA32.c M spursrc/vm/cogitMIPSEL.c M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cogitARMv5.c M src/vm/cogitIA32.c M src/vm/cogitMIPSEL.c M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2824 Cog: Fix the crash when running tests in ImageSegmentTest>>#testContextsShouldBeWritableToaFile (see http://forum.world.st/corruption-of-PC-in-context-objects-or-not-tt5121662.html#none). In mapping a machine code pc, a code compaction may occur. In this case return through machine code is impossible without updating a C call stack return address, since the machine code method that invoked this primitive could have moved. So if this happens, map to an interpreter frame and return to the interpreter. Refactor CoInterpreter>>ceSendMustBeBooleanTo:interpretingAtDelta: to extract CoInterpreter>>convertToInterpreterFrame:, Have CoInterpreterPrimitives>> primitiveClone, primitiveInstVarAt, primitiveSlotAt monitor newMethod's header and return to the interpreter if it has changed, indicating that a reclamation affecting newMethod has occurred. In V3 make sure that newMethod is set in jitted shallowCopy, instvarAt, slotAt: (newMethod is assigned by default in Spur). Again the split JIT/CoInterpreter design comes to the rescue in fixing a very tricky issue, code moving underneath one. Being able to simply continue in the interpreter (impossible in e.g. HPS) means the solution is relatively straight-forward, and requires very little set-up. From eliot.miranda at gmail.com Sat Sep 26 21:24:43 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Sat, 26 Sep 2020 14:24:43 -0700 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: Hi Andrei, fixed in commit 561b06530bbaed5f19e9d7f077a7df9eb3a8d236, VMMaker.oscog-eem.2824 On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis wrote: > > Hi, > > We are getting often crashes on our CI when calling `Context>copyTo:` in a > GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm. > > To sum up during `Context>copyTo:`, `Object>>#copy` is called on a > context leading to a segmentation fault crash. Looking at that context in > lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. > > (lldb) call (void *) printOop(0x1206b6990) > 0x1206b6990: a(n) Context > 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 > 0x1206b6b28 0x1206b6b50 > > > Can this indicate some corruption or is it expected to have such values? > `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles > negative values for the pc which suggests that this might be expected. > > Changing `Context>copyTo:` by adding a `self pc` before calling `self > copy` leads to no more crashes. Not sure if there is a reason for that or > just plain luck. > > A simple reduced stack is below (more details in this issue [1]). The > crash happens always with contexts reified as objects (in this case > 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). > Could this suggest some kind of issue in the vm when reifying contexts, or > just some other problem with memory corruption? > > > 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context > 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context > 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context > ... > 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context > 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context > 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator > 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure > 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context > 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context > 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context > 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB > 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator > ... > 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class > 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set > 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array > 0x1206b5b98 s Set>collect: > 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: > 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages > 0x1206b6a48 s BlockClosure>ensure: > 0x1206b6b68 s UIManager class>nonInteractiveDuring: > 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages > 0x1206b6d98 s GtExamplesCommandLineHandler>activate > 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: > 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x1207e6620 s BlockClosure>on:do: > 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand > 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: > 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x1207a83e0 s BlockClosure>on:do: > 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x1207bf830 s [] in BlockClosure>newProcess > > Cheers, > Andrei > > > [1] https://github.com/feenkcom/gtoolkit/issues/1440 > > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sat Sep 26 21:36:53 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sat, 26 Sep 2020 21:36:53 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2210 Message-ID: <20200926213653.1.B9199724869E4A10@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sat Sep 26 21:42:39 2020 From: builds at travis-ci.org (Travis CI) Date: Sat, 26 Sep 2020 21:42:39 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2210 (Cog - 561b065) In-Reply-To: Message-ID: <5f6fb5cecebb0_13f7f28fe1ba495630@travis-tasks-5975549cf-4wh6d.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2210 Status: Errored Duration: 18 mins and 17 secs Commit: 561b065 (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2824 Cog: Fix the crash when running tests in ImageSegmentTest>>#testContextsShouldBeWritableToaFile (see http://forum.world.st/corruption-of-PC-in-context-objects-or-not-tt5121662.html#none). In mapping a machine code pc, a code compaction may occur. In this case return through machine code is impossible without updating a C call stack return address, since the machine code method that invoked this primitive could have moved. So if this happens, map to an interpreter frame and return to the interpreter. Refactor CoInterpreter>>ceSendMustBeBooleanTo:interpretingAtDelta: to extract CoInterpreter>>convertToInterpreterFrame:, Have CoInterpreterPrimitives>> primitiveClone, primitiveInstVarAt, primitiveSlotAt monitor newMethod's header and return to the interpreter if it has changed, indicating that a reclamation affecting newMethod has occurred. In V3 make sure that newMethod is set in jitted shallowCopy, instvarAt, slotAt: (newMethod is assigned by default in Spur). Again the split JIT/CoInterpreter design comes to the rescue in fixing a very tricky issue, code moving underneath one. Being able to simply continue in the interpreter (impossible in e.g. HPS) means the solution is relatively straight-forward, and requires very little set-up. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/a1e4d7b6065b...561b06530bba View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730579245?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rowledge.org Sat Sep 26 22:02:28 2020 From: tim at rowledge.org (tim Rowledge) Date: Sat, 26 Sep 2020 15:02:28 -0700 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: References: Message-ID: <5A7375A7-E78A-4120-8571-CB780E0DE0BA@rowledge.org> > On 2020-09-26, at 1:34 PM, Stephan Eggermont wrote: > > There are large differences in touch displays. You’d probably want a capacitive one with 10 finger detection. True; apparently the pi-top one claims that. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Strange OpCodes: RSC: Rewind System Clock From commits at source.squeak.org Sat Sep 26 22:07:10 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sat, 26 Sep 2020 22:07:10 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2825.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2825.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2825 Author: eem Time: 26 September 2020, 3:07:01.119921 pm UUID: f2473bb9-cc41-42fc-879b-7b06e8de7de7 Ancestors: VMMaker.oscog-eem.2824 Fripperies. Add comments to those AbstractInstruction classes in-use not previously commented. Make the multi-window browser opening utilities more helpful/complete/accurate. =============== Diff against VMMaker.oscog-eem.2824 =============== Item was changed: CogARMCompiler subclass: #CogInLineLiteralsARMCompiler instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'VMMaker-JIT'! + + !CogInLineLiteralsARMCompiler commentStamp: 'eem 9/26/2020 15:02' prior: 0! + A CogInLineLiteralsARMCompiler is the concrete subclass of CogARMCompiler that stores literals in-line in machine-code. This code generator is not used. + + Instance Variables! Item was changed: CogX64Compiler subclass: #CogInLineLiteralsX64Compiler instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'VMMaker-JIT'! + + !CogInLineLiteralsX64Compiler commentStamp: 'eem 9/26/2020 15:02' prior: 0! + A CogInLineLiteralsX64Compiler is the concrete subclass of CogX64Compiler that stores literals in-line in machine-code. This is the production code generator for x64/x86-64. + + Instance Variables! Item was changed: CogARMCompiler subclass: #CogOutOfLineLiteralsARMCompiler instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'VMMaker-JIT'! + + !CogOutOfLineLiteralsARMCompiler commentStamp: 'eem 9/26/2020 15:03' prior: 0! + CogOutOfLineLiteralsARMCompiler is the concrete subclass of CogARMCompiler that stores literals out-of-line, accessed via pc-relative addressing. This is the production code generator for 32-bit ARM. + + Instance Variables + ! Item was changed: CogX64Compiler subclass: #CogOutOfLineLiteralsX64Compiler instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'VMMaker-JIT'! + + !CogOutOfLineLiteralsX64Compiler commentStamp: 'eem 9/26/2020 14:58' prior: 0! + A CogOutOfLineLiteralsX64Compiler is the concrete subclass of CogX64Compiler that stores literals out-of-line, accessed via pc-relative addressing. This code generator is not used. + + Instance Variables! Item was changed: ----- Method: VMClass class>>initialize (in category 'initialization') ----- initialize InitializationOptions ifNil: [InitializationOptions := Dictionary new]. ExpensiveAsserts := false. (Smalltalk classNamed: #Utilities) ifNotNil: [:utilitiesClass| (utilitiesClass classPool at: #CommonRequestStrings ifAbsent: []) ifNotNil: [:commonRequestStringHolder| (commonRequestStringHolder contents asString includesSubstring: 'VMClass open') ifFalse: + [Utilities appendToCommonRequests: '-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMMaker generateAllSpurConfigurations\VMClass openCogSpurMultiWindowBrowser\VMClass openCogV3MultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser\VMClass openSpurMultiWindowBrowser\VMClass openCogitMultiWindowBrowser' withCRs]]]! - [Utilities appendToCommonRequests: '-\VMMaker generateConfiguration\VMMaker generateAllConfigurationsUnderVersionControl\VMMaker generateAllSpurConfigurations\VMClass openCogMultiWindowBrowser\VMClass openObjectMemoriesInterpretersBrowser\VMClass openSpurMultiWindowBrowser\VMClass openCogSpurMultiWindowBrowser\VMClass openCogitMultiWindowBrowser' withCRs]]]! Item was removed: - ----- Method: VMClass class>>openCogMultiWindowBrowser (in category 'utilities') ----- - openCogMultiWindowBrowser - "Answer a new multi-window browser on the ObjectMemory classes, the Cog Interpreter classes, and the main JIT classes" - | b | - b := Browser open. - #( ObjectMemory NewObjectMemory NewCoObjectMemory - InterpreterPrimitives StackInterpreter StackInterpreterPrimitives CoInterpreter CoInterpreterPrimitives CoInterpreterMT - Cogit SimpleStackBasedCogit StackToRegisterMappingCogit - VMStructType VMMaker CCodeGenerator TMethod) - do: [:className| - (Smalltalk classNamed: className) ifNotNil: - [:class| b selectCategoryForClass: class; selectClass: class]] - separatedBy: - [b multiWindowState addNewWindow]. - b multiWindowState selectWindowIndex: 1! Item was changed: ----- Method: VMClass class>>openCogSpurMultiWindowBrowser (in category 'utilities') ----- openCogSpurMultiWindowBrowser + "Answer a new multi-window browser on the SpurMemoryManager classes, the Cog Interpreter classes, and the main JIT classes" - "Answer a new multi-window browser on the ObjectMemory classes, the Cog Interpreter classes, and the main JIT classes" | b | b := Browser open. #( SpurMemoryManager Spur32BitMemoryManager Spur32BitCoMemoryManager Spur64BitMemoryManager Spur64BitCoMemoryManager SpurGenerationScavenger InterpreterPrimitives StackInterpreter StackInterpreterPrimitives CoInterpreter CoInterpreterPrimitives CoInterpreterMT + Cogit SimpleStackBasedCogit StackToRegisterMappingCogit RegisterAllocatingCogit - Cogit SimpleStackBasedCogit StackToRegisterMappingCogit CogObjectRepresentation CogObjectRepresentationForSpur CogObjectRepresentationFor32BitSpur CogObjectRepresentationFor64BitSpur + CogRTLOpcodes CogAbstractRegisters CogAbstractInstruction), + (self sortedAbstractInstructionClasses collect: [:class| class name]), + #(VMStructType VMMaker CCodeGenerator TMethod) + do: [:classOrClassName| + (Smalltalk classNamed: classOrClassName) ifNotNil: - VMStructType VMMaker CCodeGenerator TMethod) - do: [:className| - (Smalltalk classNamed: className) ifNotNil: [:class| b selectCategoryForClass: class; selectClass: class]] separatedBy: [b multiWindowState addNewWindow]. b multiWindowState selectWindowIndex: 1! Item was added: + ----- Method: VMClass class>>openCogV3MultiWindowBrowser (in category 'utilities') ----- + openCogV3MultiWindowBrowser + "Answer a new multi-window browser on the ObjectMemory classes, the Cog Interpreter classes, and the main JIT classes" + | b | + b := Browser open. + #( ObjectMemory NewObjectMemory NewCoObjectMemory + InterpreterPrimitives StackInterpreter StackInterpreterPrimitives CoInterpreter CoInterpreterPrimitives CoInterpreterMT + Cogit SimpleStackBasedCogit StackToRegisterMappingCogit + VMStructType VMMaker CCodeGenerator TMethod) + do: [:className| + (Smalltalk classNamed: className) ifNotNil: + [:class| b selectCategoryForClass: class; selectClass: class]] + separatedBy: + [b multiWindowState addNewWindow]. + b multiWindowState selectWindowIndex: 1! Item was changed: ----- Method: VMClass class>>openCogitMultiWindowBrowser (in category 'utilities') ----- openCogitMultiWindowBrowser "Answer a new multi-window browser on the ObjectMemory classes, the Cog Interpreter classes, and the main JIT classes" "self openCogitMultiWindowBrowser" | b | b := Browser open. {CogRTLOpcodes. CogAbstractRegisters }, + self sortedAbstractInstructionClasses, - (CogAbstractInstruction withAllSubclasses reject: [:c| c name endsWith: 'Tests']), Cogit withAllSubclasses, {CogMethodZone }, CogObjectRepresentation withAllSubclasses, - (CogAbstractInstruction withAllSubclasses reject: [:c| c name endsWith: 'Tests']), CogBytecodeFixup withAllSubclasses, CogSimStackEntry withAllSubclasses, {VMStructType. VMMaker. CCodeGenerator. TMethod} do: [:class| b selectCategoryForClass: class; selectClass: class] separatedBy: [b multiWindowState addNewWindow]. b multiWindowState selectWindowIndex: 1! Item was added: + ----- Method: VMClass class>>sortedAbstractInstructionClasses (in category 'utilities') ----- + sortedAbstractInstructionClasses + "Answer the in-use processor classes in a rational order." + ^((CogAbstractInstruction subclasses sort: [:ca :cb| ca ISA <= cb ISA]) + collect: [:class| class = class defaultCompilerClass ifTrue: [{class}] ifFalse: [{class. class defaultCompilerClass}]]) fold: [:a :b| a, b]! From tim at rowledge.org Sat Sep 26 22:20:10 2020 From: tim at rowledge.org (tim Rowledge) Date: Sat, 26 Sep 2020 15:20:10 -0700 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: References: <90a453f5ab86ec88d0a1e4a63182b0a7@whidbey.com> Message-ID: > On 2020-09-26, at 11:04 AM, Phil B wrote: > [snips] > > 2GB is plenty of RAM for a handful of running applications... just not a web browser with 50 open tabs. The majority of Debian packages (that don't have full desktop GL or GL ES 3 requirements) run on it including Gimp etc. Not terribly well, but they do run. I've been running most of my work on assorted Pi with 1Gb or less for ... however long it is that Pi have been around, so yes, I understand that. And the browser thing is just another indication of utterly the WWW infrastructure has been screwed up. We'd be a lot better off if Squeak were the in-browser language. > > Where Squeak is going to have problems is that it's only able to take advantage of a single core @ ~1.1GHz and the lack of JIT support. Err, what lack of jit support would that be? ARM32 has been Cog'd for a long time now (coming up on 6 years I think) and ARM64 is working well, though is not totally finished in some part of the FFI stuff IIRC. My Pi4 (running 32 bit Raspbian) benchmarks at around 35% of my 4.3GHz/i7 iMac. I'm not expecting a huge increase when I flip to AARCH64 but there will likely be some. And multi-core? Well yes I suppose. Except that one can very easily spawn multiple running images using Dave Lewis' OSProcess package, including in ways that do some work and return the results.The spawning takes very little time; for example on said Pi4 it takes 39mS to do UnixProcess forkHeadlessSqueakAndDoThenQuit: [UnixProcess helloWorld] I suspect we could do very useful things with that. > > One other not so surprising issue with Pine64 devices is the not great flash memory performance: ~80MB/s with eMMC, ~20MB/s with microSD. While it's not as bad as older Raspberry Pi devices (thanks to the eMMC), it's in the same class of performance. You'll feel this when loading things much more than you're likely to notice the 2GB of RAM. On my Pi4 again, loading a fresh Squeak trunk image takes ~1-2 sec. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Useful random insult:- His mind wandered and never came back. From pbpublist at gmail.com Sat Sep 26 23:35:39 2020 From: pbpublist at gmail.com (Phil B) Date: Sat, 26 Sep 2020 19:35:39 -0400 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: References: <90a453f5ab86ec88d0a1e4a63182b0a7@whidbey.com> Message-ID: Tim, On Sat, Sep 26, 2020 at 6:20 PM tim Rowledge wrote: > > > > > On 2020-09-26, at 11:04 AM, Phil B wrote: > > [snips] > > > > 2GB is plenty of RAM for a handful of running applications... just not a > web browser with 50 open tabs. The majority of Debian packages (that don't > have full desktop GL or GL ES 3 requirements) run on it including Gimp etc. > Not terribly well, but they do run. > > I've been running most of my work on assorted Pi with 1Gb or less for ... > however long it is that Pi have been around, so yes, I understand that. And > the browser thing is just another indication of utterly the WWW > infrastructure has been screwed up. We'd be a lot better off if Squeak were > the in-browser language. > I was just using that as an example of the kind of desktop task one wouldn't want to try on a low-powered device even though the software is mostly technically there. Yes, I know the RPi is similarly mostly there (to a degree). The difference is that on other devices where we're running things like Mobian, they use the actual Debian (or whatever base distro you're using) ARM repos which have advantages in terms of package selection. > > > > > Where Squeak is going to have problems is that it's only able to take > advantage of a single core @ ~1.1GHz and the lack of JIT support. > > > Err, what lack of jit support would that be? ARM32 has been Cog'd for a > long time now (coming up on 6 years I think) and ARM64 is working well, > though is not totally finished in some part of the FFI stuff IIRC. > Most (all?) current Pinephone distros run ARM64. Given the previously mentioned anemic storage performance and already taxed SoC, throwing multi-arch into the mix to run ARM32 code (especially just for Squeak) wouldn't be a good experience. Isn't the current state of Cog on ARM64 DIY with major caveats such as FFI? (which doesn't help me as I'm very dependent on FFI) > My Pi4 (running 32 bit Raspbian) benchmarks at around 35% of my 4.3GHz/i7 > iMac. I'm not expecting a huge increase when I flip to AARCH64 but there > will likely be some. > Your Pi 4 relative performance isn't relevant for current Linux mobile devices. The power and thermal envelopes of the Pi 4 don't fit that use case. Realistically, most mobile SoC's that can be used on a remotely open device today are going to have significantly less performance. The A64 is at the lower end of the range and it is what it is. The motivation for going to AARCH64 is primarily to avoid multi-arch rather than any significant performance boost inherent in 64-bit. > > And multi-core? Well yes I suppose. Except that one can very easily spawn > multiple running images using Dave Lewis' OSProcess package, including in > ways that do some work and return the results.The spawning takes very > little time; for example on said Pi4 it takes 39mS to do > UnixProcess forkHeadlessSqueakAndDoThenQuit: [UnixProcess helloWorld] > I suspect we could do very useful things with that. > OSProcess helps (to a degree) only where you have coarse-grained parallelism needs and/or latency isn't an issue. > > > > One other not so surprising issue with Pine64 devices is the not great > flash memory performance: ~80MB/s with eMMC, ~20MB/s with microSD. While > it's not as bad as older Raspberry Pi devices (thanks to the eMMC), it's in > the same class of performance. You'll feel this when loading things much > more than you're likely to notice the 2GB of RAM. > > On my Pi4 again, loading a fresh Squeak trunk image takes ~1-2 sec. > Again, apples and oranges and not terribly apropos when running on currently available, reasonably open, mobile devices. Sure, eventually devices based on bargain basement sub-10nm SoCs will appear. But in the meantime (i.e. next several years), we have what we have. > > > tim > -- > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim > Useful random insult:- His mind wandered and never came back. > > > Thanks, Phil -------------- next part -------------- An HTML attachment was scrubbed... URL: From lewis at mail.msen.com Sun Sep 27 00:06:04 2020 From: lewis at mail.msen.com (David T. Lewis) Date: Sat, 26 Sep 2020 20:06:04 -0400 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: References: <90a453f5ab86ec88d0a1e4a63182b0a7@whidbey.com> Message-ID: <20200927000604.GA27742@shell.msen.com> On Sat, Sep 26, 2020 at 03:20:10PM -0700, tim Rowledge wrote: > > And multi-core? Well yes I suppose. Except that one can very easily spawn multiple running images using Dave Lewis' OSProcess package, including in ways that do some work and return the results.The spawning takes very little time; for example on said Pi4 it takes 39mS to do > UnixProcess forkHeadlessSqueakAndDoThenQuit: [UnixProcess helloWorld] Or the somewhat more interesting example: RemoteTask do: [3 + 4] ==> 7 which completes in on the order of 10ms on my PC, and hopefully not too much worse on Pi4. The [3 + 4] block is evaluated in a spawned image with results returned to the parent image. Dave From tim at rowledge.org Sun Sep 27 00:44:40 2020 From: tim at rowledge.org (tim Rowledge) Date: Sat, 26 Sep 2020 17:44:40 -0700 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: References: <90a453f5ab86ec88d0a1e4a63182b0a7@whidbey.com> Message-ID: <21FAE4C7-B137-4C8F-8A02-C9781599DB21@rowledge.org> > On 2020-09-26, at 4:35 PM, Phil B wrote: > > Yes, I know the RPi is similarly mostly there (to a degree). The difference is that on other devices where we're running things like Mobian, they use the actual Debian (or whatever base distro you're using) ARM repos which have advantages in terms of package selection. Raspbian is simply a repackaged Debian ARM, with some extra stuff (like my NuScratch development) and a less-awful UI setup than most distros. All the Debian ARM repos are available and (barring maybe some odd things?) all will work. > Most (all?) current Pinephone distros run ARM64. Given the previously mentioned anemic storage performance and already taxed SoC, throwing multi-arch into the mix to run ARM32 code (especially just for Squeak) wouldn't be a good experience. I'm not sure where you picked up the idea I was suggesting any such thing, 'cos I'm fairly sure I didn't. Currently quite a few people are playing with ARM64 kernels and 64/32 mixed userspace on Pi's, as well as several entirely AARCH64 systems. Eliot & Ken have both been using Manjaro quite a lot, for example. I always feel a bit puzzled when a modern ARM system is treated like some sort of toy; they're the sort of machine we didn't even know to fantasize about not so very long ago. My Pi 4 runs Smalltalk somewhere around 100,000 times as fast as my original ARM1 development machine (which I still have) did in 1986. > Isn't the current state of Cog on ARM64 DIY with major caveats such as FFI? (which doesn't help me as I'm very dependent on FFI) If you're in need of FFI a lot then maybe it isn't ready for you just yet. I think the remaining problem is some float structure returning complications. > > Realistically, most mobile SoC's that can be used on a remotely open device today are going to have significantly less performance. Well that's a problem for other makers to get off their butts and fix. It's not like the Pi is based on some exotic special core; merely a quad core A72, which has been available for some time now in SnapDragons, NXP, Jacinto, etc. And the Pi version is on ancient an 28nm process, whereas A72 is available for 16nm and considerably faster clock speeds. Numerous tablets and phones use those. Now the Apple A14 is definitely special and I'm really looking forward to using that. My expectation is somewhat better performance than typical i7 and maybe attacking i9 intel things. But we've got a lng way from worrying about touch events, so... tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Useful random insult:- Cackles a lot, but I ain't seen no eggs yet. From tim at rowledge.org Sun Sep 27 02:37:21 2020 From: tim at rowledge.org (tim Rowledge) Date: Sat, 26 Sep 2020 19:37:21 -0700 Subject: [Vm-dev] Touch/MultiTouch Events In-Reply-To: <21FAE4C7-B137-4C8F-8A02-C9781599DB21@rowledge.org> References: <90a453f5ab86ec88d0a1e4a63182b0a7@whidbey.com> <21FAE4C7-B137-4C8F-8A02-C9781599DB21@rowledge.org> Message-ID: <81DA0AFE-4568-43C3-A5A3-468B29D0FA7D@rowledge.org> > On 2020-09-26, at 5:44 PM, tim Rowledge wrote: > > But we've got a lng way from worrying about touch events, so... I should probably point out that I have experience of Smalltalk on ARM mobile devices - and touch screens - with half a dozen product/projects back to 1987 and the Active Book (https://www.microsoft.com/buxtoncollection/detail.aspx?id=158&from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fum%2Fpeople%2Fbibuxton%2Fbuxtoncollection%2Fdetail.aspx%3Fid%3D158) Along with MediaPad (1996-9), DEC/Compaq, Alan's HP tablet project (2003-ish?) and a couple of more minor efforts. They're all existence proofs that Smalltalk on even very slow/small ARMs (the Active Book was an 8MHx ARM2as with 1MB ram *including* the screen buffer & filing system) can work really well. The current software world expectations of multi-core multi-GHz, multi-GB of 64 bit, hardware floating point, huge caches, etc, etc just show how lazy people have become. tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Programmers do it bit by bit. From commits at source.squeak.org Sun Sep 27 02:40:33 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sun, 27 Sep 2020 02:40:33 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2826.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2826.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2826 Author: eem Time: 26 September 2020, 7:40:24.668927 pm UUID: 0dd1c326-6391-497c-896b-b605178640de Ancestors: VMMaker.oscog-eem.2825 InterpreterPlugins: Reduce the duplication of the Alien decoding functions. Provide isAlien: =============== Diff against VMMaker.oscog-eem.2825 =============== Item was changed: ----- Method: IA32ABIPlugin>>primSizeField (in category 'primitives-accessing') ----- primSizeField "Answer the signed 32- or 64-bit integer comprising the size field (the first 32- or 64-bit field)." " primSizeField ^ " + | rcvr valueOop | - | rcvr value valueOop | rcvr := interpreterProxy stackValue: 0. + valueOop := interpreterProxy wordSize = 8 + ifTrue: [interpreterProxy signed64BitIntegerFor: (self longAt: rcvr + interpreterProxy baseHeaderSize) signedIntFromLong64] + ifFalse: [interpreterProxy signed32BitIntegerFor:(self longAt: rcvr + interpreterProxy baseHeaderSize) signedIntFromLong]. - value := self cppIf: interpreterProxy bytesPerOop = 8 - ifTrue: [(self longAt: rcvr + interpreterProxy baseHeaderSize) signedIntFromLong64] - ifFalse: [(self longAt: rcvr + interpreterProxy baseHeaderSize) signedIntFromLong]. - valueOop := self signedMachineIntegerFor: value. ^interpreterProxy methodReturnValue: valueOop! Item was removed: - ----- Method: IA32ABIPlugin>>sizeField: (in category 'private-support') ----- - sizeField: rcvr - "Answer the first field of rcvr which is assumed to be an Alien of at least 8 bytes" - - ^self longAt: rcvr + interpreterProxy baseHeaderSize! Item was removed: - ----- Method: IA32ABIPlugin>>startOfData: (in category 'private-support') ----- - startOfData: rcvr " ^" - "Answer the start of rcvr's data. For direct aliens this is the address of - the second field. For indirect and pointer aliens it is what the second field points to." - - ^(self sizeField: rcvr) > 0 - ifTrue: [rcvr + interpreterProxy baseHeaderSize + interpreterProxy bytesPerOop] - ifFalse: [self longAt: rcvr + interpreterProxy baseHeaderSize + interpreterProxy bytesPerOop]! Item was added: + ----- Method: InterpreterPlugin>>isAlien: (in category 'alien support') ----- + isAlien: oop + "Answer if oop is an Alien. We could ask if isWordsOrBytes: first, but that doesn't help. We still have to do the is:KindOf: walk. + We're not interested in fast falsehood, but as fast as possible truth, and with the current API this is it." + + ^interpreterProxy is: oop KindOf: interpreterProxy classAlien! Item was added: + ----- Method: InterpreterPlugin>>sizeField: (in category 'alien support') ----- + sizeField: alienOop + "Answer the size field of an alienOop which is assumed to be an Alien of at least 8 bytes (32-bits) or 16 bytes (64 bits)" + + ^self longAt: alienOop + interpreterProxy baseHeaderSize! Item was added: + ----- Method: InterpreterPlugin>>startOfData: (in category 'alien support') ----- + startOfData: alienOop + "Answer the start of an Alien's data. For direct aliens this is the address of the second field. + For indirect and pointer aliens it is what the second field points to." + ^(self sizeField: alienOop) > 0 + ifTrue: [alienOop + interpreterProxy baseHeaderSize + interpreterProxy bytesPerOop] + ifFalse: [self longAt: alienOop + interpreterProxy baseHeaderSize + interpreterProxy bytesPerOop]! Item was removed: - ----- Method: ThreadedFFIPlugin>>sizeField: (in category 'primitive support') ----- - sizeField: oop - "Answer the first field of oop which is assumed to be an Alien of at least 8 bytes" - - ^self longAt: oop + interpreterProxy baseHeaderSize! Item was removed: - ----- Method: ThreadedFFIPlugin>>startOfData: (in category 'primitive support') ----- - startOfData: oop " ^" - "Answer the start of oop's data. For direct aliens this is the address of - the second field. For indirect and pointer aliens it is what the second field points to." - - ^(self sizeField: oop) > 0 - ifTrue: [oop + interpreterProxy baseHeaderSize + interpreterProxy bytesPerOop] - ifFalse: [self longAt: oop + interpreterProxy baseHeaderSize + interpreterProxy bytesPerOop]! From squeak-dev-noreply at lists.squeakfoundation.org Sun Sep 27 02:41:37 2020 From: squeak-dev-noreply at lists.squeakfoundation.org (squeak-dev-noreply at lists.squeakfoundation.org) Date: Sun, 27 Sep 2020 02:41:37 0000 Subject: [Vm-dev] AioPlugin: VMConstruction-Plugins-AioPlugin.oscog-eem.25.mcz Message-ID: Eliot Miranda uploaded a new version of VMConstruction-Plugins-AioPlugin to project AioPlugin: http://www.squeaksource.com/AioPlugin/VMConstruction-Plugins-AioPlugin.oscog-eem.25.mcz ==================== Summary ==================== Name: VMConstruction-Plugins-AioPlugin.oscog-eem.25 Author: eem Time: 26 September 2020, 7:41:35.99604 pm UUID: 64cf0326-c7d7-4ea3-a9ea-386058edc550 Ancestors: VMConstruction-Plugins-AioPlugin.oscog-eem.24 Null moduleUnloaded functions serve no purpose. From squeak-dev-noreply at lists.squeakfoundation.org Sun Sep 27 02:42:07 2020 From: squeak-dev-noreply at lists.squeakfoundation.org (squeak-dev-noreply at lists.squeakfoundation.org) Date: Sun, 27 Sep 2020 02:42:07 0000 Subject: [Vm-dev] OSProcessPlugin: VMConstruction-Plugins-OSProcessPlugin.oscog-eem.69.mcz Message-ID: Eliot Miranda uploaded a new version of VMConstruction-Plugins-OSProcessPlugin to project OSProcessPlugin: http://www.squeaksource.com/OSProcessPlugin/VMConstruction-Plugins-OSProcessPlugin.oscog-eem.69.mcz ==================== Summary ==================== Name: VMConstruction-Plugins-OSProcessPlugin.oscog-eem.69 Author: eem Time: 26 September 2020, 7:42:05.491934 pm UUID: 2d0a2648-ea6a-48b6-a3bf-5b91000af6e3 Ancestors: VMConstruction-Plugins-OSProcessPlugin.oscog-eem.68 Null moduleUnloaded: funcitons serve no purpose. From commits at source.squeak.org Sun Sep 27 02:58:06 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sun, 27 Sep 2020 02:58:06 0000 Subject: [Vm-dev] VM Maker: Cog-eem.411.mcz Message-ID: Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.411.mcz ==================== Summary ==================== Name: Cog-eem.411 Author: eem Time: 26 September 2020, 7:58:04.612249 pm UUID: 2c630b69-46a9-47dd-832c-02b1313f77a8 Ancestors: Cog-eem.410 Reduce the Alien analysis function duplication. =============== Diff against Cog-eem.410 =============== Item was removed: - ----- Method: ProcessorSimulatorPlugin>>sizeField: (in category 'alien support') ----- - sizeField: rcvr - "Answer the first field of rcvr which is assumed to be an Alien of at least 8 bytes" - - ^self longAt: rcvr + interpreterProxy baseHeaderSize! Item was removed: - ----- Method: ProcessorSimulatorPlugin>>startOfData: (in category 'alien support') ----- - startOfData: rcvr " ^" - "Answer the start of rcvr's data. For direct aliens this is the address of - the second field. For indirect and pointer aliens it is what the second field points to." - - ^(self sizeField: rcvr) > 0 - ifTrue: [rcvr + interpreterProxy baseHeaderSize + interpreterProxy bytesPerOop] - ifFalse: [self longAt: rcvr + interpreterProxy baseHeaderSize + interpreterProxy bytesPerOop]! From noreply at github.com Sun Sep 27 02:59:34 2020 From: noreply at github.com (Eliot Miranda) Date: Sat, 26 Sep 2020 19:59:34 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 5a0d21: CogVM source as per VMMaker.oscog-eem.2826 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 5a0d21d71223b4d1f4d007ebf2441d530c18c3e2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5a0d21d71223b4d1f4d007ebf2441d530c18c3e2 Author: Eliot Miranda Date: 2020-09-26 (Sat, 26 Sep 2020) Changed paths: M src/plugins/AioPlugin/AioPlugin.c M src/plugins/BochsIA32Plugin/BochsIA32Plugin.c M src/plugins/BochsX64Plugin/BochsX64Plugin.c M src/plugins/GdbARMPlugin/GdbARMPlugin.c M src/plugins/GdbARMv8Plugin/GdbARMv8Plugin.c M src/plugins/IA32ABI/IA32ABI.c M src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c M src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c M src/plugins/SqueakFFIPrims/IA32FFIPlugin.c M src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c M src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c M src/plugins/UnixOSProcessPlugin/UnixOSProcessPlugin.c M src/plugins/Win32OSProcessPlugin/Win32OSProcessPlugin.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2826 InterpreterPlugins: Reduce the duplication of the Alien decoding functions. [ci skip] From no-reply at appveyor.com Sun Sep 27 03:10:11 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 27 Sep 2020 03:10:11 +0000 Subject: [Vm-dev] Build completed: opensmalltalk-vm 1.0.2211 Message-ID: <20200927031011.1.FA63508F5B30F143@appveyor.com> An HTML attachment was scrubbed... URL: From chisvasileandrei at gmail.com Sun Sep 27 17:29:19 2020 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Sun, 27 Sep 2020 19:29:19 +0200 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: Hi Eliot, Thanks a lot for your help. I compiled locally a vm from the commit hash 5a0d21d71223b4d1f4d007ebf2441d530c18c3e2 (CogVM source as per VMMaker.oscog-eem.2826) and I got a Context>>copyTo: crash. I think I compiled the vm correctly. Are them some Pharo VMs built on travis for Mac to try out instead of building locally? Below are the stack traces and primitive longs for two crashes with the compiled vm. Process 19347 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) frame #0: 0x0000000140103f79 -> 0x140103f79: int3 0x140103f7a: int3 0x140103f7b: int3 0x140103f7c: int3 Target 0: (Pharo) stopped. (lldb) call dumpPrimTraceLog() basicNew **StackOverflow** basicNew @ @ @ @ basicNew basicNew @ @ @ @ @ @ signal signal class basicIdentityHash basicNew class bitShift: bitAnd: asFloat / asFloat fractionPart truncated fractionPart truncated fractionPart truncated setAlpha: truncated basicIdentityHash basicNew basicNew class class basicNew basicNew basicIdentityHash basicNew basicNew basicNew wait class tempAt: tempAt:put: tempAt: terminateTo: signal findNextUnwindContextUpTo: terminateTo: wait **StackOverflow** signal replaceFrom:to:with:startingAt: wait **StackOverflow** class signal basicNew class **StackOverflow** **StackOverflow** **StackOverflow** wait signal basicIdentityHash class basicNew basicNew **StackOverflow** class class **StackOverflow** wait signal **StackOverflow** **StackOverflow** wait signal basicNew basicNew basicNew signal wait signal basicIdentityHash basicIdentityHash basicNew basicNew class value:value: basicNew replaceFrom:to:with:startingAt: valueWithArguments: **StackOverflow** basicIdentityHash valueWithArguments: basicNew **StackOverflow** class findNextHandlerOrSignalingContext **StackOverflow** primitive ~= ~= tempAt: **StackOverflow** tempAt: basicNew shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy (lldb) call printCallStack() 0x7ffeefbe6d78 M Context(Object)>copy 0x145bbce28: a(n) Context 0x7ffeefbe6db0 M Context>copyTo: 0x145bbce28: a(n) Context 0x7ffeefbe6df8 M Context>copyTo: 0x145bbcd30: a(n) Context 0x7ffeefbe6e40 M Context>copyTo: 0x145bbcc78: a(n) Context 0x7ffeefbe6e88 M Context>copyTo: 0x145bbcbc0: a(n) Context 0x7ffeefbe6ed0 M Context>copyTo: 0x19709adc8: a(n) Context 0x7ffeefbe6f18 M Context>copyTo: 0x19709ad10: a(n) Context 0x7ffeefbe37c8 M Context>copyTo: 0x19709ac58: a(n) Context 0x7ffeefbe3810 M Context>copyTo: 0x19709aba0: a(n) Context 0x7ffeefbe3858 M Context>copyTo: 0x19709aae8: a(n) Context 0x7ffeefbe38a0 M Context>copyTo: 0x19709aa10: a(n) Context 0x7ffeefbe38e8 M Context>copyTo: 0x19709a938: a(n) Context 0x7ffeefbe3930 M Context>copyTo: 0x19709a860: a(n) Context 0x7ffeefbe3978 M Context>copyTo: 0x19709a7a8: a(n) Context 0x7ffeefbe39c0 M Context>copyTo: 0x19709a6f0: a(n) Context 0x7ffeefbe3a08 M Context>copyTo: 0x19709a638: a(n) Context 0x7ffeefbe3a50 M Context>copyTo: 0x19709a560: a(n) Context 0x7ffeefbe3a98 M Context>copyTo: 0x19709a4a8: a(n) Context 0x7ffeefbe3ae0 M Context>copyTo: 0x19709a3f0: a(n) Context 0x7ffeefbe3b28 M Context>copyTo: 0x19709a338: a(n) Context 0x7ffeefbe3b70 M Context>copyTo: 0x19709a280: a(n) Context 0x7ffeefbe3bb8 M Context>copyTo: 0x19709a1c8: a(n) Context 0x7ffeefbe3c00 M Context>copyTo: 0x19709a0e0: a(n) Context 0x7ffeefbe3c48 M Context>copyTo: 0x197099ff8: a(n) Context 0x7ffeefbe3c90 M Context>copyTo: 0x197099ee0: a(n) Context 0x7ffeefbe3cd8 M Context>copyTo: 0x197099e28: a(n) Context 0x7ffeefbe3d20 M Context>copyTo: 0x140169920: a(n) Context 0x7ffeefbe3d68 M Context>copyTo: 0x140169868: a(n) Context 0x7ffeefbe3db0 M Context>copyTo: 0x1401697b0: a(n) Context 0x7ffeefbe3df8 M Context>copyTo: 0x1401696f8: a(n) Context 0x7ffeefbe3e40 M Context>copyTo: 0x140169640: a(n) Context 0x7ffeefbe3e88 M Context>copyTo: 0x140169588: a(n) Context 0x7ffeefbe3ed0 M Context>copyTo: 0x1401694a0: a(n) Context 0x7ffeefbe3f18 M Context>copyTo: 0x140169390: a(n) Context 0x7ffeefbf47c8 M Context>copyTo: 0x1401692b0: a(n) Context 0x7ffeefbf4810 M Context>copyTo: 0x1401691f8: a(n) Context 0x7ffeefbf4858 M Context>copyTo: 0x140169140: a(n) Context 0x7ffeefbf48a0 M Context>copyTo: 0x140169058: a(n) Context 0x7ffeefbf48e8 M Context>copyTo: 0x140168f80: a(n) Context 0x7ffeefbf4930 M Context>copyTo: 0x140168ec8: a(n) Context 0x7ffeefbf4978 M Context>copyTo: 0x140168e10: a(n) Context 0x7ffeefbf49c0 M Context>copyTo: 0x140168d38: a(n) Context 0x7ffeefbf4a08 M Context>copyTo: 0x140168c58: a(n) Context 0x7ffeefbf4a50 M Context>copyTo: 0x140168b80: a(n) Context 0x7ffeefbf4a98 M Context>copyTo: 0x140168ac8: a(n) Context 0x7ffeefbf4ae0 M Context>copyTo: 0x140168a10: a(n) Context 0x7ffeefbf4b28 M Context>copyTo: 0x140168900: a(n) Context 0x7ffeefbf4b70 M Context>copyTo: 0x140168810: a(n) Context 0x7ffeefbf4bb8 M Context>copyTo: 0x140168718: a(n) Context 0x7ffeefbf4c00 M Context>copyTo: 0x140168640: a(n) Context 0x7ffeefbf4c48 M Context>copyTo: 0x14039c748: a(n) Context 0x7ffeefbf4c90 M Context>copyTo: 0x14039c5d8: a(n) Context 0x7ffeefbf4cd8 M Context>copyTo: 0x1401684b8: a(n) Context 0x7ffeefbf4d20 M Context>copyTo: 0x1401683d8: a(n) Context 0x7ffeefbf4d68 M Context>copyTo: 0x14039c2f8: a(n) Context 0x7ffeefbf4db0 M Context>copyTo: 0x140167960: a(n) Context 0x7ffeefbf4df8 M Context>copyTo: 0x1401678a8: a(n) Context 0x7ffeefbf4e40 M Context>copyTo: 0x140167788: a(n) Context 0x7ffeefbf4e88 M Context>copyTo: 0x14039bf60: a(n) Context 0x7ffeefbf4ed0 M Context>copyTo: 0x14039bd38: a(n) Context 0x7ffeefbf4f18 M Context>copyTo: 0x14039ba58: a(n) Context 0x7ffeefbf07c8 M Context>copyTo: 0x14039b8e8: a(n) Context 0x7ffeefbf0810 M Context>copyTo: 0x140167578: a(n) Context 0x7ffeefbf0858 M Context>copyTo: 0x140167478: a(n) Context 0x7ffeefbf08a0 M Context>copyTo: 0x14039b608: a(n) Context 0x7ffeefbf08e8 M Context>copyTo: 0x14039b498: a(n) Context 0x7ffeefbf0930 M Context>copyTo: 0x14039b328: a(n) Context 0x7ffeefbf0978 M Context>copyTo: 0x140167310: a(n) Context 0x7ffeefbf09c0 M Context>copyTo: 0x1401671e8: a(n) Context 0x7ffeefbf0a08 M Context>copyTo: 0x140167108: a(n) Context 0x7ffeefbf0a50 M Context>copyTo: 0x14039af90: a(n) Context 0x7ffeefbf0a98 M Context>copyTo: 0x14039ae20: a(n) Context 0x7ffeefbf0ae0 M Context>copyTo: 0x140166fe0: a(n) Context 0x7ffeefbf0b28 M Context>copyTo: 0x140166ec0: a(n) Context 0x7ffeefbf0b70 M Context>copyTo: 0x14039ab40: a(n) Context 0x7ffeefbf0bb8 M Context>copyTo: 0x14039a9d0: a(n) Context 0x7ffeefbf0c00 M Context>copyTo: 0x14039a860: a(n) Context 0x7ffeefbf0c48 M Context>copyTo: 0x14039a6f0: a(n) Context 0x7ffeefbf0c90 M Context>copyTo: 0x140166ca0: a(n) Context 0x7ffeefbf0cd8 M Context>copyTo: 0x140166bb8: a(n) Context 0x7ffeefbf0d20 M Context>copyTo: 0x140165f60: a(n) Context 0x7ffeefbf0d68 M Context>copyTo: 0x140165ea8: a(n) Context 0x7ffeefbf0db0 M Context>copyTo: 0x14039a2a0: a(n) Context 0x7ffeefbf0df8 M Context>copyTo: 0x140165d48: a(n) Context 0x7ffeefbf0e40 M Context>copyTo: 0x140165c20: a(n) Context 0x7ffeefbf0e88 M Context>copyTo: 0x140165b40: a(n) Context 0x7ffeefbf0ed0 M Context>copyTo: 0x140399e50: a(n) Context 0x7ffeefbf0f18 M Context>copyTo: 0x140399b70: a(n) Context 0x7ffeefbee7c8 M Context>copyTo: 0x140165a18: a(n) Context 0x7ffeefbee810 M Context>copyTo: 0x1401658f8: a(n) Context 0x7ffeefbee858 M Context>copyTo: 0x140399890: a(n) Context 0x7ffeefbee8a0 M Context>copyTo: 0x140399720: a(n) Context 0x7ffeefbee8e8 M Context>copyTo: 0x1403995b0: a(n) Context 0x7ffeefbee930 M Context>copyTo: 0x140399440: a(n) Context 0x7ffeefbee978 M Context>copyTo: 0x1403992d0: a(n) Context 0x7ffeefbee9c0 M Context>copyTo: 0x140399160: a(n) Context 0x7ffeefbeea08 M Context>copyTo: 0x140398ff0: a(n) Context 0x7ffeefbeea50 M Context>copyTo: 0x140398e80: a(n) Context 0x7ffeefbeea98 M Context>copyTo: 0x140398d10: a(n) Context 0x7ffeefbeeae0 M Context>copyTo: 0x140165748: a(n) Context 0x7ffeefbeeb28 M Context>copyTo: 0x140165648: a(n) Context 0x7ffeefbeeb70 M Context>copyTo: 0x140398a30: a(n) Context 0x7ffeefbeebb8 M Context>copyTo: 0x1403988c0: a(n) Context 0x7ffeefbeec00 M Context>copyTo: 0x140165530: a(n) Context 0x7ffeefbeec48 M Context>copyTo: 0x140165458: a(n) Context 0x7ffeefbeec90 M Context>copyTo: 0x1403985e0: a(n) Context 0x7ffeefbeecd8 M Context>copyTo: 0x140398470: a(n) Context 0x7ffeefbeed20 M Context>copyTo: 0x140165088: a(n) Context 0x7ffeefbeed68 M Context>copyTo: 0x140166ae0: a(n) Context 0x7ffeefbeedb0 M Context>copyTo: 0x140398190: a(n) Context 0x7ffeefbeedf8 M Context>copyTo: 0x140398020: a(n) Context 0x7ffeefbeee40 M Context>copyTo: 0x140397eb0: a(n) Context 0x7ffeefbeee88 M Context>copyTo: 0x1401669d8: a(n) Context 0x7ffeefbeeed0 M Context>copyTo: 0x140397c88: a(n) Context 0x7ffeefbeef18 M Context>copyTo: 0x140394d08: a(n) Context 0x7ffeefbea798 M Context>copyTo: 0x140394e20: a(n) Context 0x7ffeefbea7e0 M Context>copyTo: 0x140397838: a(n) Context 0x7ffeefbea828 M Context>copyTo: 0x1403976c8: a(n) Context 0x7ffeefbea870 M Context>copyTo: 0x140397558: a(n) Context 0x7ffeefbea8b8 M Context>copyTo: 0x140395000: a(n) Context 0x7ffeefbea900 M Context>copyTo: 0x140397330: a(n) Context 0x7ffeefbea948 M Context>copyTo: 0x1403971c0: a(n) Context 0x7ffeefbea990 M Context>copyTo: 0x140397050: a(n) Context 0x7ffeefbea9d8 M Context>copyTo: 0x140396ee0: a(n) Context 0x7ffeefbeaa20 M Context>copyTo: 0x140396d70: a(n) Context 0x7ffeefbeaa68 M Context>copyTo: 0x1403958f8: a(n) Context 0x7ffeefbeaab0 M Context>copyTo: 0x140396b48: a(n) Context 0x7ffeefbeaaf8 M Context>copyTo: 0x140396298: a(n) Context 0x7ffeefbeab40 M Context>copyTo: 0x140396920: a(n) Context 0x7ffeefbeab88 M Context>copyTo: 0x1403967b0: a(n) Context 0x7ffeefbeabd0 M Context>copyTo: 0x1403961e0: a(n) Context 0x7ffeefbeac18 M Context>copyTo: 0x140396128: a(n) Context 0x7ffeefbeac60 M Context>copyTo: 0x140396070: a(n) Context 0x7ffeefbeacb8 I Context>copyTo: 0x140395e28: a(n) Context 0x7ffeefbead00 I ZeroDivide(Exception)>freezeUpTo: 0x140395de8: a(n) ZeroDivide 0x7ffeefbead48 I ZeroDivide(Exception)>freeze 0x140395de8: a(n) ZeroDivide 0x7ffeefbead88 I BrDebugglableElementStencil>freeze: 0x140396408: a(n) BrDebugglableElementStencil 0x7ffeefbeadd8 I ZeroDivide(Exception)>asDebuggableElement 0x140395de8: a(n) ZeroDivide 0x7ffeefbeae18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn 0x7ffeefbeae50 M BlockClosure>cull: 0x1403959f0: a(n) BlockClosure 0x7ffeefbeaea0 I Context>evaluateSignal: 0x140396298: a(n) Context 0x7ffeefbeaed8 M Context>handleSignal: 0x140396298: a(n) Context 0x7ffeefbeaf20 I ZeroDivide(Exception)>signal 0x140395de8: a(n) ZeroDivide 0x7ffeefbe7840 I ZeroDivide(Exception)>signal: 0x140395de8: a(n) ZeroDivide 0x7ffeefbe7888 I ZeroDivide class(Exception class)>signal: 0x1409f9490: a(n) ZeroDivide class 0x7ffeefbe78c0 M [] in GtPhlowColumnedListViewExamples>gtErrorInColumnDoDataBinderFor: 0x140168630: a(n) GtPhlowColumnedListViewExamples 0x7ffeefbe7908 M BlockClosure>glamourValueWithArgs: 0x140174180: a(n) BlockClosure 0x7ffeefbe7960 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn 0x7ffeefbe7990 M BlockClosure>on:do: 0x1403959b0: a(n) BlockClosure 0x7ffeefbe79d0 M GtPhlowColumn>performBlock:onException: 0x140169e48: a(n) GtPhlowColumn 0x7ffeefbe7a18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn 0x7ffeefbe7a60 M BlockClosure>glamourValueWithArgs: 0x1401701c0: a(n) BlockClosure 0x7ffeefbe7a98 M BrStencilValuableExecutor>execute 0x140174230: a(n) BrStencilValuableExecutor 0x7ffeefbe7ad8 M BrColumnCellDataBinder(BrStencilBuilder)>build 0x140170448: a(n) BrColumnCellDataBinder 0x7ffeefbe7b38 I [] in BrColumnedListDataSource>onBindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource 0x7ffeefbe7b98 I OrderedCollection(SequenceableCollection)>with:do: 0x140169ff8: a(n) OrderedCollection 0x7ffeefbe7bf8 I BrColumnedListDataSource>onBindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource 0x7ffeefbe7c48 I BrColumnedListDataSource(BlInfiniteDataSource)>onBindHolder:at:payloads: 0x140169f38: a(n) BrColumnedListDataSource 0x7ffeefbe7ca0 M [] in BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource 0x7ffeefbe7ce0 M BlockClosure>ensure: 0x140394df0: a(n) BlockClosure 0x7ffeefbe7d18 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry 0x7ffeefbe7d58 M BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource 0x7ffeefbe7d98 M BlInfiniteRecyclerController>bindHolder:at: 0x1401662c0: a(n) BlInfiniteRecyclerController 0x7ffeefbe7e10 M BlInfiniteRecycler>elementFor:dryRun: 0x1401652b8: a(n) BlInfiniteRecycler 0x7ffeefbe7e50 M BlInfiniteRecycler>elementFor: 0x1401652b8: a(n) BlInfiniteRecycler 0x7ffeefbe7e98 M [] in BlInfiniteLinearLayoutState>nextElement:in: 0x140165020: a(n) BlInfiniteLinearLayoutState 0x7ffeefbe7ed8 M BlockClosure>ensure: 0x140166a90: a(n) BlockClosure 0x7ffeefbe7f10 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry 0x7ffeefbe27d0 M BlInfiniteLinearLayoutState>nextElement:in: 0x140165020: a(n) BlInfiniteLinearLayoutState 0x7ffeefbe2818 M [] in BlInfiniteLinearLayout>layoutChunkAdd 0x140165320: a(n) BlInfiniteLinearLayout 0x7ffeefbe2858 M BlockClosure>ensure: 0x140165410: a(n) BlockClosure 0x7ffeefbe2890 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry 0x7ffeefbe28d8 M BlInfiniteLinearLayout>layoutChunkAdd 0x140165320: a(n) BlInfiniteLinearLayout 0x7ffeefbe2910 M [] in BlInfiniteLinearLayout>layoutChunk 0x140165320: a(n) BlInfiniteLinearLayout 0x7ffeefbe2950 M BlockClosure>ensure: 0x140165600: a(n) BlockClosure 0x7ffeefbe2988 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry 0x7ffeefbe29e0 M BlInfiniteLinearLayout>layoutChunk 0x140165320: a(n) BlInfiniteLinearLayout 0x7ffeefbe2a48 I BlInfiniteLinearLayout>fillLayout: 0x140165320: a(n) BlInfiniteLinearLayout 0x7ffeefbe2ab8 I BlInfiniteLinearLayout>layoutChildrenFillFromStart: 0x140165320: a(n) BlInfiniteLinearLayout 0x7ffeefbe2b00 I BlInfiniteLinearLayout>layoutChildrenFill: 0x140165320: a(n) BlInfiniteLinearLayout 0x7ffeefbe2b58 I BlInfiniteLinearLayout>layoutChildrenIn:state: 0x140165320: a(n) BlInfiniteLinearLayout 0x7ffeefbe2ba8 I BrInfiniteListElement(BlInfiniteElement)>dispatchLayoutSecondStep 0x140165140: a(n) BrInfiniteListElement 0x7ffeefbe2be8 I BrInfiniteListElement(BlInfiniteElement)>dispatchLayout 0x140165140: a(n) BrInfiniteListElement 0x7ffeefbe2c18 M BrInfiniteListElement(BlInfiniteElement)>onLayout: 0x140165140: a(n) BrInfiniteListElement 0x7ffeefbe2c58 M [] in BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: 0x140165140: a(n) BrInfiniteListElement 0x7ffeefbe2c98 M BlockClosure>ensure: 0x1401658b0: a(n) BlockClosure 0x7ffeefbe2cd0 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry 0x7ffeefbe2d30 M BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: 0x140165140: a(n) BrInfiniteListElement 0x7ffeefbe2d70 M [] in BrInfiniteListElement(BlElement)>applyLayoutIn: 0x140165140: a(n) BrInfiniteListElement 0x7ffeefbe2da0 M BlockClosure>on:do: 0x140165ad0: a(n) BlockClosure 0x7ffeefbe2de0 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x140165b28: a(n) BlCompositeErrorHandler 0x7ffeefbe2e28 M BrInfiniteListElement(BlElement)>applyLayoutIn: 0x140165140: a(n) BrInfiniteListElement 0x7ffeefbe2e80 M [] in BlLinearLayoutVerticalOrientation>layout:in: 0x140165d38: a(n) BlLinearLayoutVerticalOrientation 0x7ffeefbe2ed0 M [] in BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140165e50: a(n) BlChildrenAccountedByLayout 0x7ffeefbe2f18 M Array(SequenceableCollection)>do: 0x140165e98: a(n) Array 0x7ffeefbe9868 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: 0x140165e50: a(n) BlChildrenAccountedByLayout 0x7ffeefbe98a8 M BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140165e50: a(n) BlChildrenAccountedByLayout 0x7ffeefbe9918 M BlLinearLayoutVerticalOrientation>layout:in: 0x140165d38: a(n) BlLinearLayoutVerticalOrientation 0x7ffeefbe9958 M BlLinearLayout>layout:in: 0x140166e18: a(n) BlLinearLayout 0x7ffeefbe9998 M BrColumnedList(BlElement)>onLayout: 0x140166d70: a(n) BrColumnedList 0x7ffeefbe99d8 M [] in BrColumnedList(BlElement)>applyLayoutSafelyIn: 0x140166d70: a(n) BrColumnedList 0x7ffeefbe9a18 M BlockClosure>ensure: 0x140166e78: a(n) BlockClosure 0x7ffeefbe9a50 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry 0x7ffeefbe9ab0 M BrColumnedList(BlElement)>applyLayoutSafelyIn: 0x140166d70: a(n) BrColumnedList 0x7ffeefbe9af0 M [] in BrColumnedList(BlElement)>applyLayoutIn: 0x140166d70: a(n) BrColumnedList 0x7ffeefbe9b20 M BlockClosure>on:do: 0x140167098: a(n) BlockClosure 0x7ffeefbe9b60 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401670f0: a(n) BlCompositeErrorHandler 0x7ffeefbe9ba8 M BrColumnedList(BlElement)>applyLayoutIn: 0x140166d70: a(n) BrColumnedList 0x7ffeefbe9c00 M [] in BlLinearLayoutVerticalOrientation>layout:in: 0x140167300: a(n) BlLinearLayoutVerticalOrientation 0x7ffeefbe9c50 M [] in BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140167418: a(n) BlChildrenAccountedByLayout 0x7ffeefbe9c98 M Array(SequenceableCollection)>do: 0x140167460: a(n) Array 0x7ffeefbe9cd0 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: 0x140167418: a(n) BlChildrenAccountedByLayout 0x7ffeefbe9d10 M BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140167418: a(n) BlChildrenAccountedByLayout 0x7ffeefbe9d80 M BlLinearLayoutVerticalOrientation>layout:in: 0x140167300: a(n) BlLinearLayoutVerticalOrientation 0x7ffeefbe9dc0 M BlLinearLayout>layout:in: 0x1401676e0: a(n) BlLinearLayout 0x7ffeefbe9e00 M BlElement>onLayout: 0x140167648: a(n) BlElement 0x7ffeefbe9e40 M [] in BlElement>applyLayoutSafelyIn: 0x140167648: a(n) BlElement 0x7ffeefbe9e80 M BlockClosure>ensure: 0x140167740: a(n) BlockClosure 0x7ffeefbe9eb8 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry 0x7ffeefbe9f18 M BlElement>applyLayoutSafelyIn: 0x140167648: a(n) BlElement 0x7ffeefbed7e0 M [] in BlElement>applyLayoutIn: 0x140167648: a(n) BlElement 0x7ffeefbed810 M BlockClosure>on:do: 0x140168368: a(n) BlockClosure 0x7ffeefbed850 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401683c0: a(n) BlCompositeErrorHandler 0x7ffeefbed898 M BlElement>applyLayoutIn: 0x140167648: a(n) BlElement 0x7ffeefbed908 I BlElement>computeLayout 0x140167648: a(n) BlElement 0x7ffeefbed948 I BlElement>forceLayout 0x140167648: a(n) BlElement 0x7ffeefbed9a8 I GtPhlowColumnedListViewExamples>errorInColumnDoDataBinder 0x140168630: a(n) GtPhlowColumnedListViewExamples 0x7ffeefbed9d8 M GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: 0x1401686f8: a(n) GtExampleDebugger 0x7ffeefbeda38 M [] in GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x1401686f8: a(n) GtExampleDebugger 0x7ffeefbeda78 M BlockClosure>ensure: 0x1401688c8: a(n) BlockClosure 0x7ffeefbedac8 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x1401686f8: a(n) GtExampleDebugger 0x7ffeefbedb00 M GtExampleDebugger(GtExampleProcessor)>process: 0x1401686f8: a(n) GtExampleDebugger 0x7ffeefbedb38 M [] in GtExampleDebugger(GtExampleProcessor)>value 0x1401686f8: a(n) GtExampleDebugger 0x7ffeefbedb68 M BlockClosure>on:do: 0x140168c38: a(n) BlockClosure 0x7ffeefbedba8 M GtCurrentExampleContext class>use:during: 0x1446188f0: a(n) GtCurrentExampleContext class 0x7ffeefbedbe8 M GtExampleDebugger(GtExampleProcessor)>withContextDo: 0x1401686f8: a(n) GtExampleDebugger 0x7ffeefbedc20 M GtExampleDebugger(GtExampleProcessor)>value 0x1401686f8: a(n) GtExampleDebugger 0x7ffeefbedc50 M [] in GtExampleDebugger(GtExampleEvaluator)>result 0x1401686f8: a(n) GtExampleDebugger 0x7ffeefbedc80 M GtExampleDebugger>do:on:do: 0x1401686f8: a(n) GtExampleDebugger 0x7ffeefbedcc8 M GtExampleDebugger(GtExampleEvaluator)>result 0x1401686f8: a(n) GtExampleDebugger 0x7ffeefbedcf8 M GtExample>debug 0x19709dfc8: a(n) GtExample 0x7ffeefbedd30 M [] in GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport 0x7ffeefbedd60 M BlockClosure>on:do: 0x140169368: a(n) BlockClosure 0x7ffeefbeddb0 M [] in GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport 0x7ffeefbedde8 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time class 0x7ffeefbede20 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time class 0x7ffeefbede60 M BlockClosure>timeToRun 0x140169558: a(n) BlockClosure 0x7ffeefbede98 M GtExamplesHDReport>beginExample:runBlock: 0x197099d30: a(n) GtExamplesHDReport 0x7ffeefbedee0 M GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport 0x7ffeefbedf18 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport 0x7ffeefbdea38 M OrderedCollection>do: 0x197099e08: a(n) OrderedCollection 0x7ffeefbdea70 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport 0x7ffeefbdeab0 M [] in CurrentExecutionEnvironment class>activate:for: 0x140a02930: a(n) CurrentExecutionEnvironment class 0x7ffeefbdeaf0 M BlockClosure>ensure: 0x19709a0b0: a(n) BlockClosure 0x7ffeefbdeb30 M CurrentExecutionEnvironment class>activate:for: 0x140a02930: a(n) CurrentExecutionEnvironment class 0x7ffeefbdeb70 M TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x197099fb8: a(n) TestExecutionEnvironment 0x7ffeefbdeba8 M DefaultExecutionEnvironment>runTestsBy: 0x1409f7da8: a(n) DefaultExecutionEnvironment 0x7ffeefbdebe0 M CurrentExecutionEnvironment class>runTestsBy: 0x140a02930: a(n) CurrentExecutionEnvironment class 0x7ffeefbdec18 M GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport 0x7ffeefbdec48 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport 0x7ffeefbdec80 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time class 0x7ffeefbdecb8 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time class 0x7ffeefbdecf8 M BlockClosure>timeToRun 0x19709a618: a(n) BlockClosure 0x7ffeefbded28 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport 0x7ffeefbded68 M BlockClosure>ensure: 0x19709a918: a(n) BlockClosure 0x7ffeefbdeda0 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport 0x7ffeefbdedd0 M Author>ifUnknownAuthorUse:during: 0x14102a740: a(n) Author 0x7ffeefbdee10 M GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport 0x7ffeefbdee48 M GtExamplesHDReport class>runPackage: 0x144618008: a(n) GtExamplesHDReport class 0x7ffeefbdee80 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x144618008: a(n) GtExamplesHDReport class 0x7ffeefbdeed0 M [] in Set>collect: 0x145bbc4d8: a(n) Set 0x7ffeefbdef18 M Array(SequenceableCollection)>do: 0x145bbc520: a(n) Array 0x145bbcc78 s Set>collect: 0x145bbcd30 s GtExamplesHDReport class(HDReport class)>runPackages: 0x145bbce28 s [] in GtExamplesCommandLineHandler>runPackages 0x145bbcf08 s BlockClosure>ensure: 0x14e950710 s UIManager class>nonInteractiveDuring: 0x14e9507c8 s GtExamplesCommandLineHandler>runPackages 0x14e950880 s GtExamplesCommandLineHandler>activate 0x14e950938 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: 0x14e9509f0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0x14e950aa8 s BlockClosure>on:do: 0x14e950b60 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0x14e950c38 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand 0x14e950cf0 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: 0x14e950db8 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate 0x14e950e90 s BlockClosure>on:do: 0x14e950f68 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate 0x14e951040 s [] in BlockClosure>newProcess Process 18798 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) frame #0: 0x00000001481107d1 -> 0x1481107d1: int3 0x1481107d2: int3 0x1481107d3: int3 0x1481107d4: int3 Target 0: (Pharo) stopped. (lldb) call printAllStacks() Process 0x15511b938 priority 40 0x7ffeefbf0a18 M Context(Object)>copy 0x15691cf68: a(n) Context 0x7ffeefbf0a50 M Context>copyTo: 0x15691cf68: a(n) Context 0x7ffeefbf0a98 M Context>copyTo: 0x15691ce78: a(n) Context 0x7ffeefbf0ae0 M Context>copyTo: 0x15691cdc0: a(n) Context 0x7ffeefbf0b28 M Context>copyTo: 0x15691cd08: a(n) Context 0x7ffeefbf0b70 M Context>copyTo: 0x15691cc50: a(n) Context 0x7ffeefbf0bb8 M Context>copyTo: 0x15691cb70: a(n) Context 0x7ffeefbf0c00 M Context>copyTo: 0x15691ca90: a(n) Context 0x7ffeefbf0c48 M Context>copyTo: 0x15691c998: a(n) Context 0x7ffeefbf0c90 M Context>copyTo: 0x15691c8e0: a(n) Context 0x7ffeefbf0cd8 M Context>copyTo: 0x15691c828: a(n) Context 0x7ffeefbf0d20 M Context>copyTo: 0x14874a2c8: a(n) Context 0x7ffeefbf0d68 M Context>copyTo: 0x14874a158: a(n) Context 0x7ffeefbf0db0 M Context>copyTo: 0x148749fe8: a(n) Context 0x7ffeefbf0df8 M Context>copyTo: 0x14816e2e8: a(n) Context 0x7ffeefbf0e40 M Context>copyTo: 0x148749dc0: a(n) Context 0x7ffeefbf0e88 M Context>copyTo: 0x14816e210: a(n) Context 0x7ffeefbf0ed0 M Context>copyTo: 0x148749ae0: a(n) Context 0x7ffeefbf0f18 M Context>copyTo: 0x14816e118: a(n) Context 0x7ffeefbdc7c8 M Context>copyTo: 0x148749748: a(n) Context 0x7ffeefbdc810 M Context>copyTo: 0x1487495d8: a(n) Context 0x7ffeefbdc858 M Context>copyTo: 0x148749468: a(n) Context 0x7ffeefbdc8a0 M Context>copyTo: 0x1487492f8: a(n) Context 0x7ffeefbdc8e8 M Context>copyTo: 0x14816e040: a(n) Context 0x7ffeefbdc930 M Context>copyTo: 0x1487490d0: a(n) Context 0x7ffeefbdc978 M Context>copyTo: 0x148748f60: a(n) Context 0x7ffeefbdc9c0 M Context>copyTo: 0x148748df0: a(n) Context 0x7ffeefbdca08 M Context>copyTo: 0x14816df38: a(n) Context 0x7ffeefbdca50 M Context>copyTo: 0x148748bc8: a(n) Context 0x7ffeefbdca98 M Context>copyTo: 0x14816de20: a(n) Context 0x7ffeefbdcae0 M Context>copyTo: 0x14816eeb8: a(n) Context 0x7ffeefbdcb28 M Context>copyTo: 0x1487488e8: a(n) Context 0x7ffeefbdcb70 M Context>copyTo: 0x148748778: a(n) Context 0x7ffeefbdcbb8 M Context>copyTo: 0x14866e858: a(n) Context 0x7ffeefbdcc00 M Context>copyTo: 0x148748550: a(n) Context 0x7ffeefbdcc48 M Context>copyTo: 0x1487483e0: a(n) Context 0x7ffeefbdcc90 M Context>copyTo: 0x148748270: a(n) Context 0x7ffeefbdccd8 M Context>copyTo: 0x148748100: a(n) Context 0x7ffeefbdcd20 M Context>copyTo: 0x148676078: a(n) Context 0x7ffeefbdcd68 M Context>copyTo: 0x148747ed8: a(n) Context 0x7ffeefbdcdb0 M Context>copyTo: 0x148747d68: a(n) Context 0x7ffeefbdcdf8 M Context>copyTo: 0x148747bf8: a(n) Context 0x7ffeefbdce40 M Context>copyTo: 0x148676280: a(n) Context 0x7ffeefbdce88 M Context>copyTo: 0x1487479d0: a(n) Context 0x7ffeefbdced0 M Context>copyTo: 0x1487477a8: a(n) Context 0x7ffeefbdcf18 M Context>copyTo: 0x148676400: a(n) Context 0x7ffeefbda7c8 M Context>copyTo: 0x148747410: a(n) Context 0x7ffeefbda810 M Context>copyTo: 0x1486764d8: a(n) Context 0x7ffeefbda858 M Context>copyTo: 0x1487471e8: a(n) Context 0x7ffeefbda8a0 M Context>copyTo: 0x148747078: a(n) Context 0x7ffeefbda8e8 M Context>copyTo: 0x148746f08: a(n) Context 0x7ffeefbda930 M Context>copyTo: 0x14873f918: a(n) Context 0x7ffeefbda978 M Context>copyTo: 0x148746ce0: a(n) Context 0x7ffeefbda9c0 M Context>copyTo: 0x148746b70: a(n) Context 0x7ffeefbdaa08 M Context>copyTo: 0x148746a00: a(n) Context 0x7ffeefbdaa50 M Context>copyTo: 0x148746890: a(n) Context 0x7ffeefbdaa98 M Context>copyTo: 0x148746720: a(n) Context 0x7ffeefbdaae0 M Context>copyTo: 0x1487415b8: a(n) Context 0x7ffeefbdab28 M Context>copyTo: 0x1487412a8: a(n) Context 0x7ffeefbdab70 M Context>copyTo: 0x148746440: a(n) Context 0x7ffeefbdabb8 M Context>copyTo: 0x148745088: a(n) Context 0x7ffeefbdac00 M Context>copyTo: 0x148746218: a(n) Context 0x7ffeefbdac48 M Context>copyTo: 0x1487414e0: a(n) Context 0x7ffeefbdac90 M Context>copyTo: 0x148745ff0: a(n) Context 0x7ffeefbdacd8 M Context>copyTo: 0x148741670: a(n) Context 0x7ffeefbdad20 M Context>copyTo: 0x148744fd0: a(n) Context 0x7ffeefbdad68 M Context>copyTo: 0x148745ba0: a(n) Context 0x7ffeefbdadb0 M Context>copyTo: 0x148745a30: a(n) Context 0x7ffeefbdadf8 M Context>copyTo: 0x148744bd8: a(n) Context 0x7ffeefbdae40 M Context>copyTo: 0x148745808: a(n) Context 0x7ffeefbdae88 M Context>copyTo: 0x148745698: a(n) Context 0x7ffeefbdaed0 M Context>copyTo: 0x148745528: a(n) Context 0x7ffeefbdaf18 M Context>copyTo: 0x148744f18: a(n) Context 0x7ffeefbe0988 I Context>copyTo: 0x148744e60: a(n) Context 0x7ffeefbe09d0 I MessageNotUnderstood(Exception)>freezeUpTo: 0x148744e10: a(n) MessageNotUnderstood 0x7ffeefbe0a18 I MessageNotUnderstood(Exception)>freeze 0x148744e10: a(n) MessageNotUnderstood 0x7ffeefbe0a48 M [] in GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator 0x7ffeefbe0a80 M BlockClosure>cull: 0x1487414c0: a(n) BlockClosure 0x7ffeefbe0ac0 M Context>evaluateSignal: 0x148745088: a(n) Context 0x7ffeefbe0af8 M Context>handleSignal: 0x148745088: a(n) Context 0x7ffeefbe0b30 M Context>handleSignal: 0x148744fd0: a(n) Context 0x7ffeefbe0b68 M MessageNotUnderstood(Exception)>signal 0x148744e10: a(n) MessageNotUnderstood 0x7ffeefbe0bb8 I GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x148744bc8: a(n) GtDummyExamplesWithInheritanceSubclassB 0x7ffeefbe0bf0 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x148741238: a(n) GtExampleEvaluator 0x7ffeefbe0c50 M [] in GtExampleEvaluator>basicProcess: 0x148741238: a(n) GtExampleEvaluator 0x7ffeefbe0c90 M BlockClosure>ensure: 0x148744c90: a(n) BlockClosure 0x7ffeefbe0ce0 M GtExampleEvaluator>basicProcess: 0x148741238: a(n) GtExampleEvaluator 0x7ffeefbe0d18 M GtExampleEvaluator(GtExampleProcessor)>process: 0x148741238: a(n) GtExampleEvaluator 0x7ffeefbe0d50 M [] in GtExampleEvaluator(GtExampleProcessor)>value 0x148741238: a(n) GtExampleEvaluator 0x7ffeefbe0d80 M BlockClosure>on:do: 0x148741598: a(n) BlockClosure 0x7ffeefbe0dc0 M GtCurrentExampleContext class>use:during: 0x14c618920: a(n) GtCurrentExampleContext class 0x7ffeefbe0e00 M GtExampleEvaluator(GtExampleProcessor)>withContextDo: 0x148741238: a(n) GtExampleEvaluator 0x7ffeefbe0e38 M GtExampleEvaluator(GtExampleProcessor)>value 0x148741238: a(n) GtExampleEvaluator 0x7ffeefbe0e68 M [] in GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator 0x7ffeefbe0e98 M BlockClosure>on:do: 0x148741360: a(n) BlockClosure 0x7ffeefbe0ed8 M GtExampleEvaluator>do:on:do: 0x148741238: a(n) GtExampleEvaluator 0x7ffeefbe0f20 M GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator 0x7ffeefbde8b8 M GtExample>run 0x148740050: a(n) GtExample 0x7ffeefbde8e8 M GtExample>result 0x148740050: a(n) GtExample 0x7ffeefbde930 I GtExamplesExamplesWithInheritance>resultOfInvalidExampleWithInvalidSuperclassProvider 0x14873f908: a(n) GtExamplesExamplesWithInheritance 0x7ffeefbde960 M GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: 0x148676210: a(n) GtExampleDebugger 0x7ffeefbde9c0 M [] in GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x148676210: a(n) GtExampleDebugger 0x7ffeefbdea00 M BlockClosure>ensure: 0x14873f9d0: a(n) BlockClosure 0x7ffeefbdea50 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x148676210: a(n) GtExampleDebugger 0x7ffeefbdea88 M GtExampleDebugger(GtExampleProcessor)>process: 0x148676210: a(n) GtExampleDebugger 0x7ffeefbdeac0 M [] in GtExampleDebugger(GtExampleProcessor)>value 0x148676210: a(n) GtExampleDebugger 0x7ffeefbdeaf0 M BlockClosure>on:do: 0x1486764b8: a(n) BlockClosure 0x7ffeefbdeb30 M GtCurrentExampleContext class>use:during: 0x14c618920: a(n) GtCurrentExampleContext class 0x7ffeefbdeb70 M GtExampleDebugger(GtExampleProcessor)>withContextDo: 0x148676210: a(n) GtExampleDebugger 0x7ffeefbdeba8 M GtExampleDebugger(GtExampleProcessor)>value 0x148676210: a(n) GtExampleDebugger 0x7ffeefbdebd8 M [] in GtExampleDebugger(GtExampleEvaluator)>result 0x148676210: a(n) GtExampleDebugger 0x7ffeefbdec08 M GtExampleDebugger>do:on:do: 0x148676210: a(n) GtExampleDebugger 0x7ffeefbdec50 M GtExampleDebugger(GtExampleEvaluator)>result 0x148676210: a(n) GtExampleDebugger 0x7ffeefbdec80 M GtExample>debug 0x148188088: a(n) GtExample 0x7ffeefbdecb8 M [] in GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport 0x7ffeefbdece8 M BlockClosure>on:do: 0x148676130: a(n) BlockClosure 0x7ffeefbded38 M [] in GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport 0x7ffeefbded70 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time class 0x7ffeefbdeda8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time class 0x7ffeefbdede8 M BlockClosure>timeToRun 0x14866e910: a(n) BlockClosure 0x7ffeefbdee20 M GtExamplesHDReport>beginExample:runBlock: 0x14816dff0: a(n) GtExamplesHDReport 0x7ffeefbdee68 M GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport 0x7ffeefbdeea0 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport 0x7ffeefbdeee8 M OrderedCollection>do: 0x14816ee98: a(n) OrderedCollection 0x7ffeefbdef20 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport 0x7ffeefbd8ab0 M [] in CurrentExecutionEnvironment class>activate:for: 0x148a02930: a(n) CurrentExecutionEnvironment class 0x7ffeefbd8af0 M BlockClosure>ensure: 0x14816ded8: a(n) BlockClosure 0x7ffeefbd8b30 M CurrentExecutionEnvironment class>activate:for: 0x148a02930: a(n) CurrentExecutionEnvironment class 0x7ffeefbd8b70 M TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x14816ddc0: a(n) TestExecutionEnvironment 0x7ffeefbd8ba8 M DefaultExecutionEnvironment>runTestsBy: 0x1489f7da8: a(n) DefaultExecutionEnvironment 0x7ffeefbd8be0 M CurrentExecutionEnvironment class>runTestsBy: 0x148a02930: a(n) CurrentExecutionEnvironment class 0x7ffeefbd8c18 M GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport 0x7ffeefbd8c48 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport 0x7ffeefbd8c80 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time class 0x7ffeefbd8cb8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time class 0x7ffeefbd8cf8 M BlockClosure>timeToRun 0x14816e0f8: a(n) BlockClosure 0x7ffeefbd8d28 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport 0x7ffeefbd8d68 M BlockClosure>ensure: 0x14816e1d0: a(n) BlockClosure 0x7ffeefbd8da0 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport 0x7ffeefbd8dd0 M Author>ifUnknownAuthorUse:during: 0x14902a740: a(n) Author 0x7ffeefbd8e10 M GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport 0x7ffeefbd8e48 M GtExamplesHDReport class>runPackage: 0x14c618038: a(n) GtExamplesHDReport class 0x7ffeefbd8e80 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x14c618038: a(n) GtExamplesHDReport class 0x7ffeefbd8ed0 M [] in Set>collect: 0x15691c088: a(n) Set 0x7ffeefbd8f18 M Array(SequenceableCollection)>do: 0x15691c188: a(n) Array 0x15691c8e0 s Set>collect: 0x15691c998 s GtExamplesHDReport class(HDReport class)>runPackages: 0x15691ca90 s [] in GtExamplesCommandLineHandler>runPackages 0x15691cb70 s BlockClosure>ensure: 0x15691cc50 s UIManager class>nonInteractiveDuring: 0x15691cd08 s GtExamplesCommandLineHandler>runPackages 0x15691cdc0 s GtExamplesCommandLineHandler>activate 0x15691ce78 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: 0x15691cf68 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0x15691d048 s BlockClosure>on:do: 0x15691d128 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: 0x15691d200 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand 0x15691d2b8 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: 0x15691d380 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate 0x15691d458 s BlockClosure>on:do: 0x15691d530 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate 0x15691d608 s [] in BlockClosure>newProcess (lldb) call dumpPrimTraceLog() stringHash:initialHash: compare:with:collated: stringHash:initialHash: stringHash:initialHash: **StackOverflow** primitiveChangeClassTo: **StackOverflow** **StackOverflow** stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: compare:with:collated: primitiveChangeClassTo: primitiveChangeClassTo: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: compare:with:collated: compare:with:collated: stringHash:initialHash: compare:with:collated: primitiveChangeClassTo: primitiveChangeClassTo: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: compare:with:collated: compare:with:collated: primitiveChangeClassTo: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: compare:with:collated: compare:with:collated: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: stringHash:initialHash: basicNew: **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** perform:withArguments: **StackOverflow** **StackOverflow** **StackOverflow** size **StackOverflow** **StackOverflow** stringHash:initialHash: **StackOverflow** stringHash:initialHash: **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** stringHash:initialHash: stringHash:initialHash: **StackOverflow** **StackOverflow** **StackOverflow** stringHash:initialHash: **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** stringHash:initialHash: **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** stringHash:initialHash: **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** stringHash:initialHash: **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** basicNew **StackOverflow** perform:withArguments: **StackOverflow** stringHash:initialHash: stringHash:initialHash: **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** perform: **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** perform:withArguments: **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** stringHash:initialHash: **StackOverflow** **StackOverflow** stringHash:initialHash: **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** stringHash:initialHash: **StackOverflow** **StackOverflow** stringHash:initialHash: basicNew perform:withArguments: **StackOverflow** **StackOverflow** **StackOverflow** basicNew **StackOverflow** **StackOverflow** class perform:withArguments: value: first basicNew **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** **StackOverflow** basicNew perform:withArguments: basicNew findNextHandlerOrSignalingContext tempAt: class findNextHandlerOrSignalingContext tempAt: tempAt: shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **StackOverflow** shallowCopy **StackOverflow** shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy shallowCopy **CompactCode** > On 26 Sep 2020, at 23:24, Eliot Miranda wrote: > > Hi Andrei, > > fixed in commit 561b06530bbaed5f19e9d7f077a7df9eb3a8d236, VMMaker.oscog-eem.2824 > > > On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis > wrote: > > Hi, > > We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm . > > To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. > > (lldb) call (void *) printOop(0x1206b6990) > 0x1206b6990: a(n) Context > 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 > 0x1206b6b28 0x1206b6b50 > > Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. > > Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. > > A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). > Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? > > > 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context > 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context > 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context > ... > 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context > 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context > 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator > 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure > 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context > 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context > 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context > 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood > 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB > 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator > ... > 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class > 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set > 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array > 0x1206b5b98 s Set>collect: > 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: > 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages > 0x1206b6a48 s BlockClosure>ensure: > 0x1206b6b68 s UIManager class>nonInteractiveDuring: > 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages > 0x1206b6d98 s GtExamplesCommandLineHandler>activate > 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: > 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x1207e6620 s BlockClosure>on:do: > 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand > 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: > 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x1207a83e0 s BlockClosure>on:do: > 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x1207bf830 s [] in BlockClosure>newProcess > Cheers, > Andrei > > > [1] https://github.com/feenkcom/gtoolkit/issues/1440 > > > > -- > _,,,^..^,,,_ > best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Sun Sep 27 17:57:47 2020 From: noreply at github.com (Eliot Miranda) Date: Sun, 27 Sep 2020 10:57:47 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] d485f8: Fix the mingw Squeak3D build. MSVC defines size_t... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: d485f8e94961b4dc1fc623ebc3aea35dbdc2c3e2 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/d485f8e94961b4dc1fc623ebc3aea35dbdc2c3e2 Author: Eliot Miranda Date: 2020-09-27 (Sun, 27 Sep 2020) Changed paths: M build.win32x86/common/Makefile M build.win32x86/common/Makefile.plugin M build.win64x64/common/Makefile M build.win64x64/common/Makefile.plugin M platforms/win32/vm/sqPlatformSpecific.h Log Message: ----------- Fix the mingw Squeak3D build. MSVC defines size_t in vcruntime.h. But for mingw we have to pull in corecrt.h. Also add the VM import library to external plugin links so that a plugin can see warning et al. From no-reply at appveyor.com Sun Sep 27 18:04:30 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 27 Sep 2020 18:04:30 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2212 Message-ID: <20200927180430.1.5FD571A5696763BB@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sun Sep 27 18:17:56 2020 From: builds at travis-ci.org (Travis CI) Date: Sun, 27 Sep 2020 18:17:56 +0000 Subject: [Vm-dev] Errored: OpenSmalltalk/opensmalltalk-vm#2211 (Cog - d485f8e) In-Reply-To: Message-ID: <5f70d75451b83_13f80b34dbd04169880@travis-tasks-6cc4c4bf5-2p8pc.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2211 Status: Errored Duration: 19 mins and 45 secs Commit: d485f8e (Cog) Author: Eliot Miranda Message: Fix the mingw Squeak3D build. MSVC defines size_t in vcruntime.h. But for mingw we have to pull in corecrt.h. Also add the VM import library to external plugin links so that a plugin can see warning et al. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/5a0d21d71223...d485f8e94961 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730746313?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rowledge.org Sun Sep 27 19:20:33 2020 From: tim at rowledge.org (tim Rowledge) Date: Sun, 27 Sep 2020 12:20:33 -0700 Subject: [Vm-dev] binary configuration to make finding VM easier? Message-ID: <92F9F065-EB60-4E97-A618-7B69BAE1E62A@rowledge.org> Is there anything that can be done to make finding a VM on the bintray site easier? I've just been looking to see where I can grab the latest successful build of a squeak cog 32 bit linux ARM vm and ... that really isn't fun at all. Surely there is some way to categorise builds, or at least have a list of the latest version of each option, or sometihng like that? tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Dreams are free, but you get soaked on the connect time. From eliot.miranda at gmail.com Sun Sep 27 19:23:14 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Sun, 27 Sep 2020 12:23:14 -0700 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: Hi Andrei, On Sun, Sep 27, 2020 at 10:29 AM Andrei Chis wrote: > > Hi Eliot, > > Thanks a lot for your help. > > I compiled locally a vm from the commit hash > 5a0d21d71223b4d1f4d007ebf2441d530c18c3e2 (CogVM source as per > VMMaker.oscog-eem.2826) and I got a Context>>copyTo: crash. > I think I compiled the vm correctly. Are them some Pharo VMs built on > travis for Mac to try out instead of building locally? > There may be. The PharoVM team are not maintaining our CI builds so you may not be able to find a Pharo VM. > Below are the stack traces and primitive longs for two crashes with the > compiled vm. > OK, that's disappointing, but important. Maybe you can put an image/changes, support dylibs package up somewhere (Dropbox?) and I can try and run the test case locally. I tested the fix for some time and it clearly fixed one bug. But it does seem that there's another in a similar area. Thanks for your patience. One question, you're sure you're running the new VM? > Process 19347 stopped > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT > (code=EXC_I386_BPT, subcode=0x0) > frame #0: 0x0000000140103f79 > -> 0x140103f79: int3 > 0x140103f7a: int3 > 0x140103f7b: int3 > 0x140103f7c: int3 > Target 0: (Pharo) stopped. > > (lldb) call dumpPrimTraceLog() > basicNew > **StackOverflow** > basicNew > @ > @ > @ > @ > basicNew > basicNew > @ > @ > @ > @ > @ > @ > signal > signal > class > basicIdentityHash > basicNew > class > bitShift: > bitAnd: > asFloat > / > asFloat > fractionPart > truncated > fractionPart > truncated > fractionPart > truncated > setAlpha: > truncated > basicIdentityHash > basicNew > basicNew > class > class > basicNew > basicNew > basicIdentityHash > basicNew > basicNew > basicNew > wait > class > tempAt: > tempAt:put: > tempAt: > terminateTo: > signal > findNextUnwindContextUpTo: > terminateTo: > wait > **StackOverflow** > signal > replaceFrom:to:with:startingAt: > wait > **StackOverflow** > class > signal > basicNew > class > **StackOverflow** > **StackOverflow** > **StackOverflow** > wait > signal > basicIdentityHash > class > basicNew > basicNew > **StackOverflow** > class > class > **StackOverflow** > wait > signal > **StackOverflow** > **StackOverflow** > wait > signal > basicNew > basicNew > basicNew > signal > wait > signal > basicIdentityHash > basicIdentityHash > basicNew > basicNew > class > value:value: > basicNew > replaceFrom:to:with:startingAt: > valueWithArguments: > **StackOverflow** > basicIdentityHash > valueWithArguments: > basicNew > **StackOverflow** > class > findNextHandlerOrSignalingContext > **StackOverflow** > primitive > ~= > ~= > tempAt: > **StackOverflow** > tempAt: > basicNew > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > > > > (lldb) call printCallStack() > 0x7ffeefbe6d78 M Context(Object)>copy 0x145bbce28: a(n) Context > 0x7ffeefbe6db0 M Context>copyTo: 0x145bbce28: a(n) Context > 0x7ffeefbe6df8 M Context>copyTo: 0x145bbcd30: a(n) Context > 0x7ffeefbe6e40 M Context>copyTo: 0x145bbcc78: a(n) Context > 0x7ffeefbe6e88 M Context>copyTo: 0x145bbcbc0: a(n) Context > 0x7ffeefbe6ed0 M Context>copyTo: 0x19709adc8: a(n) Context > 0x7ffeefbe6f18 M Context>copyTo: 0x19709ad10: a(n) Context > 0x7ffeefbe37c8 M Context>copyTo: 0x19709ac58: a(n) Context > 0x7ffeefbe3810 M Context>copyTo: 0x19709aba0: a(n) Context > 0x7ffeefbe3858 M Context>copyTo: 0x19709aae8: a(n) Context > 0x7ffeefbe38a0 M Context>copyTo: 0x19709aa10: a(n) Context > 0x7ffeefbe38e8 M Context>copyTo: 0x19709a938: a(n) Context > 0x7ffeefbe3930 M Context>copyTo: 0x19709a860: a(n) Context > 0x7ffeefbe3978 M Context>copyTo: 0x19709a7a8: a(n) Context > 0x7ffeefbe39c0 M Context>copyTo: 0x19709a6f0: a(n) Context > 0x7ffeefbe3a08 M Context>copyTo: 0x19709a638: a(n) Context > 0x7ffeefbe3a50 M Context>copyTo: 0x19709a560: a(n) Context > 0x7ffeefbe3a98 M Context>copyTo: 0x19709a4a8: a(n) Context > 0x7ffeefbe3ae0 M Context>copyTo: 0x19709a3f0: a(n) Context > 0x7ffeefbe3b28 M Context>copyTo: 0x19709a338: a(n) Context > 0x7ffeefbe3b70 M Context>copyTo: 0x19709a280: a(n) Context > 0x7ffeefbe3bb8 M Context>copyTo: 0x19709a1c8: a(n) Context > 0x7ffeefbe3c00 M Context>copyTo: 0x19709a0e0: a(n) Context > 0x7ffeefbe3c48 M Context>copyTo: 0x197099ff8: a(n) Context > 0x7ffeefbe3c90 M Context>copyTo: 0x197099ee0: a(n) Context > 0x7ffeefbe3cd8 M Context>copyTo: 0x197099e28: a(n) Context > 0x7ffeefbe3d20 M Context>copyTo: 0x140169920: a(n) Context > 0x7ffeefbe3d68 M Context>copyTo: 0x140169868: a(n) Context > 0x7ffeefbe3db0 M Context>copyTo: 0x1401697b0: a(n) Context > 0x7ffeefbe3df8 M Context>copyTo: 0x1401696f8: a(n) Context > 0x7ffeefbe3e40 M Context>copyTo: 0x140169640: a(n) Context > 0x7ffeefbe3e88 M Context>copyTo: 0x140169588: a(n) Context > 0x7ffeefbe3ed0 M Context>copyTo: 0x1401694a0: a(n) Context > 0x7ffeefbe3f18 M Context>copyTo: 0x140169390: a(n) Context > 0x7ffeefbf47c8 M Context>copyTo: 0x1401692b0: a(n) Context > 0x7ffeefbf4810 M Context>copyTo: 0x1401691f8: a(n) Context > 0x7ffeefbf4858 M Context>copyTo: 0x140169140: a(n) Context > 0x7ffeefbf48a0 M Context>copyTo: 0x140169058: a(n) Context > 0x7ffeefbf48e8 M Context>copyTo: 0x140168f80: a(n) Context > 0x7ffeefbf4930 M Context>copyTo: 0x140168ec8: a(n) Context > 0x7ffeefbf4978 M Context>copyTo: 0x140168e10: a(n) Context > 0x7ffeefbf49c0 M Context>copyTo: 0x140168d38: a(n) Context > 0x7ffeefbf4a08 M Context>copyTo: 0x140168c58: a(n) Context > 0x7ffeefbf4a50 M Context>copyTo: 0x140168b80: a(n) Context > 0x7ffeefbf4a98 M Context>copyTo: 0x140168ac8: a(n) Context > 0x7ffeefbf4ae0 M Context>copyTo: 0x140168a10: a(n) Context > 0x7ffeefbf4b28 M Context>copyTo: 0x140168900: a(n) Context > 0x7ffeefbf4b70 M Context>copyTo: 0x140168810: a(n) Context > 0x7ffeefbf4bb8 M Context>copyTo: 0x140168718: a(n) Context > 0x7ffeefbf4c00 M Context>copyTo: 0x140168640: a(n) Context > 0x7ffeefbf4c48 M Context>copyTo: 0x14039c748: a(n) Context > 0x7ffeefbf4c90 M Context>copyTo: 0x14039c5d8: a(n) Context > 0x7ffeefbf4cd8 M Context>copyTo: 0x1401684b8: a(n) Context > 0x7ffeefbf4d20 M Context>copyTo: 0x1401683d8: a(n) Context > 0x7ffeefbf4d68 M Context>copyTo: 0x14039c2f8: a(n) Context > 0x7ffeefbf4db0 M Context>copyTo: 0x140167960: a(n) Context > 0x7ffeefbf4df8 M Context>copyTo: 0x1401678a8: a(n) Context > 0x7ffeefbf4e40 M Context>copyTo: 0x140167788: a(n) Context > 0x7ffeefbf4e88 M Context>copyTo: 0x14039bf60: a(n) Context > 0x7ffeefbf4ed0 M Context>copyTo: 0x14039bd38: a(n) Context > 0x7ffeefbf4f18 M Context>copyTo: 0x14039ba58: a(n) Context > 0x7ffeefbf07c8 M Context>copyTo: 0x14039b8e8: a(n) Context > 0x7ffeefbf0810 M Context>copyTo: 0x140167578: a(n) Context > 0x7ffeefbf0858 M Context>copyTo: 0x140167478: a(n) Context > 0x7ffeefbf08a0 M Context>copyTo: 0x14039b608: a(n) Context > 0x7ffeefbf08e8 M Context>copyTo: 0x14039b498: a(n) Context > 0x7ffeefbf0930 M Context>copyTo: 0x14039b328: a(n) Context > 0x7ffeefbf0978 M Context>copyTo: 0x140167310: a(n) Context > 0x7ffeefbf09c0 M Context>copyTo: 0x1401671e8: a(n) Context > 0x7ffeefbf0a08 M Context>copyTo: 0x140167108: a(n) Context > 0x7ffeefbf0a50 M Context>copyTo: 0x14039af90: a(n) Context > 0x7ffeefbf0a98 M Context>copyTo: 0x14039ae20: a(n) Context > 0x7ffeefbf0ae0 M Context>copyTo: 0x140166fe0: a(n) Context > 0x7ffeefbf0b28 M Context>copyTo: 0x140166ec0: a(n) Context > 0x7ffeefbf0b70 M Context>copyTo: 0x14039ab40: a(n) Context > 0x7ffeefbf0bb8 M Context>copyTo: 0x14039a9d0: a(n) Context > 0x7ffeefbf0c00 M Context>copyTo: 0x14039a860: a(n) Context > 0x7ffeefbf0c48 M Context>copyTo: 0x14039a6f0: a(n) Context > 0x7ffeefbf0c90 M Context>copyTo: 0x140166ca0: a(n) Context > 0x7ffeefbf0cd8 M Context>copyTo: 0x140166bb8: a(n) Context > 0x7ffeefbf0d20 M Context>copyTo: 0x140165f60: a(n) Context > 0x7ffeefbf0d68 M Context>copyTo: 0x140165ea8: a(n) Context > 0x7ffeefbf0db0 M Context>copyTo: 0x14039a2a0: a(n) Context > 0x7ffeefbf0df8 M Context>copyTo: 0x140165d48: a(n) Context > 0x7ffeefbf0e40 M Context>copyTo: 0x140165c20: a(n) Context > 0x7ffeefbf0e88 M Context>copyTo: 0x140165b40: a(n) Context > 0x7ffeefbf0ed0 M Context>copyTo: 0x140399e50: a(n) Context > 0x7ffeefbf0f18 M Context>copyTo: 0x140399b70: a(n) Context > 0x7ffeefbee7c8 M Context>copyTo: 0x140165a18: a(n) Context > 0x7ffeefbee810 M Context>copyTo: 0x1401658f8: a(n) Context > 0x7ffeefbee858 M Context>copyTo: 0x140399890: a(n) Context > 0x7ffeefbee8a0 M Context>copyTo: 0x140399720: a(n) Context > 0x7ffeefbee8e8 M Context>copyTo: 0x1403995b0: a(n) Context > 0x7ffeefbee930 M Context>copyTo: 0x140399440: a(n) Context > 0x7ffeefbee978 M Context>copyTo: 0x1403992d0: a(n) Context > 0x7ffeefbee9c0 M Context>copyTo: 0x140399160: a(n) Context > 0x7ffeefbeea08 M Context>copyTo: 0x140398ff0: a(n) Context > 0x7ffeefbeea50 M Context>copyTo: 0x140398e80: a(n) Context > 0x7ffeefbeea98 M Context>copyTo: 0x140398d10: a(n) Context > 0x7ffeefbeeae0 M Context>copyTo: 0x140165748: a(n) Context > 0x7ffeefbeeb28 M Context>copyTo: 0x140165648: a(n) Context > 0x7ffeefbeeb70 M Context>copyTo: 0x140398a30: a(n) Context > 0x7ffeefbeebb8 M Context>copyTo: 0x1403988c0: a(n) Context > 0x7ffeefbeec00 M Context>copyTo: 0x140165530: a(n) Context > 0x7ffeefbeec48 M Context>copyTo: 0x140165458: a(n) Context > 0x7ffeefbeec90 M Context>copyTo: 0x1403985e0: a(n) Context > 0x7ffeefbeecd8 M Context>copyTo: 0x140398470: a(n) Context > 0x7ffeefbeed20 M Context>copyTo: 0x140165088: a(n) Context > 0x7ffeefbeed68 M Context>copyTo: 0x140166ae0: a(n) Context > 0x7ffeefbeedb0 M Context>copyTo: 0x140398190: a(n) Context > 0x7ffeefbeedf8 M Context>copyTo: 0x140398020: a(n) Context > 0x7ffeefbeee40 M Context>copyTo: 0x140397eb0: a(n) Context > 0x7ffeefbeee88 M Context>copyTo: 0x1401669d8: a(n) Context > 0x7ffeefbeeed0 M Context>copyTo: 0x140397c88: a(n) Context > 0x7ffeefbeef18 M Context>copyTo: 0x140394d08: a(n) Context > 0x7ffeefbea798 M Context>copyTo: 0x140394e20: a(n) Context > 0x7ffeefbea7e0 M Context>copyTo: 0x140397838: a(n) Context > 0x7ffeefbea828 M Context>copyTo: 0x1403976c8: a(n) Context > 0x7ffeefbea870 M Context>copyTo: 0x140397558: a(n) Context > 0x7ffeefbea8b8 M Context>copyTo: 0x140395000: a(n) Context > 0x7ffeefbea900 M Context>copyTo: 0x140397330: a(n) Context > 0x7ffeefbea948 M Context>copyTo: 0x1403971c0: a(n) Context > 0x7ffeefbea990 M Context>copyTo: 0x140397050: a(n) Context > 0x7ffeefbea9d8 M Context>copyTo: 0x140396ee0: a(n) Context > 0x7ffeefbeaa20 M Context>copyTo: 0x140396d70: a(n) Context > 0x7ffeefbeaa68 M Context>copyTo: 0x1403958f8: a(n) Context > 0x7ffeefbeaab0 M Context>copyTo: 0x140396b48: a(n) Context > 0x7ffeefbeaaf8 M Context>copyTo: 0x140396298: a(n) Context > 0x7ffeefbeab40 M Context>copyTo: 0x140396920: a(n) Context > 0x7ffeefbeab88 M Context>copyTo: 0x1403967b0: a(n) Context > 0x7ffeefbeabd0 M Context>copyTo: 0x1403961e0: a(n) Context > 0x7ffeefbeac18 M Context>copyTo: 0x140396128: a(n) Context > 0x7ffeefbeac60 M Context>copyTo: 0x140396070: a(n) Context > 0x7ffeefbeacb8 I Context>copyTo: 0x140395e28: a(n) Context > 0x7ffeefbead00 I ZeroDivide(Exception)>freezeUpTo: 0x140395de8: a(n) > ZeroDivide > 0x7ffeefbead48 I ZeroDivide(Exception)>freeze 0x140395de8: a(n) > ZeroDivide > 0x7ffeefbead88 I BrDebugglableElementStencil>freeze: 0x140396408: a(n) > BrDebugglableElementStencil > 0x7ffeefbeadd8 I ZeroDivide(Exception)>asDebuggableElement > 0x140395de8: a(n) ZeroDivide > 0x7ffeefbeae18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: > 0x140169e48: a(n) GtPhlowColumn > 0x7ffeefbeae50 M BlockClosure>cull: 0x1403959f0: a(n) BlockClosure > 0x7ffeefbeaea0 I Context>evaluateSignal: 0x140396298: a(n) Context > 0x7ffeefbeaed8 M Context>handleSignal: 0x140396298: a(n) Context > 0x7ffeefbeaf20 I ZeroDivide(Exception)>signal 0x140395de8: a(n) > ZeroDivide > 0x7ffeefbe7840 I ZeroDivide(Exception)>signal: 0x140395de8: a(n) > ZeroDivide > 0x7ffeefbe7888 I ZeroDivide class(Exception class)>signal: > 0x1409f9490: a(n) ZeroDivide class > 0x7ffeefbe78c0 M [] in > GtPhlowColumnedListViewExamples>gtErrorInColumnDoDataBinderFor: > 0x140168630: a(n) GtPhlowColumnedListViewExamples > 0x7ffeefbe7908 M BlockClosure>glamourValueWithArgs: 0x140174180: a(n) > BlockClosure > 0x7ffeefbe7960 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: > 0x140169e48: a(n) GtPhlowColumn > 0x7ffeefbe7990 M BlockClosure>on:do: 0x1403959b0: a(n) BlockClosure > 0x7ffeefbe79d0 M GtPhlowColumn>performBlock:onException: 0x140169e48: > a(n) GtPhlowColumn > 0x7ffeefbe7a18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: > 0x140169e48: a(n) GtPhlowColumn > 0x7ffeefbe7a60 M BlockClosure>glamourValueWithArgs: 0x1401701c0: a(n) > BlockClosure > 0x7ffeefbe7a98 M BrStencilValuableExecutor>execute 0x140174230: a(n) > BrStencilValuableExecutor > 0x7ffeefbe7ad8 M BrColumnCellDataBinder(BrStencilBuilder)>build > 0x140170448: a(n) BrColumnCellDataBinder > 0x7ffeefbe7b38 I [] in BrColumnedListDataSource>onBindHolder:at: > 0x140169f38: a(n) BrColumnedListDataSource > 0x7ffeefbe7b98 I OrderedCollection(SequenceableCollection)>with:do: > 0x140169ff8: a(n) OrderedCollection > 0x7ffeefbe7bf8 I BrColumnedListDataSource>onBindHolder:at: > 0x140169f38: a(n) BrColumnedListDataSource > 0x7ffeefbe7c48 I > BrColumnedListDataSource(BlInfiniteDataSource)>onBindHolder:at:payloads: > 0x140169f38: a(n) BrColumnedListDataSource > 0x7ffeefbe7ca0 M [] in > BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: > a(n) BrColumnedListDataSource > 0x7ffeefbe7ce0 M BlockClosure>ensure: 0x140394df0: a(n) BlockClosure > 0x7ffeefbe7d18 M BlNullTelemetry(BlTelemetry)>timeSync:during: > 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe7d58 M > BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: > a(n) BrColumnedListDataSource > 0x7ffeefbe7d98 M BlInfiniteRecyclerController>bindHolder:at: > 0x1401662c0: a(n) BlInfiniteRecyclerController > 0x7ffeefbe7e10 M BlInfiniteRecycler>elementFor:dryRun: 0x1401652b8: > a(n) BlInfiniteRecycler > 0x7ffeefbe7e50 M BlInfiniteRecycler>elementFor: 0x1401652b8: a(n) > BlInfiniteRecycler > 0x7ffeefbe7e98 M [] in BlInfiniteLinearLayoutState>nextElement:in: > 0x140165020: a(n) BlInfiniteLinearLayoutState > 0x7ffeefbe7ed8 M BlockClosure>ensure: 0x140166a90: a(n) BlockClosure > 0x7ffeefbe7f10 M BlNullTelemetry(BlTelemetry)>timeSync:during: > 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe27d0 M BlInfiniteLinearLayoutState>nextElement:in: > 0x140165020: a(n) BlInfiniteLinearLayoutState > 0x7ffeefbe2818 M [] in BlInfiniteLinearLayout>layoutChunkAdd > 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2858 M BlockClosure>ensure: 0x140165410: a(n) BlockClosure > 0x7ffeefbe2890 M BlNullTelemetry(BlTelemetry)>timeSync:during: > 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe28d8 M BlInfiniteLinearLayout>layoutChunkAdd 0x140165320: > a(n) BlInfiniteLinearLayout > 0x7ffeefbe2910 M [] in BlInfiniteLinearLayout>layoutChunk 0x140165320: > a(n) BlInfiniteLinearLayout > 0x7ffeefbe2950 M BlockClosure>ensure: 0x140165600: a(n) BlockClosure > 0x7ffeefbe2988 M BlNullTelemetry(BlTelemetry)>timeSync:during: > 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe29e0 M BlInfiniteLinearLayout>layoutChunk 0x140165320: a(n) > BlInfiniteLinearLayout > 0x7ffeefbe2a48 I BlInfiniteLinearLayout>fillLayout: 0x140165320: a(n) > BlInfiniteLinearLayout > 0x7ffeefbe2ab8 I BlInfiniteLinearLayout>layoutChildrenFillFromStart: > 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2b00 I BlInfiniteLinearLayout>layoutChildrenFill: > 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2b58 I BlInfiniteLinearLayout>layoutChildrenIn:state: > 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2ba8 I > BrInfiniteListElement(BlInfiniteElement)>dispatchLayoutSecondStep > 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2be8 I > BrInfiniteListElement(BlInfiniteElement)>dispatchLayout 0x140165140: a(n) > BrInfiniteListElement > 0x7ffeefbe2c18 M BrInfiniteListElement(BlInfiniteElement)>onLayout: > 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2c58 M [] in > BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: 0x140165140: a(n) > BrInfiniteListElement > 0x7ffeefbe2c98 M BlockClosure>ensure: 0x1401658b0: a(n) BlockClosure > 0x7ffeefbe2cd0 M BlNullTelemetry(BlTelemetry)>timeSync:during: > 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe2d30 M BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: > 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2d70 M [] in BrInfiniteListElement(BlElement)>applyLayoutIn: > 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2da0 M BlockClosure>on:do: 0x140165ad0: a(n) BlockClosure > 0x7ffeefbe2de0 M > BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x140165b28: a(n) > BlCompositeErrorHandler > 0x7ffeefbe2e28 M BrInfiniteListElement(BlElement)>applyLayoutIn: > 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2e80 M [] in BlLinearLayoutVerticalOrientation>layout:in: > 0x140165d38: a(n) BlLinearLayoutVerticalOrientation > 0x7ffeefbe2ed0 M [] in > BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140165e50: a(n) > BlChildrenAccountedByLayout > 0x7ffeefbe2f18 M Array(SequenceableCollection)>do: 0x140165e98: a(n) > Array > 0x7ffeefbe9868 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: > 0x140165e50: a(n) BlChildrenAccountedByLayout > 0x7ffeefbe98a8 M BlChildrenAccountedByLayout(BlChildren)>inject:into: > 0x140165e50: a(n) BlChildrenAccountedByLayout > 0x7ffeefbe9918 M BlLinearLayoutVerticalOrientation>layout:in: > 0x140165d38: a(n) BlLinearLayoutVerticalOrientation > 0x7ffeefbe9958 M BlLinearLayout>layout:in: 0x140166e18: a(n) > BlLinearLayout > 0x7ffeefbe9998 M BrColumnedList(BlElement)>onLayout: 0x140166d70: a(n) > BrColumnedList > 0x7ffeefbe99d8 M [] in BrColumnedList(BlElement)>applyLayoutSafelyIn: > 0x140166d70: a(n) BrColumnedList > 0x7ffeefbe9a18 M BlockClosure>ensure: 0x140166e78: a(n) BlockClosure > 0x7ffeefbe9a50 M BlNullTelemetry(BlTelemetry)>timeSync:during: > 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe9ab0 M BrColumnedList(BlElement)>applyLayoutSafelyIn: > 0x140166d70: a(n) BrColumnedList > 0x7ffeefbe9af0 M [] in BrColumnedList(BlElement)>applyLayoutIn: > 0x140166d70: a(n) BrColumnedList > 0x7ffeefbe9b20 M BlockClosure>on:do: 0x140167098: a(n) BlockClosure > 0x7ffeefbe9b60 M > BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401670f0: a(n) > BlCompositeErrorHandler > 0x7ffeefbe9ba8 M BrColumnedList(BlElement)>applyLayoutIn: 0x140166d70: > a(n) BrColumnedList > 0x7ffeefbe9c00 M [] in BlLinearLayoutVerticalOrientation>layout:in: > 0x140167300: a(n) BlLinearLayoutVerticalOrientation > 0x7ffeefbe9c50 M [] in > BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140167418: a(n) > BlChildrenAccountedByLayout > 0x7ffeefbe9c98 M Array(SequenceableCollection)>do: 0x140167460: a(n) > Array > 0x7ffeefbe9cd0 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: > 0x140167418: a(n) BlChildrenAccountedByLayout > 0x7ffeefbe9d10 M BlChildrenAccountedByLayout(BlChildren)>inject:into: > 0x140167418: a(n) BlChildrenAccountedByLayout > 0x7ffeefbe9d80 M BlLinearLayoutVerticalOrientation>layout:in: > 0x140167300: a(n) BlLinearLayoutVerticalOrientation > 0x7ffeefbe9dc0 M BlLinearLayout>layout:in: 0x1401676e0: a(n) > BlLinearLayout > 0x7ffeefbe9e00 M BlElement>onLayout: 0x140167648: a(n) BlElement > 0x7ffeefbe9e40 M [] in BlElement>applyLayoutSafelyIn: 0x140167648: > a(n) BlElement > 0x7ffeefbe9e80 M BlockClosure>ensure: 0x140167740: a(n) BlockClosure > 0x7ffeefbe9eb8 M BlNullTelemetry(BlTelemetry)>timeSync:during: > 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe9f18 M BlElement>applyLayoutSafelyIn: 0x140167648: a(n) > BlElement > 0x7ffeefbed7e0 M [] in BlElement>applyLayoutIn: 0x140167648: a(n) > BlElement > 0x7ffeefbed810 M BlockClosure>on:do: 0x140168368: a(n) BlockClosure > 0x7ffeefbed850 M > BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401683c0: a(n) > BlCompositeErrorHandler > 0x7ffeefbed898 M BlElement>applyLayoutIn: 0x140167648: a(n) BlElement > 0x7ffeefbed908 I BlElement>computeLayout 0x140167648: a(n) BlElement > 0x7ffeefbed948 I BlElement>forceLayout 0x140167648: a(n) BlElement > 0x7ffeefbed9a8 I > GtPhlowColumnedListViewExamples>errorInColumnDoDataBinder 0x140168630: a(n) > GtPhlowColumnedListViewExamples > 0x7ffeefbed9d8 M > GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: > 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbeda38 M [] in > GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x1401686f8: a(n) > GtExampleDebugger > 0x7ffeefbeda78 M BlockClosure>ensure: 0x1401688c8: a(n) BlockClosure > 0x7ffeefbedac8 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: > 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedb00 M GtExampleDebugger(GtExampleProcessor)>process: > 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedb38 M [] in GtExampleDebugger(GtExampleProcessor)>value > 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedb68 M BlockClosure>on:do: 0x140168c38: a(n) BlockClosure > 0x7ffeefbedba8 M GtCurrentExampleContext class>use:during: > 0x1446188f0: a(n) GtCurrentExampleContext class > 0x7ffeefbedbe8 M GtExampleDebugger(GtExampleProcessor)>withContextDo: > 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedc20 M GtExampleDebugger(GtExampleProcessor)>value > 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedc50 M [] in GtExampleDebugger(GtExampleEvaluator)>result > 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedc80 M GtExampleDebugger>do:on:do: 0x1401686f8: a(n) > GtExampleDebugger > 0x7ffeefbedcc8 M GtExampleDebugger(GtExampleEvaluator)>result > 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedcf8 M GtExample>debug 0x19709dfc8: a(n) GtExample > 0x7ffeefbedd30 M [] in GtExamplesHDReport>runExample: 0x197099d30: > a(n) GtExamplesHDReport > 0x7ffeefbedd60 M BlockClosure>on:do: 0x140169368: a(n) BlockClosure > 0x7ffeefbeddb0 M [] in GtExamplesHDReport>runExample: 0x197099d30: > a(n) GtExamplesHDReport > 0x7ffeefbedde8 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time > class > 0x7ffeefbede20 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time > class > 0x7ffeefbede60 M BlockClosure>timeToRun 0x140169558: a(n) BlockClosure > 0x7ffeefbede98 M GtExamplesHDReport>beginExample:runBlock: > 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbedee0 M GtExamplesHDReport>runExample: 0x197099d30: a(n) > GtExamplesHDReport > 0x7ffeefbedf18 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) > GtExamplesHDReport > 0x7ffeefbdea38 M OrderedCollection>do: 0x197099e08: a(n) > OrderedCollection > 0x7ffeefbdea70 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) > GtExamplesHDReport > 0x7ffeefbdeab0 M [] in CurrentExecutionEnvironment class>activate:for: > 0x140a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbdeaf0 M BlockClosure>ensure: 0x19709a0b0: a(n) BlockClosure > 0x7ffeefbdeb30 M CurrentExecutionEnvironment class>activate:for: > 0x140a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbdeb70 M > TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x197099fb8: > a(n) TestExecutionEnvironment > 0x7ffeefbdeba8 M DefaultExecutionEnvironment>runTestsBy: 0x1409f7da8: > a(n) DefaultExecutionEnvironment > 0x7ffeefbdebe0 M CurrentExecutionEnvironment class>runTestsBy: > 0x140a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbdec18 M GtExamplesHDReport>runAll 0x197099d30: a(n) > GtExamplesHDReport > 0x7ffeefbdec48 M [] in GtExamplesHDReport>run 0x197099d30: a(n) > GtExamplesHDReport > 0x7ffeefbdec80 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time > class > 0x7ffeefbdecb8 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time > class > 0x7ffeefbdecf8 M BlockClosure>timeToRun 0x19709a618: a(n) BlockClosure > 0x7ffeefbded28 M [] in GtExamplesHDReport>run 0x197099d30: a(n) > GtExamplesHDReport > 0x7ffeefbded68 M BlockClosure>ensure: 0x19709a918: a(n) BlockClosure > 0x7ffeefbdeda0 M [] in GtExamplesHDReport>run 0x197099d30: a(n) > GtExamplesHDReport > 0x7ffeefbdedd0 M Author>ifUnknownAuthorUse:during: 0x14102a740: a(n) > Author > 0x7ffeefbdee10 M GtExamplesHDReport>run 0x197099d30: a(n) > GtExamplesHDReport > 0x7ffeefbdee48 M GtExamplesHDReport class>runPackage: 0x144618008: > a(n) GtExamplesHDReport class > 0x7ffeefbdee80 M [] in GtExamplesHDReport class(HDReport > class)>runPackages: 0x144618008: a(n) GtExamplesHDReport class > 0x7ffeefbdeed0 M [] in Set>collect: 0x145bbc4d8: a(n) Set > 0x7ffeefbdef18 M Array(SequenceableCollection)>do: 0x145bbc520: a(n) > Array > 0x145bbcc78 s Set>collect: > 0x145bbcd30 s GtExamplesHDReport class(HDReport class)>runPackages: > 0x145bbce28 s [] in GtExamplesCommandLineHandler>runPackages > 0x145bbcf08 s BlockClosure>ensure: > 0x14e950710 s UIManager class>nonInteractiveDuring: > 0x14e9507c8 s GtExamplesCommandLineHandler>runPackages > 0x14e950880 s GtExamplesCommandLineHandler>activate > 0x14e950938 s GtExamplesCommandLineHandler class(CommandLineHandler > class)>activateWith: > 0x14e9509f0 s [] in > PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x14e950aa8 s BlockClosure>on:do: > 0x14e950b60 s > PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x14e950c38 s > PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand > 0x14e950cf0 s > PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: > 0x14e950db8 s [] in > PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x14e950e90 s BlockClosure>on:do: > 0x14e950f68 s [] in > PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x14e951040 s [] in BlockClosure>newProcess > > > > Process 18798 stopped > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT > (code=EXC_I386_BPT, subcode=0x0) > frame #0: 0x00000001481107d1 > -> 0x1481107d1: int3 > 0x1481107d2: int3 > 0x1481107d3: int3 > 0x1481107d4: int3 > Target 0: (Pharo) stopped. > > (lldb) call printAllStacks() > Process 0x15511b938 priority 40 > 0x7ffeefbf0a18 M Context(Object)>copy 0x15691cf68: a(n) Context > 0x7ffeefbf0a50 M Context>copyTo: 0x15691cf68: a(n) Context > 0x7ffeefbf0a98 M Context>copyTo: 0x15691ce78: a(n) Context > 0x7ffeefbf0ae0 M Context>copyTo: 0x15691cdc0: a(n) Context > 0x7ffeefbf0b28 M Context>copyTo: 0x15691cd08: a(n) Context > 0x7ffeefbf0b70 M Context>copyTo: 0x15691cc50: a(n) Context > 0x7ffeefbf0bb8 M Context>copyTo: 0x15691cb70: a(n) Context > 0x7ffeefbf0c00 M Context>copyTo: 0x15691ca90: a(n) Context > 0x7ffeefbf0c48 M Context>copyTo: 0x15691c998: a(n) Context > 0x7ffeefbf0c90 M Context>copyTo: 0x15691c8e0: a(n) Context > 0x7ffeefbf0cd8 M Context>copyTo: 0x15691c828: a(n) Context > 0x7ffeefbf0d20 M Context>copyTo: 0x14874a2c8: a(n) Context > 0x7ffeefbf0d68 M Context>copyTo: 0x14874a158: a(n) Context > 0x7ffeefbf0db0 M Context>copyTo: 0x148749fe8: a(n) Context > 0x7ffeefbf0df8 M Context>copyTo: 0x14816e2e8: a(n) Context > 0x7ffeefbf0e40 M Context>copyTo: 0x148749dc0: a(n) Context > 0x7ffeefbf0e88 M Context>copyTo: 0x14816e210: a(n) Context > 0x7ffeefbf0ed0 M Context>copyTo: 0x148749ae0: a(n) Context > 0x7ffeefbf0f18 M Context>copyTo: 0x14816e118: a(n) Context > 0x7ffeefbdc7c8 M Context>copyTo: 0x148749748: a(n) Context > 0x7ffeefbdc810 M Context>copyTo: 0x1487495d8: a(n) Context > 0x7ffeefbdc858 M Context>copyTo: 0x148749468: a(n) Context > 0x7ffeefbdc8a0 M Context>copyTo: 0x1487492f8: a(n) Context > 0x7ffeefbdc8e8 M Context>copyTo: 0x14816e040: a(n) Context > 0x7ffeefbdc930 M Context>copyTo: 0x1487490d0: a(n) Context > 0x7ffeefbdc978 M Context>copyTo: 0x148748f60: a(n) Context > 0x7ffeefbdc9c0 M Context>copyTo: 0x148748df0: a(n) Context > 0x7ffeefbdca08 M Context>copyTo: 0x14816df38: a(n) Context > 0x7ffeefbdca50 M Context>copyTo: 0x148748bc8: a(n) Context > 0x7ffeefbdca98 M Context>copyTo: 0x14816de20: a(n) Context > 0x7ffeefbdcae0 M Context>copyTo: 0x14816eeb8: a(n) Context > 0x7ffeefbdcb28 M Context>copyTo: 0x1487488e8: a(n) Context > 0x7ffeefbdcb70 M Context>copyTo: 0x148748778: a(n) Context > 0x7ffeefbdcbb8 M Context>copyTo: 0x14866e858: a(n) Context > 0x7ffeefbdcc00 M Context>copyTo: 0x148748550: a(n) Context > 0x7ffeefbdcc48 M Context>copyTo: 0x1487483e0: a(n) Context > 0x7ffeefbdcc90 M Context>copyTo: 0x148748270: a(n) Context > 0x7ffeefbdccd8 M Context>copyTo: 0x148748100: a(n) Context > 0x7ffeefbdcd20 M Context>copyTo: 0x148676078: a(n) Context > 0x7ffeefbdcd68 M Context>copyTo: 0x148747ed8: a(n) Context > 0x7ffeefbdcdb0 M Context>copyTo: 0x148747d68: a(n) Context > 0x7ffeefbdcdf8 M Context>copyTo: 0x148747bf8: a(n) Context > 0x7ffeefbdce40 M Context>copyTo: 0x148676280: a(n) Context > 0x7ffeefbdce88 M Context>copyTo: 0x1487479d0: a(n) Context > 0x7ffeefbdced0 M Context>copyTo: 0x1487477a8: a(n) Context > 0x7ffeefbdcf18 M Context>copyTo: 0x148676400: a(n) Context > 0x7ffeefbda7c8 M Context>copyTo: 0x148747410: a(n) Context > 0x7ffeefbda810 M Context>copyTo: 0x1486764d8: a(n) Context > 0x7ffeefbda858 M Context>copyTo: 0x1487471e8: a(n) Context > 0x7ffeefbda8a0 M Context>copyTo: 0x148747078: a(n) Context > 0x7ffeefbda8e8 M Context>copyTo: 0x148746f08: a(n) Context > 0x7ffeefbda930 M Context>copyTo: 0x14873f918: a(n) Context > 0x7ffeefbda978 M Context>copyTo: 0x148746ce0: a(n) Context > 0x7ffeefbda9c0 M Context>copyTo: 0x148746b70: a(n) Context > 0x7ffeefbdaa08 M Context>copyTo: 0x148746a00: a(n) Context > 0x7ffeefbdaa50 M Context>copyTo: 0x148746890: a(n) Context > 0x7ffeefbdaa98 M Context>copyTo: 0x148746720: a(n) Context > 0x7ffeefbdaae0 M Context>copyTo: 0x1487415b8: a(n) Context > 0x7ffeefbdab28 M Context>copyTo: 0x1487412a8: a(n) Context > 0x7ffeefbdab70 M Context>copyTo: 0x148746440: a(n) Context > 0x7ffeefbdabb8 M Context>copyTo: 0x148745088: a(n) Context > 0x7ffeefbdac00 M Context>copyTo: 0x148746218: a(n) Context > 0x7ffeefbdac48 M Context>copyTo: 0x1487414e0: a(n) Context > 0x7ffeefbdac90 M Context>copyTo: 0x148745ff0: a(n) Context > 0x7ffeefbdacd8 M Context>copyTo: 0x148741670: a(n) Context > 0x7ffeefbdad20 M Context>copyTo: 0x148744fd0: a(n) Context > 0x7ffeefbdad68 M Context>copyTo: 0x148745ba0: a(n) Context > 0x7ffeefbdadb0 M Context>copyTo: 0x148745a30: a(n) Context > 0x7ffeefbdadf8 M Context>copyTo: 0x148744bd8: a(n) Context > 0x7ffeefbdae40 M Context>copyTo: 0x148745808: a(n) Context > 0x7ffeefbdae88 M Context>copyTo: 0x148745698: a(n) Context > 0x7ffeefbdaed0 M Context>copyTo: 0x148745528: a(n) Context > 0x7ffeefbdaf18 M Context>copyTo: 0x148744f18: a(n) Context > 0x7ffeefbe0988 I Context>copyTo: 0x148744e60: a(n) Context > 0x7ffeefbe09d0 I MessageNotUnderstood(Exception)>freezeUpTo: > 0x148744e10: a(n) MessageNotUnderstood > 0x7ffeefbe0a18 I MessageNotUnderstood(Exception)>freeze 0x148744e10: > a(n) MessageNotUnderstood > 0x7ffeefbe0a48 M [] in GtExampleEvaluator>result 0x148741238: a(n) > GtExampleEvaluator > 0x7ffeefbe0a80 M BlockClosure>cull: 0x1487414c0: a(n) BlockClosure > 0x7ffeefbe0ac0 M Context>evaluateSignal: 0x148745088: a(n) Context > 0x7ffeefbe0af8 M Context>handleSignal: 0x148745088: a(n) Context > 0x7ffeefbe0b30 M Context>handleSignal: 0x148744fd0: a(n) Context > 0x7ffeefbe0b68 M MessageNotUnderstood(Exception)>signal 0x148744e10: > a(n) MessageNotUnderstood > 0x7ffeefbe0bb8 I > GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH > 0x148744bc8: a(n) GtDummyExamplesWithInheritanceSubclassB > 0x7ffeefbe0bf0 M > GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: > 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0c50 M [] in GtExampleEvaluator>basicProcess: 0x148741238: > a(n) GtExampleEvaluator > 0x7ffeefbe0c90 M BlockClosure>ensure: 0x148744c90: a(n) BlockClosure > 0x7ffeefbe0ce0 M GtExampleEvaluator>basicProcess: 0x148741238: a(n) > GtExampleEvaluator > 0x7ffeefbe0d18 M GtExampleEvaluator(GtExampleProcessor)>process: > 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0d50 M [] in GtExampleEvaluator(GtExampleProcessor)>value > 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0d80 M BlockClosure>on:do: 0x148741598: a(n) BlockClosure > 0x7ffeefbe0dc0 M GtCurrentExampleContext class>use:during: > 0x14c618920: a(n) GtCurrentExampleContext class > 0x7ffeefbe0e00 M GtExampleEvaluator(GtExampleProcessor)>withContextDo: > 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0e38 M GtExampleEvaluator(GtExampleProcessor)>value > 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0e68 M [] in GtExampleEvaluator>result 0x148741238: a(n) > GtExampleEvaluator > 0x7ffeefbe0e98 M BlockClosure>on:do: 0x148741360: a(n) BlockClosure > 0x7ffeefbe0ed8 M GtExampleEvaluator>do:on:do: 0x148741238: a(n) > GtExampleEvaluator > 0x7ffeefbe0f20 M GtExampleEvaluator>result 0x148741238: a(n) > GtExampleEvaluator > 0x7ffeefbde8b8 M GtExample>run 0x148740050: a(n) GtExample > 0x7ffeefbde8e8 M GtExample>result 0x148740050: a(n) GtExample > 0x7ffeefbde930 I > GtExamplesExamplesWithInheritance>resultOfInvalidExampleWithInvalidSuperclassProvider > 0x14873f908: a(n) GtExamplesExamplesWithInheritance > 0x7ffeefbde960 M > GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: > 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbde9c0 M [] in > GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x148676210: a(n) > GtExampleDebugger > 0x7ffeefbdea00 M BlockClosure>ensure: 0x14873f9d0: a(n) BlockClosure > 0x7ffeefbdea50 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: > 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdea88 M GtExampleDebugger(GtExampleProcessor)>process: > 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdeac0 M [] in GtExampleDebugger(GtExampleProcessor)>value > 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdeaf0 M BlockClosure>on:do: 0x1486764b8: a(n) BlockClosure > 0x7ffeefbdeb30 M GtCurrentExampleContext class>use:during: > 0x14c618920: a(n) GtCurrentExampleContext class > 0x7ffeefbdeb70 M GtExampleDebugger(GtExampleProcessor)>withContextDo: > 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdeba8 M GtExampleDebugger(GtExampleProcessor)>value > 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdebd8 M [] in GtExampleDebugger(GtExampleEvaluator)>result > 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdec08 M GtExampleDebugger>do:on:do: 0x148676210: a(n) > GtExampleDebugger > 0x7ffeefbdec50 M GtExampleDebugger(GtExampleEvaluator)>result > 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdec80 M GtExample>debug 0x148188088: a(n) GtExample > 0x7ffeefbdecb8 M [] in GtExamplesHDReport>runExample: 0x14816dff0: > a(n) GtExamplesHDReport > 0x7ffeefbdece8 M BlockClosure>on:do: 0x148676130: a(n) BlockClosure > 0x7ffeefbded38 M [] in GtExamplesHDReport>runExample: 0x14816dff0: > a(n) GtExamplesHDReport > 0x7ffeefbded70 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time > class > 0x7ffeefbdeda8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time > class > 0x7ffeefbdede8 M BlockClosure>timeToRun 0x14866e910: a(n) BlockClosure > 0x7ffeefbdee20 M GtExamplesHDReport>beginExample:runBlock: > 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbdee68 M GtExamplesHDReport>runExample: 0x14816dff0: a(n) > GtExamplesHDReport > 0x7ffeefbdeea0 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) > GtExamplesHDReport > 0x7ffeefbdeee8 M OrderedCollection>do: 0x14816ee98: a(n) > OrderedCollection > 0x7ffeefbdef20 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) > GtExamplesHDReport > 0x7ffeefbd8ab0 M [] in CurrentExecutionEnvironment class>activate:for: > 0x148a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbd8af0 M BlockClosure>ensure: 0x14816ded8: a(n) BlockClosure > 0x7ffeefbd8b30 M CurrentExecutionEnvironment class>activate:for: > 0x148a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbd8b70 M > TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x14816ddc0: > a(n) TestExecutionEnvironment > 0x7ffeefbd8ba8 M DefaultExecutionEnvironment>runTestsBy: 0x1489f7da8: > a(n) DefaultExecutionEnvironment > 0x7ffeefbd8be0 M CurrentExecutionEnvironment class>runTestsBy: > 0x148a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbd8c18 M GtExamplesHDReport>runAll 0x14816dff0: a(n) > GtExamplesHDReport > 0x7ffeefbd8c48 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) > GtExamplesHDReport > 0x7ffeefbd8c80 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time > class > 0x7ffeefbd8cb8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time > class > 0x7ffeefbd8cf8 M BlockClosure>timeToRun 0x14816e0f8: a(n) BlockClosure > 0x7ffeefbd8d28 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) > GtExamplesHDReport > 0x7ffeefbd8d68 M BlockClosure>ensure: 0x14816e1d0: a(n) BlockClosure > 0x7ffeefbd8da0 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) > GtExamplesHDReport > 0x7ffeefbd8dd0 M Author>ifUnknownAuthorUse:during: 0x14902a740: a(n) > Author > 0x7ffeefbd8e10 M GtExamplesHDReport>run 0x14816dff0: a(n) > GtExamplesHDReport > 0x7ffeefbd8e48 M GtExamplesHDReport class>runPackage: 0x14c618038: > a(n) GtExamplesHDReport class > 0x7ffeefbd8e80 M [] in GtExamplesHDReport class(HDReport > class)>runPackages: 0x14c618038: a(n) GtExamplesHDReport class > 0x7ffeefbd8ed0 M [] in Set>collect: 0x15691c088: a(n) Set > 0x7ffeefbd8f18 M Array(SequenceableCollection)>do: 0x15691c188: a(n) > Array > 0x15691c8e0 s Set>collect: > 0x15691c998 s GtExamplesHDReport class(HDReport class)>runPackages: > 0x15691ca90 s [] in GtExamplesCommandLineHandler>runPackages > 0x15691cb70 s BlockClosure>ensure: > 0x15691cc50 s UIManager class>nonInteractiveDuring: > 0x15691cd08 s GtExamplesCommandLineHandler>runPackages > 0x15691cdc0 s GtExamplesCommandLineHandler>activate > 0x15691ce78 s GtExamplesCommandLineHandler class(CommandLineHandler > class)>activateWith: > 0x15691cf68 s [] in > PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x15691d048 s BlockClosure>on:do: > 0x15691d128 s > PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x15691d200 s > PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand > 0x15691d2b8 s > PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: > 0x15691d380 s [] in > PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x15691d458 s BlockClosure>on:do: > 0x15691d530 s [] in > PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x15691d608 s [] in BlockClosure>newProcess > > > (lldb) call dumpPrimTraceLog() > stringHash:initialHash: > compare:with:collated: > stringHash:initialHash: > stringHash:initialHash: > **StackOverflow** > primitiveChangeClassTo: > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > compare:with:collated: > primitiveChangeClassTo: > primitiveChangeClassTo: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > compare:with:collated: > compare:with:collated: > stringHash:initialHash: > compare:with:collated: > primitiveChangeClassTo: > primitiveChangeClassTo: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > compare:with:collated: > compare:with:collated: > primitiveChangeClassTo: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > compare:with:collated: > compare:with:collated: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > basicNew: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > perform:withArguments: > **StackOverflow** > **StackOverflow** > **StackOverflow** > size > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > basicNew > **StackOverflow** > perform:withArguments: > **StackOverflow** > stringHash:initialHash: > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > perform: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > perform:withArguments: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > basicNew > perform:withArguments: > **StackOverflow** > **StackOverflow** > **StackOverflow** > basicNew > **StackOverflow** > **StackOverflow** > class > perform:withArguments: > value: > first > basicNew > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > basicNew > perform:withArguments: > basicNew > findNextHandlerOrSignalingContext > tempAt: > class > findNextHandlerOrSignalingContext > tempAt: > tempAt: > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **CompactCode** > > > > On 26 Sep 2020, at 23:24, Eliot Miranda wrote: > > Hi Andrei, > > fixed in commit 561b06530bbaed5f19e9d7f077a7df9eb3a8d236, > VMMaker.oscog-eem.2824 > > > On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis > wrote: > >> >> Hi, >> >> We are getting often crashes on our CI when calling `Context>copyTo:` in >> a GT image and a vm build from >> https://github.com/feenkcom/opensmalltalk-vm. >> >> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a >> context leading to a segmentation fault crash. Looking at that context in >> lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >> >> (lldb) call (void *) printOop(0x1206b6990) >> 0x1206b6990: a(n) Context >> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >> 0x1206b6b28 0x1206b6b50 >> >> >> Can this indicate some corruption or is it expected to have such values? >> `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles >> negative values for the pc which suggests that this might be expected. >> >> Changing `Context>copyTo:` by adding a `self pc` before calling `self >> copy` leads to no more crashes. Not sure if there is a reason for that or >> just plain luck. >> >> A simple reduced stack is below (more details in this issue [1]). The >> crash happens always with contexts reified as objects (in this case >> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >> Could this suggest some kind of issue in the vm when reifying contexts, >> or just some other problem with memory corruption? >> >> >> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >> ... >> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >> ... >> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >> 0x1206b5b98 s Set>collect: >> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >> 0x1206b6a48 s BlockClosure>ensure: >> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x1207e6620 s BlockClosure>on:do: >> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x1207a83e0 s BlockClosure>on:do: >> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x1207bf830 s [] in BlockClosure>newProcess >> >> Cheers, >> Andrei >> >> >> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >> >> > > -- > _,,,^..^,,,_ > best, Eliot > > > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Sun Sep 27 19:25:05 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Sun, 27 Sep 2020 12:25:05 -0700 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2212 In-Reply-To: <20200927180430.1.5FD571A5696763BB@appveyor.com> References: <20200927180430.1.5FD571A5696763BB@appveyor.com> Message-ID: Hi CI folks, it looks like I fixed the mingw VM build, but a subsequent step fails: Installing deploy dependencies 3875 Preparing deploy 3876 Deploying application 3877 [Bintray Upload] Reading descriptor file: bintray.json 3878 Command exited with code 1 On Sun, Sep 27, 2020 at 11:04 AM AppVeyor wrote: > > Build opensmalltalk-vm 1.0.2212 failed > > > Commit d485f8e949 > by Eliot > Miranda on 9/27/2020 5:55 PM: > Fix the mingw Squeak3D build. MSVC defines size_t in vcruntime.h. But for > > Configure your notification preferences > > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Sun Sep 27 19:32:13 2020 From: noreply at github.com (Eliot Miranda) Date: Sun, 27 Sep 2020 12:32:13 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] b0fb4f: Include sqAssert.h before sqVirtualMachine.h in sq... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: b0fb4f212344098e4e8cf6ff8e21c44c92fbfb66 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b0fb4f212344098e4e8cf6ff8e21c44c92fbfb66 Author: Eliot Miranda Date: 2020-09-27 (Sun, 27 Sep 2020) Changed paths: M platforms/Cross/vm/sqVirtualMachine.c Log Message: ----------- Include sqAssert.h before sqVirtualMachine.h in sqVirtualMachine.c for the minheadless builds so they can redefine error to sqError. From no-reply at appveyor.com Sun Sep 27 19:37:00 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 27 Sep 2020 19:37:00 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2213 Message-ID: <20200927193700.1.943418BF155FFB75@appveyor.com> An HTML attachment was scrubbed... URL: From noreply at github.com Sun Sep 27 19:50:16 2020 From: noreply at github.com (Eliot Miranda) Date: Sun, 27 Sep 2020 12:50:16 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 24be48: Print module handles as pointers in the external p... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 24be48ce7a7b7f754de1486e21766a5175f72ebb https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/24be48ce7a7b7f754de1486e21766a5175f72ebb Author: Eliot Miranda Date: 2020-09-27 (Sun, 27 Sep 2020) Changed paths: M platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m M platforms/unix/vm/sqUnixExternalPrims.c Log Message: ----------- Print module handles as pointers in the external plugin symbol lookup debug machinery. From notifications at github.com Sun Sep 27 19:53:21 2020 From: notifications at github.com (Eliot Miranda) Date: Sun, 27 Sep 2020 12:53:21 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: Hi Tobias, defines that alter system headers should be specified on the compiler command line, and hence belong in makefiles or project build specifications, etc. Assuming one can safely alter the innards of a system include with defines in one's own header files is presuming a specific implementation and likely to break at a later time. The only rational thing to do is include system headers first. In this case I had made a mistake. I should have fixed it a long time ago. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42766427 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Sun Sep 27 19:54:48 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 27 Sep 2020 19:54:48 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2214 Message-ID: <20200927195448.1.E66DC6D909EF8699@appveyor.com> An HTML attachment was scrubbed... URL: From chisvasileandrei at gmail.com Sun Sep 27 20:01:13 2020 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Sun, 27 Sep 2020 22:01:13 +0200 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: Message-ID: <8772DA32-DC9C-44AA-B57C-BB92F2DEB99D@gmail.com> Hi Eliot, I get the following details for the VM that I compiled locally: CoInterpreter VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 StackToRegisterMappingCogit VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 VM: 202009270258 andrei at Andreis-MacBook-Pro.local:Documents/Pharo/vm-compilation/opensmalltalk-vm Date: Sat Sep 26 19:58:41 2020 CommitHash: 5a0d21d71 Plugins: 202009270258 andrei at Andreis-MacBook-Pro.local:Documents/Pharo/vm-compilation/opensmalltalk-vm Mac OS X built on Sep 27 2020 14:27:59 CEST Compiler: 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.62) VMMaker versionString VM: 202009270258 andrei at Andreis-MacBook-Pro.local:Documents/Pharo/vm-compilation/opensmalltalk-vm Date: Sat Sep 26 19:58:41 2020 CommitHash: 5a0d21d71 Plugins: 202009270258 andrei at Andreis-MacBook-Pro.local:Documents/Pharo/vm-compilation/opensmalltalk-vm CoInterpreter VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 StackToRegisterMappingCogit VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 I can package together the image/changes file and libs and send them privately. Cheers, Andrei > On 27 Sep 2020, at 21:23, Eliot Miranda wrote: > > Hi Andrei, > > On Sun, Sep 27, 2020 at 10:29 AM Andrei Chis > wrote: > > Hi Eliot, > > Thanks a lot for your help. > > I compiled locally a vm from the commit hash 5a0d21d71223b4d1f4d007ebf2441d530c18c3e2 (CogVM source as per VMMaker.oscog-eem.2826) and I got a Context>>copyTo: crash. > I think I compiled the vm correctly. Are them some Pharo VMs built on travis for Mac to try out instead of building locally? > > There may be. The PharoVM team are not maintaining our CI builds so you may not be able to find a Pharo VM. > > > Below are the stack traces and primitive longs for two crashes with the compiled vm. > > OK, that's disappointing, but important. Maybe you can put an image/changes, support dylibs package up somewhere (Dropbox?) and I can try and run the test case locally. I tested the fix for some time and it clearly fixed one bug. But it does seem that there's another in a similar area. Thanks for your patience. > > One question, you're sure you're running the new VM? > > > Process 19347 stopped > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) > frame #0: 0x0000000140103f79 > -> 0x140103f79: int3 > 0x140103f7a: int3 > 0x140103f7b: int3 > 0x140103f7c: int3 > Target 0: (Pharo) stopped. > > (lldb) call dumpPrimTraceLog() > basicNew > **StackOverflow** > basicNew > @ > @ > @ > @ > basicNew > basicNew > @ > @ > @ > @ > @ > @ > signal > signal > class > basicIdentityHash > basicNew > class > bitShift: > bitAnd: > asFloat > / > asFloat > fractionPart > truncated > fractionPart > truncated > fractionPart > truncated > setAlpha: > truncated > basicIdentityHash > basicNew > basicNew > class > class > basicNew > basicNew > basicIdentityHash > basicNew > basicNew > basicNew > wait > class > tempAt: > tempAt:put: > tempAt: > terminateTo: > signal > findNextUnwindContextUpTo: > terminateTo: > wait > **StackOverflow** > signal > replaceFrom:to:with:startingAt: > wait > **StackOverflow** > class > signal > basicNew > class > **StackOverflow** > **StackOverflow** > **StackOverflow** > wait > signal > basicIdentityHash > class > basicNew > basicNew > **StackOverflow** > class > class > **StackOverflow** > wait > signal > **StackOverflow** > **StackOverflow** > wait > signal > basicNew > basicNew > basicNew > signal > wait > signal > basicIdentityHash > basicIdentityHash > basicNew > basicNew > class > value:value: > basicNew > replaceFrom:to:with:startingAt: > valueWithArguments: > **StackOverflow** > basicIdentityHash > valueWithArguments: > basicNew > **StackOverflow** > class > findNextHandlerOrSignalingContext > **StackOverflow** > primitive > ~= > ~= > tempAt: > **StackOverflow** > tempAt: > basicNew > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > > > > (lldb) call printCallStack() > 0x7ffeefbe6d78 M Context(Object)>copy 0x145bbce28: a(n) Context > 0x7ffeefbe6db0 M Context>copyTo: 0x145bbce28: a(n) Context > 0x7ffeefbe6df8 M Context>copyTo: 0x145bbcd30: a(n) Context > 0x7ffeefbe6e40 M Context>copyTo: 0x145bbcc78: a(n) Context > 0x7ffeefbe6e88 M Context>copyTo: 0x145bbcbc0: a(n) Context > 0x7ffeefbe6ed0 M Context>copyTo: 0x19709adc8: a(n) Context > 0x7ffeefbe6f18 M Context>copyTo: 0x19709ad10: a(n) Context > 0x7ffeefbe37c8 M Context>copyTo: 0x19709ac58: a(n) Context > 0x7ffeefbe3810 M Context>copyTo: 0x19709aba0: a(n) Context > 0x7ffeefbe3858 M Context>copyTo: 0x19709aae8: a(n) Context > 0x7ffeefbe38a0 M Context>copyTo: 0x19709aa10: a(n) Context > 0x7ffeefbe38e8 M Context>copyTo: 0x19709a938: a(n) Context > 0x7ffeefbe3930 M Context>copyTo: 0x19709a860: a(n) Context > 0x7ffeefbe3978 M Context>copyTo: 0x19709a7a8: a(n) Context > 0x7ffeefbe39c0 M Context>copyTo: 0x19709a6f0: a(n) Context > 0x7ffeefbe3a08 M Context>copyTo: 0x19709a638: a(n) Context > 0x7ffeefbe3a50 M Context>copyTo: 0x19709a560: a(n) Context > 0x7ffeefbe3a98 M Context>copyTo: 0x19709a4a8: a(n) Context > 0x7ffeefbe3ae0 M Context>copyTo: 0x19709a3f0: a(n) Context > 0x7ffeefbe3b28 M Context>copyTo: 0x19709a338: a(n) Context > 0x7ffeefbe3b70 M Context>copyTo: 0x19709a280: a(n) Context > 0x7ffeefbe3bb8 M Context>copyTo: 0x19709a1c8: a(n) Context > 0x7ffeefbe3c00 M Context>copyTo: 0x19709a0e0: a(n) Context > 0x7ffeefbe3c48 M Context>copyTo: 0x197099ff8: a(n) Context > 0x7ffeefbe3c90 M Context>copyTo: 0x197099ee0: a(n) Context > 0x7ffeefbe3cd8 M Context>copyTo: 0x197099e28: a(n) Context > 0x7ffeefbe3d20 M Context>copyTo: 0x140169920: a(n) Context > 0x7ffeefbe3d68 M Context>copyTo: 0x140169868: a(n) Context > 0x7ffeefbe3db0 M Context>copyTo: 0x1401697b0: a(n) Context > 0x7ffeefbe3df8 M Context>copyTo: 0x1401696f8: a(n) Context > 0x7ffeefbe3e40 M Context>copyTo: 0x140169640: a(n) Context > 0x7ffeefbe3e88 M Context>copyTo: 0x140169588: a(n) Context > 0x7ffeefbe3ed0 M Context>copyTo: 0x1401694a0: a(n) Context > 0x7ffeefbe3f18 M Context>copyTo: 0x140169390: a(n) Context > 0x7ffeefbf47c8 M Context>copyTo: 0x1401692b0: a(n) Context > 0x7ffeefbf4810 M Context>copyTo: 0x1401691f8: a(n) Context > 0x7ffeefbf4858 M Context>copyTo: 0x140169140: a(n) Context > 0x7ffeefbf48a0 M Context>copyTo: 0x140169058: a(n) Context > 0x7ffeefbf48e8 M Context>copyTo: 0x140168f80: a(n) Context > 0x7ffeefbf4930 M Context>copyTo: 0x140168ec8: a(n) Context > 0x7ffeefbf4978 M Context>copyTo: 0x140168e10: a(n) Context > 0x7ffeefbf49c0 M Context>copyTo: 0x140168d38: a(n) Context > 0x7ffeefbf4a08 M Context>copyTo: 0x140168c58: a(n) Context > 0x7ffeefbf4a50 M Context>copyTo: 0x140168b80: a(n) Context > 0x7ffeefbf4a98 M Context>copyTo: 0x140168ac8: a(n) Context > 0x7ffeefbf4ae0 M Context>copyTo: 0x140168a10: a(n) Context > 0x7ffeefbf4b28 M Context>copyTo: 0x140168900: a(n) Context > 0x7ffeefbf4b70 M Context>copyTo: 0x140168810: a(n) Context > 0x7ffeefbf4bb8 M Context>copyTo: 0x140168718: a(n) Context > 0x7ffeefbf4c00 M Context>copyTo: 0x140168640: a(n) Context > 0x7ffeefbf4c48 M Context>copyTo: 0x14039c748: a(n) Context > 0x7ffeefbf4c90 M Context>copyTo: 0x14039c5d8: a(n) Context > 0x7ffeefbf4cd8 M Context>copyTo: 0x1401684b8: a(n) Context > 0x7ffeefbf4d20 M Context>copyTo: 0x1401683d8: a(n) Context > 0x7ffeefbf4d68 M Context>copyTo: 0x14039c2f8: a(n) Context > 0x7ffeefbf4db0 M Context>copyTo: 0x140167960: a(n) Context > 0x7ffeefbf4df8 M Context>copyTo: 0x1401678a8: a(n) Context > 0x7ffeefbf4e40 M Context>copyTo: 0x140167788: a(n) Context > 0x7ffeefbf4e88 M Context>copyTo: 0x14039bf60: a(n) Context > 0x7ffeefbf4ed0 M Context>copyTo: 0x14039bd38: a(n) Context > 0x7ffeefbf4f18 M Context>copyTo: 0x14039ba58: a(n) Context > 0x7ffeefbf07c8 M Context>copyTo: 0x14039b8e8: a(n) Context > 0x7ffeefbf0810 M Context>copyTo: 0x140167578: a(n) Context > 0x7ffeefbf0858 M Context>copyTo: 0x140167478: a(n) Context > 0x7ffeefbf08a0 M Context>copyTo: 0x14039b608: a(n) Context > 0x7ffeefbf08e8 M Context>copyTo: 0x14039b498: a(n) Context > 0x7ffeefbf0930 M Context>copyTo: 0x14039b328: a(n) Context > 0x7ffeefbf0978 M Context>copyTo: 0x140167310: a(n) Context > 0x7ffeefbf09c0 M Context>copyTo: 0x1401671e8: a(n) Context > 0x7ffeefbf0a08 M Context>copyTo: 0x140167108: a(n) Context > 0x7ffeefbf0a50 M Context>copyTo: 0x14039af90: a(n) Context > 0x7ffeefbf0a98 M Context>copyTo: 0x14039ae20: a(n) Context > 0x7ffeefbf0ae0 M Context>copyTo: 0x140166fe0: a(n) Context > 0x7ffeefbf0b28 M Context>copyTo: 0x140166ec0: a(n) Context > 0x7ffeefbf0b70 M Context>copyTo: 0x14039ab40: a(n) Context > 0x7ffeefbf0bb8 M Context>copyTo: 0x14039a9d0: a(n) Context > 0x7ffeefbf0c00 M Context>copyTo: 0x14039a860: a(n) Context > 0x7ffeefbf0c48 M Context>copyTo: 0x14039a6f0: a(n) Context > 0x7ffeefbf0c90 M Context>copyTo: 0x140166ca0: a(n) Context > 0x7ffeefbf0cd8 M Context>copyTo: 0x140166bb8: a(n) Context > 0x7ffeefbf0d20 M Context>copyTo: 0x140165f60: a(n) Context > 0x7ffeefbf0d68 M Context>copyTo: 0x140165ea8: a(n) Context > 0x7ffeefbf0db0 M Context>copyTo: 0x14039a2a0: a(n) Context > 0x7ffeefbf0df8 M Context>copyTo: 0x140165d48: a(n) Context > 0x7ffeefbf0e40 M Context>copyTo: 0x140165c20: a(n) Context > 0x7ffeefbf0e88 M Context>copyTo: 0x140165b40: a(n) Context > 0x7ffeefbf0ed0 M Context>copyTo: 0x140399e50: a(n) Context > 0x7ffeefbf0f18 M Context>copyTo: 0x140399b70: a(n) Context > 0x7ffeefbee7c8 M Context>copyTo: 0x140165a18: a(n) Context > 0x7ffeefbee810 M Context>copyTo: 0x1401658f8: a(n) Context > 0x7ffeefbee858 M Context>copyTo: 0x140399890: a(n) Context > 0x7ffeefbee8a0 M Context>copyTo: 0x140399720: a(n) Context > 0x7ffeefbee8e8 M Context>copyTo: 0x1403995b0: a(n) Context > 0x7ffeefbee930 M Context>copyTo: 0x140399440: a(n) Context > 0x7ffeefbee978 M Context>copyTo: 0x1403992d0: a(n) Context > 0x7ffeefbee9c0 M Context>copyTo: 0x140399160: a(n) Context > 0x7ffeefbeea08 M Context>copyTo: 0x140398ff0: a(n) Context > 0x7ffeefbeea50 M Context>copyTo: 0x140398e80: a(n) Context > 0x7ffeefbeea98 M Context>copyTo: 0x140398d10: a(n) Context > 0x7ffeefbeeae0 M Context>copyTo: 0x140165748: a(n) Context > 0x7ffeefbeeb28 M Context>copyTo: 0x140165648: a(n) Context > 0x7ffeefbeeb70 M Context>copyTo: 0x140398a30: a(n) Context > 0x7ffeefbeebb8 M Context>copyTo: 0x1403988c0: a(n) Context > 0x7ffeefbeec00 M Context>copyTo: 0x140165530: a(n) Context > 0x7ffeefbeec48 M Context>copyTo: 0x140165458: a(n) Context > 0x7ffeefbeec90 M Context>copyTo: 0x1403985e0: a(n) Context > 0x7ffeefbeecd8 M Context>copyTo: 0x140398470: a(n) Context > 0x7ffeefbeed20 M Context>copyTo: 0x140165088: a(n) Context > 0x7ffeefbeed68 M Context>copyTo: 0x140166ae0: a(n) Context > 0x7ffeefbeedb0 M Context>copyTo: 0x140398190: a(n) Context > 0x7ffeefbeedf8 M Context>copyTo: 0x140398020: a(n) Context > 0x7ffeefbeee40 M Context>copyTo: 0x140397eb0: a(n) Context > 0x7ffeefbeee88 M Context>copyTo: 0x1401669d8: a(n) Context > 0x7ffeefbeeed0 M Context>copyTo: 0x140397c88: a(n) Context > 0x7ffeefbeef18 M Context>copyTo: 0x140394d08: a(n) Context > 0x7ffeefbea798 M Context>copyTo: 0x140394e20: a(n) Context > 0x7ffeefbea7e0 M Context>copyTo: 0x140397838: a(n) Context > 0x7ffeefbea828 M Context>copyTo: 0x1403976c8: a(n) Context > 0x7ffeefbea870 M Context>copyTo: 0x140397558: a(n) Context > 0x7ffeefbea8b8 M Context>copyTo: 0x140395000: a(n) Context > 0x7ffeefbea900 M Context>copyTo: 0x140397330: a(n) Context > 0x7ffeefbea948 M Context>copyTo: 0x1403971c0: a(n) Context > 0x7ffeefbea990 M Context>copyTo: 0x140397050: a(n) Context > 0x7ffeefbea9d8 M Context>copyTo: 0x140396ee0: a(n) Context > 0x7ffeefbeaa20 M Context>copyTo: 0x140396d70: a(n) Context > 0x7ffeefbeaa68 M Context>copyTo: 0x1403958f8: a(n) Context > 0x7ffeefbeaab0 M Context>copyTo: 0x140396b48: a(n) Context > 0x7ffeefbeaaf8 M Context>copyTo: 0x140396298: a(n) Context > 0x7ffeefbeab40 M Context>copyTo: 0x140396920: a(n) Context > 0x7ffeefbeab88 M Context>copyTo: 0x1403967b0: a(n) Context > 0x7ffeefbeabd0 M Context>copyTo: 0x1403961e0: a(n) Context > 0x7ffeefbeac18 M Context>copyTo: 0x140396128: a(n) Context > 0x7ffeefbeac60 M Context>copyTo: 0x140396070: a(n) Context > 0x7ffeefbeacb8 I Context>copyTo: 0x140395e28: a(n) Context > 0x7ffeefbead00 I ZeroDivide(Exception)>freezeUpTo: 0x140395de8: a(n) ZeroDivide > 0x7ffeefbead48 I ZeroDivide(Exception)>freeze 0x140395de8: a(n) ZeroDivide > 0x7ffeefbead88 I BrDebugglableElementStencil>freeze: 0x140396408: a(n) BrDebugglableElementStencil > 0x7ffeefbeadd8 I ZeroDivide(Exception)>asDebuggableElement 0x140395de8: a(n) ZeroDivide > 0x7ffeefbeae18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn > 0x7ffeefbeae50 M BlockClosure>cull: 0x1403959f0: a(n) BlockClosure > 0x7ffeefbeaea0 I Context>evaluateSignal: 0x140396298: a(n) Context > 0x7ffeefbeaed8 M Context>handleSignal: 0x140396298: a(n) Context > 0x7ffeefbeaf20 I ZeroDivide(Exception)>signal 0x140395de8: a(n) ZeroDivide > 0x7ffeefbe7840 I ZeroDivide(Exception)>signal: 0x140395de8: a(n) ZeroDivide > 0x7ffeefbe7888 I ZeroDivide class(Exception class)>signal: 0x1409f9490: a(n) ZeroDivide class > 0x7ffeefbe78c0 M [] in GtPhlowColumnedListViewExamples>gtErrorInColumnDoDataBinderFor: 0x140168630: a(n) GtPhlowColumnedListViewExamples > 0x7ffeefbe7908 M BlockClosure>glamourValueWithArgs: 0x140174180: a(n) BlockClosure > 0x7ffeefbe7960 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn > 0x7ffeefbe7990 M BlockClosure>on:do: 0x1403959b0: a(n) BlockClosure > 0x7ffeefbe79d0 M GtPhlowColumn>performBlock:onException: 0x140169e48: a(n) GtPhlowColumn > 0x7ffeefbe7a18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn > 0x7ffeefbe7a60 M BlockClosure>glamourValueWithArgs: 0x1401701c0: a(n) BlockClosure > 0x7ffeefbe7a98 M BrStencilValuableExecutor>execute 0x140174230: a(n) BrStencilValuableExecutor > 0x7ffeefbe7ad8 M BrColumnCellDataBinder(BrStencilBuilder)>build 0x140170448: a(n) BrColumnCellDataBinder > 0x7ffeefbe7b38 I [] in BrColumnedListDataSource>onBindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource > 0x7ffeefbe7b98 I OrderedCollection(SequenceableCollection)>with:do: 0x140169ff8: a(n) OrderedCollection > 0x7ffeefbe7bf8 I BrColumnedListDataSource>onBindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource > 0x7ffeefbe7c48 I BrColumnedListDataSource(BlInfiniteDataSource)>onBindHolder:at:payloads: 0x140169f38: a(n) BrColumnedListDataSource > 0x7ffeefbe7ca0 M [] in BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource > 0x7ffeefbe7ce0 M BlockClosure>ensure: 0x140394df0: a(n) BlockClosure > 0x7ffeefbe7d18 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe7d58 M BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource > 0x7ffeefbe7d98 M BlInfiniteRecyclerController>bindHolder:at: 0x1401662c0: a(n) BlInfiniteRecyclerController > 0x7ffeefbe7e10 M BlInfiniteRecycler>elementFor:dryRun: 0x1401652b8: a(n) BlInfiniteRecycler > 0x7ffeefbe7e50 M BlInfiniteRecycler>elementFor: 0x1401652b8: a(n) BlInfiniteRecycler > 0x7ffeefbe7e98 M [] in BlInfiniteLinearLayoutState>nextElement:in: 0x140165020: a(n) BlInfiniteLinearLayoutState > 0x7ffeefbe7ed8 M BlockClosure>ensure: 0x140166a90: a(n) BlockClosure > 0x7ffeefbe7f10 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe27d0 M BlInfiniteLinearLayoutState>nextElement:in: 0x140165020: a(n) BlInfiniteLinearLayoutState > 0x7ffeefbe2818 M [] in BlInfiniteLinearLayout>layoutChunkAdd 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2858 M BlockClosure>ensure: 0x140165410: a(n) BlockClosure > 0x7ffeefbe2890 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe28d8 M BlInfiniteLinearLayout>layoutChunkAdd 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2910 M [] in BlInfiniteLinearLayout>layoutChunk 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2950 M BlockClosure>ensure: 0x140165600: a(n) BlockClosure > 0x7ffeefbe2988 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe29e0 M BlInfiniteLinearLayout>layoutChunk 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2a48 I BlInfiniteLinearLayout>fillLayout: 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2ab8 I BlInfiniteLinearLayout>layoutChildrenFillFromStart: 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2b00 I BlInfiniteLinearLayout>layoutChildrenFill: 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2b58 I BlInfiniteLinearLayout>layoutChildrenIn:state: 0x140165320: a(n) BlInfiniteLinearLayout > 0x7ffeefbe2ba8 I BrInfiniteListElement(BlInfiniteElement)>dispatchLayoutSecondStep 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2be8 I BrInfiniteListElement(BlInfiniteElement)>dispatchLayout 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2c18 M BrInfiniteListElement(BlInfiniteElement)>onLayout: 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2c58 M [] in BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2c98 M BlockClosure>ensure: 0x1401658b0: a(n) BlockClosure > 0x7ffeefbe2cd0 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe2d30 M BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2d70 M [] in BrInfiniteListElement(BlElement)>applyLayoutIn: 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2da0 M BlockClosure>on:do: 0x140165ad0: a(n) BlockClosure > 0x7ffeefbe2de0 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x140165b28: a(n) BlCompositeErrorHandler > 0x7ffeefbe2e28 M BrInfiniteListElement(BlElement)>applyLayoutIn: 0x140165140: a(n) BrInfiniteListElement > 0x7ffeefbe2e80 M [] in BlLinearLayoutVerticalOrientation>layout:in: 0x140165d38: a(n) BlLinearLayoutVerticalOrientation > 0x7ffeefbe2ed0 M [] in BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140165e50: a(n) BlChildrenAccountedByLayout > 0x7ffeefbe2f18 M Array(SequenceableCollection)>do: 0x140165e98: a(n) Array > 0x7ffeefbe9868 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: 0x140165e50: a(n) BlChildrenAccountedByLayout > 0x7ffeefbe98a8 M BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140165e50: a(n) BlChildrenAccountedByLayout > 0x7ffeefbe9918 M BlLinearLayoutVerticalOrientation>layout:in: 0x140165d38: a(n) BlLinearLayoutVerticalOrientation > 0x7ffeefbe9958 M BlLinearLayout>layout:in: 0x140166e18: a(n) BlLinearLayout > 0x7ffeefbe9998 M BrColumnedList(BlElement)>onLayout: 0x140166d70: a(n) BrColumnedList > 0x7ffeefbe99d8 M [] in BrColumnedList(BlElement)>applyLayoutSafelyIn: 0x140166d70: a(n) BrColumnedList > 0x7ffeefbe9a18 M BlockClosure>ensure: 0x140166e78: a(n) BlockClosure > 0x7ffeefbe9a50 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe9ab0 M BrColumnedList(BlElement)>applyLayoutSafelyIn: 0x140166d70: a(n) BrColumnedList > 0x7ffeefbe9af0 M [] in BrColumnedList(BlElement)>applyLayoutIn: 0x140166d70: a(n) BrColumnedList > 0x7ffeefbe9b20 M BlockClosure>on:do: 0x140167098: a(n) BlockClosure > 0x7ffeefbe9b60 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401670f0: a(n) BlCompositeErrorHandler > 0x7ffeefbe9ba8 M BrColumnedList(BlElement)>applyLayoutIn: 0x140166d70: a(n) BrColumnedList > 0x7ffeefbe9c00 M [] in BlLinearLayoutVerticalOrientation>layout:in: 0x140167300: a(n) BlLinearLayoutVerticalOrientation > 0x7ffeefbe9c50 M [] in BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140167418: a(n) BlChildrenAccountedByLayout > 0x7ffeefbe9c98 M Array(SequenceableCollection)>do: 0x140167460: a(n) Array > 0x7ffeefbe9cd0 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: 0x140167418: a(n) BlChildrenAccountedByLayout > 0x7ffeefbe9d10 M BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140167418: a(n) BlChildrenAccountedByLayout > 0x7ffeefbe9d80 M BlLinearLayoutVerticalOrientation>layout:in: 0x140167300: a(n) BlLinearLayoutVerticalOrientation > 0x7ffeefbe9dc0 M BlLinearLayout>layout:in: 0x1401676e0: a(n) BlLinearLayout > 0x7ffeefbe9e00 M BlElement>onLayout: 0x140167648: a(n) BlElement > 0x7ffeefbe9e40 M [] in BlElement>applyLayoutSafelyIn: 0x140167648: a(n) BlElement > 0x7ffeefbe9e80 M BlockClosure>ensure: 0x140167740: a(n) BlockClosure > 0x7ffeefbe9eb8 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry > 0x7ffeefbe9f18 M BlElement>applyLayoutSafelyIn: 0x140167648: a(n) BlElement > 0x7ffeefbed7e0 M [] in BlElement>applyLayoutIn: 0x140167648: a(n) BlElement > 0x7ffeefbed810 M BlockClosure>on:do: 0x140168368: a(n) BlockClosure > 0x7ffeefbed850 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401683c0: a(n) BlCompositeErrorHandler > 0x7ffeefbed898 M BlElement>applyLayoutIn: 0x140167648: a(n) BlElement > 0x7ffeefbed908 I BlElement>computeLayout 0x140167648: a(n) BlElement > 0x7ffeefbed948 I BlElement>forceLayout 0x140167648: a(n) BlElement > 0x7ffeefbed9a8 I GtPhlowColumnedListViewExamples>errorInColumnDoDataBinder 0x140168630: a(n) GtPhlowColumnedListViewExamples > 0x7ffeefbed9d8 M GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbeda38 M [] in GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbeda78 M BlockClosure>ensure: 0x1401688c8: a(n) BlockClosure > 0x7ffeefbedac8 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedb00 M GtExampleDebugger(GtExampleProcessor)>process: 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedb38 M [] in GtExampleDebugger(GtExampleProcessor)>value 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedb68 M BlockClosure>on:do: 0x140168c38: a(n) BlockClosure > 0x7ffeefbedba8 M GtCurrentExampleContext class>use:during: 0x1446188f0: a(n) GtCurrentExampleContext class > 0x7ffeefbedbe8 M GtExampleDebugger(GtExampleProcessor)>withContextDo: 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedc20 M GtExampleDebugger(GtExampleProcessor)>value 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedc50 M [] in GtExampleDebugger(GtExampleEvaluator)>result 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedc80 M GtExampleDebugger>do:on:do: 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedcc8 M GtExampleDebugger(GtExampleEvaluator)>result 0x1401686f8: a(n) GtExampleDebugger > 0x7ffeefbedcf8 M GtExample>debug 0x19709dfc8: a(n) GtExample > 0x7ffeefbedd30 M [] in GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbedd60 M BlockClosure>on:do: 0x140169368: a(n) BlockClosure > 0x7ffeefbeddb0 M [] in GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbedde8 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time class > 0x7ffeefbede20 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time class > 0x7ffeefbede60 M BlockClosure>timeToRun 0x140169558: a(n) BlockClosure > 0x7ffeefbede98 M GtExamplesHDReport>beginExample:runBlock: 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbedee0 M GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbedf18 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbdea38 M OrderedCollection>do: 0x197099e08: a(n) OrderedCollection > 0x7ffeefbdea70 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbdeab0 M [] in CurrentExecutionEnvironment class>activate:for: 0x140a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbdeaf0 M BlockClosure>ensure: 0x19709a0b0: a(n) BlockClosure > 0x7ffeefbdeb30 M CurrentExecutionEnvironment class>activate:for: 0x140a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbdeb70 M TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x197099fb8: a(n) TestExecutionEnvironment > 0x7ffeefbdeba8 M DefaultExecutionEnvironment>runTestsBy: 0x1409f7da8: a(n) DefaultExecutionEnvironment > 0x7ffeefbdebe0 M CurrentExecutionEnvironment class>runTestsBy: 0x140a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbdec18 M GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbdec48 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbdec80 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time class > 0x7ffeefbdecb8 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time class > 0x7ffeefbdecf8 M BlockClosure>timeToRun 0x19709a618: a(n) BlockClosure > 0x7ffeefbded28 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbded68 M BlockClosure>ensure: 0x19709a918: a(n) BlockClosure > 0x7ffeefbdeda0 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbdedd0 M Author>ifUnknownAuthorUse:during: 0x14102a740: a(n) Author > 0x7ffeefbdee10 M GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport > 0x7ffeefbdee48 M GtExamplesHDReport class>runPackage: 0x144618008: a(n) GtExamplesHDReport class > 0x7ffeefbdee80 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x144618008: a(n) GtExamplesHDReport class > 0x7ffeefbdeed0 M [] in Set>collect: 0x145bbc4d8: a(n) Set > 0x7ffeefbdef18 M Array(SequenceableCollection)>do: 0x145bbc520: a(n) Array > 0x145bbcc78 s Set>collect: > 0x145bbcd30 s GtExamplesHDReport class(HDReport class)>runPackages: > 0x145bbce28 s [] in GtExamplesCommandLineHandler>runPackages > 0x145bbcf08 s BlockClosure>ensure: > 0x14e950710 s UIManager class>nonInteractiveDuring: > 0x14e9507c8 s GtExamplesCommandLineHandler>runPackages > 0x14e950880 s GtExamplesCommandLineHandler>activate > 0x14e950938 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: > 0x14e9509f0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x14e950aa8 s BlockClosure>on:do: > 0x14e950b60 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x14e950c38 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand > 0x14e950cf0 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: > 0x14e950db8 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x14e950e90 s BlockClosure>on:do: > 0x14e950f68 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x14e951040 s [] in BlockClosure>newProcess > > > > Process 18798 stopped > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) > frame #0: 0x00000001481107d1 > -> 0x1481107d1: int3 > 0x1481107d2: int3 > 0x1481107d3: int3 > 0x1481107d4: int3 > Target 0: (Pharo) stopped. > > (lldb) call printAllStacks() > Process 0x15511b938 priority 40 > 0x7ffeefbf0a18 M Context(Object)>copy 0x15691cf68: a(n) Context > 0x7ffeefbf0a50 M Context>copyTo: 0x15691cf68: a(n) Context > 0x7ffeefbf0a98 M Context>copyTo: 0x15691ce78: a(n) Context > 0x7ffeefbf0ae0 M Context>copyTo: 0x15691cdc0: a(n) Context > 0x7ffeefbf0b28 M Context>copyTo: 0x15691cd08: a(n) Context > 0x7ffeefbf0b70 M Context>copyTo: 0x15691cc50: a(n) Context > 0x7ffeefbf0bb8 M Context>copyTo: 0x15691cb70: a(n) Context > 0x7ffeefbf0c00 M Context>copyTo: 0x15691ca90: a(n) Context > 0x7ffeefbf0c48 M Context>copyTo: 0x15691c998: a(n) Context > 0x7ffeefbf0c90 M Context>copyTo: 0x15691c8e0: a(n) Context > 0x7ffeefbf0cd8 M Context>copyTo: 0x15691c828: a(n) Context > 0x7ffeefbf0d20 M Context>copyTo: 0x14874a2c8: a(n) Context > 0x7ffeefbf0d68 M Context>copyTo: 0x14874a158: a(n) Context > 0x7ffeefbf0db0 M Context>copyTo: 0x148749fe8: a(n) Context > 0x7ffeefbf0df8 M Context>copyTo: 0x14816e2e8: a(n) Context > 0x7ffeefbf0e40 M Context>copyTo: 0x148749dc0: a(n) Context > 0x7ffeefbf0e88 M Context>copyTo: 0x14816e210: a(n) Context > 0x7ffeefbf0ed0 M Context>copyTo: 0x148749ae0: a(n) Context > 0x7ffeefbf0f18 M Context>copyTo: 0x14816e118: a(n) Context > 0x7ffeefbdc7c8 M Context>copyTo: 0x148749748: a(n) Context > 0x7ffeefbdc810 M Context>copyTo: 0x1487495d8: a(n) Context > 0x7ffeefbdc858 M Context>copyTo: 0x148749468: a(n) Context > 0x7ffeefbdc8a0 M Context>copyTo: 0x1487492f8: a(n) Context > 0x7ffeefbdc8e8 M Context>copyTo: 0x14816e040: a(n) Context > 0x7ffeefbdc930 M Context>copyTo: 0x1487490d0: a(n) Context > 0x7ffeefbdc978 M Context>copyTo: 0x148748f60: a(n) Context > 0x7ffeefbdc9c0 M Context>copyTo: 0x148748df0: a(n) Context > 0x7ffeefbdca08 M Context>copyTo: 0x14816df38: a(n) Context > 0x7ffeefbdca50 M Context>copyTo: 0x148748bc8: a(n) Context > 0x7ffeefbdca98 M Context>copyTo: 0x14816de20: a(n) Context > 0x7ffeefbdcae0 M Context>copyTo: 0x14816eeb8: a(n) Context > 0x7ffeefbdcb28 M Context>copyTo: 0x1487488e8: a(n) Context > 0x7ffeefbdcb70 M Context>copyTo: 0x148748778: a(n) Context > 0x7ffeefbdcbb8 M Context>copyTo: 0x14866e858: a(n) Context > 0x7ffeefbdcc00 M Context>copyTo: 0x148748550: a(n) Context > 0x7ffeefbdcc48 M Context>copyTo: 0x1487483e0: a(n) Context > 0x7ffeefbdcc90 M Context>copyTo: 0x148748270: a(n) Context > 0x7ffeefbdccd8 M Context>copyTo: 0x148748100: a(n) Context > 0x7ffeefbdcd20 M Context>copyTo: 0x148676078: a(n) Context > 0x7ffeefbdcd68 M Context>copyTo: 0x148747ed8: a(n) Context > 0x7ffeefbdcdb0 M Context>copyTo: 0x148747d68: a(n) Context > 0x7ffeefbdcdf8 M Context>copyTo: 0x148747bf8: a(n) Context > 0x7ffeefbdce40 M Context>copyTo: 0x148676280: a(n) Context > 0x7ffeefbdce88 M Context>copyTo: 0x1487479d0: a(n) Context > 0x7ffeefbdced0 M Context>copyTo: 0x1487477a8: a(n) Context > 0x7ffeefbdcf18 M Context>copyTo: 0x148676400: a(n) Context > 0x7ffeefbda7c8 M Context>copyTo: 0x148747410: a(n) Context > 0x7ffeefbda810 M Context>copyTo: 0x1486764d8: a(n) Context > 0x7ffeefbda858 M Context>copyTo: 0x1487471e8: a(n) Context > 0x7ffeefbda8a0 M Context>copyTo: 0x148747078: a(n) Context > 0x7ffeefbda8e8 M Context>copyTo: 0x148746f08: a(n) Context > 0x7ffeefbda930 M Context>copyTo: 0x14873f918: a(n) Context > 0x7ffeefbda978 M Context>copyTo: 0x148746ce0: a(n) Context > 0x7ffeefbda9c0 M Context>copyTo: 0x148746b70: a(n) Context > 0x7ffeefbdaa08 M Context>copyTo: 0x148746a00: a(n) Context > 0x7ffeefbdaa50 M Context>copyTo: 0x148746890: a(n) Context > 0x7ffeefbdaa98 M Context>copyTo: 0x148746720: a(n) Context > 0x7ffeefbdaae0 M Context>copyTo: 0x1487415b8: a(n) Context > 0x7ffeefbdab28 M Context>copyTo: 0x1487412a8: a(n) Context > 0x7ffeefbdab70 M Context>copyTo: 0x148746440: a(n) Context > 0x7ffeefbdabb8 M Context>copyTo: 0x148745088: a(n) Context > 0x7ffeefbdac00 M Context>copyTo: 0x148746218: a(n) Context > 0x7ffeefbdac48 M Context>copyTo: 0x1487414e0: a(n) Context > 0x7ffeefbdac90 M Context>copyTo: 0x148745ff0: a(n) Context > 0x7ffeefbdacd8 M Context>copyTo: 0x148741670: a(n) Context > 0x7ffeefbdad20 M Context>copyTo: 0x148744fd0: a(n) Context > 0x7ffeefbdad68 M Context>copyTo: 0x148745ba0: a(n) Context > 0x7ffeefbdadb0 M Context>copyTo: 0x148745a30: a(n) Context > 0x7ffeefbdadf8 M Context>copyTo: 0x148744bd8: a(n) Context > 0x7ffeefbdae40 M Context>copyTo: 0x148745808: a(n) Context > 0x7ffeefbdae88 M Context>copyTo: 0x148745698: a(n) Context > 0x7ffeefbdaed0 M Context>copyTo: 0x148745528: a(n) Context > 0x7ffeefbdaf18 M Context>copyTo: 0x148744f18: a(n) Context > 0x7ffeefbe0988 I Context>copyTo: 0x148744e60: a(n) Context > 0x7ffeefbe09d0 I MessageNotUnderstood(Exception)>freezeUpTo: 0x148744e10: a(n) MessageNotUnderstood > 0x7ffeefbe0a18 I MessageNotUnderstood(Exception)>freeze 0x148744e10: a(n) MessageNotUnderstood > 0x7ffeefbe0a48 M [] in GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0a80 M BlockClosure>cull: 0x1487414c0: a(n) BlockClosure > 0x7ffeefbe0ac0 M Context>evaluateSignal: 0x148745088: a(n) Context > 0x7ffeefbe0af8 M Context>handleSignal: 0x148745088: a(n) Context > 0x7ffeefbe0b30 M Context>handleSignal: 0x148744fd0: a(n) Context > 0x7ffeefbe0b68 M MessageNotUnderstood(Exception)>signal 0x148744e10: a(n) MessageNotUnderstood > 0x7ffeefbe0bb8 I GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x148744bc8: a(n) GtDummyExamplesWithInheritanceSubclassB > 0x7ffeefbe0bf0 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0c50 M [] in GtExampleEvaluator>basicProcess: 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0c90 M BlockClosure>ensure: 0x148744c90: a(n) BlockClosure > 0x7ffeefbe0ce0 M GtExampleEvaluator>basicProcess: 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0d18 M GtExampleEvaluator(GtExampleProcessor)>process: 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0d50 M [] in GtExampleEvaluator(GtExampleProcessor)>value 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0d80 M BlockClosure>on:do: 0x148741598: a(n) BlockClosure > 0x7ffeefbe0dc0 M GtCurrentExampleContext class>use:during: 0x14c618920: a(n) GtCurrentExampleContext class > 0x7ffeefbe0e00 M GtExampleEvaluator(GtExampleProcessor)>withContextDo: 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0e38 M GtExampleEvaluator(GtExampleProcessor)>value 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0e68 M [] in GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0e98 M BlockClosure>on:do: 0x148741360: a(n) BlockClosure > 0x7ffeefbe0ed8 M GtExampleEvaluator>do:on:do: 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbe0f20 M GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator > 0x7ffeefbde8b8 M GtExample>run 0x148740050: a(n) GtExample > 0x7ffeefbde8e8 M GtExample>result 0x148740050: a(n) GtExample > 0x7ffeefbde930 I GtExamplesExamplesWithInheritance>resultOfInvalidExampleWithInvalidSuperclassProvider 0x14873f908: a(n) GtExamplesExamplesWithInheritance > 0x7ffeefbde960 M GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbde9c0 M [] in GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdea00 M BlockClosure>ensure: 0x14873f9d0: a(n) BlockClosure > 0x7ffeefbdea50 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdea88 M GtExampleDebugger(GtExampleProcessor)>process: 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdeac0 M [] in GtExampleDebugger(GtExampleProcessor)>value 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdeaf0 M BlockClosure>on:do: 0x1486764b8: a(n) BlockClosure > 0x7ffeefbdeb30 M GtCurrentExampleContext class>use:during: 0x14c618920: a(n) GtCurrentExampleContext class > 0x7ffeefbdeb70 M GtExampleDebugger(GtExampleProcessor)>withContextDo: 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdeba8 M GtExampleDebugger(GtExampleProcessor)>value 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdebd8 M [] in GtExampleDebugger(GtExampleEvaluator)>result 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdec08 M GtExampleDebugger>do:on:do: 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdec50 M GtExampleDebugger(GtExampleEvaluator)>result 0x148676210: a(n) GtExampleDebugger > 0x7ffeefbdec80 M GtExample>debug 0x148188088: a(n) GtExample > 0x7ffeefbdecb8 M [] in GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbdece8 M BlockClosure>on:do: 0x148676130: a(n) BlockClosure > 0x7ffeefbded38 M [] in GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbded70 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time class > 0x7ffeefbdeda8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time class > 0x7ffeefbdede8 M BlockClosure>timeToRun 0x14866e910: a(n) BlockClosure > 0x7ffeefbdee20 M GtExamplesHDReport>beginExample:runBlock: 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbdee68 M GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbdeea0 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbdeee8 M OrderedCollection>do: 0x14816ee98: a(n) OrderedCollection > 0x7ffeefbdef20 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbd8ab0 M [] in CurrentExecutionEnvironment class>activate:for: 0x148a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbd8af0 M BlockClosure>ensure: 0x14816ded8: a(n) BlockClosure > 0x7ffeefbd8b30 M CurrentExecutionEnvironment class>activate:for: 0x148a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbd8b70 M TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x14816ddc0: a(n) TestExecutionEnvironment > 0x7ffeefbd8ba8 M DefaultExecutionEnvironment>runTestsBy: 0x1489f7da8: a(n) DefaultExecutionEnvironment > 0x7ffeefbd8be0 M CurrentExecutionEnvironment class>runTestsBy: 0x148a02930: a(n) CurrentExecutionEnvironment class > 0x7ffeefbd8c18 M GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbd8c48 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbd8c80 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time class > 0x7ffeefbd8cb8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time class > 0x7ffeefbd8cf8 M BlockClosure>timeToRun 0x14816e0f8: a(n) BlockClosure > 0x7ffeefbd8d28 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbd8d68 M BlockClosure>ensure: 0x14816e1d0: a(n) BlockClosure > 0x7ffeefbd8da0 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbd8dd0 M Author>ifUnknownAuthorUse:during: 0x14902a740: a(n) Author > 0x7ffeefbd8e10 M GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport > 0x7ffeefbd8e48 M GtExamplesHDReport class>runPackage: 0x14c618038: a(n) GtExamplesHDReport class > 0x7ffeefbd8e80 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x14c618038: a(n) GtExamplesHDReport class > 0x7ffeefbd8ed0 M [] in Set>collect: 0x15691c088: a(n) Set > 0x7ffeefbd8f18 M Array(SequenceableCollection)>do: 0x15691c188: a(n) Array > 0x15691c8e0 s Set>collect: > 0x15691c998 s GtExamplesHDReport class(HDReport class)>runPackages: > 0x15691ca90 s [] in GtExamplesCommandLineHandler>runPackages > 0x15691cb70 s BlockClosure>ensure: > 0x15691cc50 s UIManager class>nonInteractiveDuring: > 0x15691cd08 s GtExamplesCommandLineHandler>runPackages > 0x15691cdc0 s GtExamplesCommandLineHandler>activate > 0x15691ce78 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: > 0x15691cf68 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x15691d048 s BlockClosure>on:do: > 0x15691d128 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x15691d200 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand > 0x15691d2b8 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: > 0x15691d380 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x15691d458 s BlockClosure>on:do: > 0x15691d530 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate > 0x15691d608 s [] in BlockClosure>newProcess > > > (lldb) call dumpPrimTraceLog() > stringHash:initialHash: > compare:with:collated: > stringHash:initialHash: > stringHash:initialHash: > **StackOverflow** > primitiveChangeClassTo: > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > compare:with:collated: > primitiveChangeClassTo: > primitiveChangeClassTo: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > compare:with:collated: > compare:with:collated: > stringHash:initialHash: > compare:with:collated: > primitiveChangeClassTo: > primitiveChangeClassTo: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > compare:with:collated: > compare:with:collated: > primitiveChangeClassTo: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > compare:with:collated: > compare:with:collated: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > basicNew: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > perform:withArguments: > **StackOverflow** > **StackOverflow** > **StackOverflow** > size > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > basicNew > **StackOverflow** > perform:withArguments: > **StackOverflow** > stringHash:initialHash: > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > perform: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > perform:withArguments: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > basicNew > perform:withArguments: > **StackOverflow** > **StackOverflow** > **StackOverflow** > basicNew > **StackOverflow** > **StackOverflow** > class > perform:withArguments: > value: > first > basicNew > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > **StackOverflow** > basicNew > perform:withArguments: > basicNew > findNextHandlerOrSignalingContext > tempAt: > class > findNextHandlerOrSignalingContext > tempAt: > tempAt: > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **StackOverflow** > shallowCopy > **StackOverflow** > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > shallowCopy > **CompactCode** > > > >> On 26 Sep 2020, at 23:24, Eliot Miranda > wrote: >> >> Hi Andrei, >> >> fixed in commit 561b06530bbaed5f19e9d7f077a7df9eb3a8d236, VMMaker.oscog-eem.2824 >> >> >> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis > wrote: >> >> Hi, >> >> We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm . >> >> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >> >> (lldb) call (void *) printOop(0x1206b6990) >> 0x1206b6990: a(n) Context >> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >> 0x1206b6b28 0x1206b6b50 >> >> Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. >> >> Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. >> >> A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >> Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? >> >> >> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >> ... >> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >> ... >> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >> 0x1206b5b98 s Set>collect: >> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >> 0x1206b6a48 s BlockClosure>ensure: >> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x1207e6620 s BlockClosure>on:do: >> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x1207a83e0 s BlockClosure>on:do: >> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x1207bf830 s [] in BlockClosure>newProcess >> Cheers, >> Andrei >> >> >> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >> >> >> >> -- >> _,,,^..^,,,_ >> best, Eliot > > > > -- > _,,,^..^,,,_ > best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Sun Sep 27 20:45:28 2020 From: notifications at github.com (Tobias Pape) Date: Sun, 27 Sep 2020 13:45:28 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: Then every file that includes a system header should start with ```C #ifdef HAVE_CONFIG_H #include "config.h" #endif ``` -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42767043 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Sun Sep 27 20:46:04 2020 From: notifications at github.com (Tobias Pape) Date: Sun, 27 Sep 2020 13:46:04 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: Really, I do think there should be as little defines on the cmdline and the Makefiles as possible -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42767052 -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Sun Sep 27 20:56:02 2020 From: builds at travis-ci.org (Travis CI) Date: Sun, 27 Sep 2020 20:56:02 +0000 Subject: [Vm-dev] Failed: OpenSmalltalk/opensmalltalk-vm#2212 (Cog - b0fb4f2) In-Reply-To: Message-ID: <5f70fc6278cee_13f7e759b6148454cf@travis-tasks-6b479889b9-47hrb.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2212 Status: Failed Duration: 1 hr, 23 mins, and 28 secs Commit: b0fb4f2 (Cog) Author: Eliot Miranda Message: Include sqAssert.h before sqVirtualMachine.h in sqVirtualMachine.c for the minheadless builds so they can redefine error to sqError. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/d485f8e94961...b0fb4f212344 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730761998?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Sun Sep 27 21:50:01 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sun, 27 Sep 2020 21:50:01 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2827.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2827.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2827 Author: eem Time: 27 September 2020, 2:49:51.898729 pm UUID: 2c352285-e689-4bd4-ae0b-8527b2957a63 Ancestors: VMMaker.oscog-eem.2826 Plugins: Fix InterpreterPlugin isAlien:, I find is:KindOf: misleading (arguably it should be called is:KindOfClassNamed:); the right mehtod is is:KindOfClass: Add primAlienCopyInto, a slightly more4 convenient way of getting data out of aliens. A few minor simplifications. Use the canonical symbl for const char * in a few more places. =============== Diff against VMMaker.oscog-eem.2826 =============== Item was changed: ----- Method: IA32ABIPlugin>>primAddressField (in category 'primitives-accessing') ----- primAddressField "Answer the unsigned 32-bit (or 64-bit) integer comprising the address field (the second 32-bit or 64-bit field)." " primAddressField ^ " + | rcvr value | - | rcvr value valueOop | rcvr := interpreterProxy stackValue: 0. value := self longAt: rcvr + interpreterProxy baseHeaderSize + interpreterProxy bytesPerOop. + ^interpreterProxy methodReturnValue: (self positiveMachineIntegerFor: value)! - valueOop := self positiveMachineIntegerFor: value. - ^interpreterProxy methodReturnValue: valueOop! Item was added: + ----- Method: IA32ABIPlugin>>primAlienCopyInto (in category 'primitives-accessing') ----- + primAlienCopyInto + "Copy some number of bytes from the receiver starting at the first index into some destination + object starting at the second index. The destination may be an Aliens or a bit-indexable object. + The primitive will have the following signature: + + primCopyFrom: start + to: stop + into: destination + startingAt: destStart ^ + + " + + | alien start stop dest destStart src totalLength destAddr myLength | + alien := interpreterProxy stackValue: 4. "Unchecked!!" + start := interpreterProxy stackIntegerValue: 3. + stop := interpreterProxy stackIntegerValue: 2. + dest := interpreterProxy stackValue: 1. + destStart := interpreterProxy stackIntegerValue: 0. + + (interpreterProxy failed + or: [(interpreterProxy isWordsOrBytes: dest) not]) ifTrue: + [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. + + myLength := self sizeField: alien. + src := (self startOfData: dest withSize: myLength) + start - 1. + + (self isAlien: dest) + ifTrue: + [totalLength := self sizeField: dest. + destAddr := (self startOfData: dest withSize: totalLength) + start - 1. + totalLength = 0 "no bounds checks for zero-sized (pointer) Aliens" + ifTrue: [totalLength := stop] + ifFalse: [totalLength := totalLength abs]] + ifFalse: + [totalLength := interpreterProxy byteSizeOf: dest. + destAddr := (self startOfByteData: dest) + start - 1]. + + ((start >= 1 and: [start - 1 <= stop and: [stop <= myLength]]) + and: [stop - start + 1 <= totalLength]) ifFalse: + [^interpreterProxy primitiveFailFor: PrimErrBadIndex]. + + (interpreterProxy isOopImmutable: dest) ifTrue: + [^interpreterProxy primitiveFailFor: PrimErrNoModification]. + + "Use memmove to allow source and desition to overlap" + self memmove: destAddr asVoidPointer _: src asVoidPointer _: stop - start + 1. + + interpreterProxy methodReturnReceiver! Item was changed: ----- Method: IA32ABIPlugin>>primAlienReplace (in category 'primitives-accessing') ----- primAlienReplace "Copy some number of bytes from some source object starting at the index into the receiver destination object from startIndex to stopIndex. The source and destination may be Aliens or byte-indexable objects. The primitive wll have either of the following signatures: primReplaceFrom: start to: stop with: replacement startingAt: repStart ^ primReplaceIn: dest from: start to: stop with: replacement startingAt: repStart ^ " + | array start stop repl replStart dest src totalLength | - | array start stop repl replStart dest src totalLength count | array := interpreterProxy stackValue: 4. start := interpreterProxy stackIntegerValue: 3. stop := interpreterProxy stackIntegerValue: 2. repl := interpreterProxy stackValue: 1. replStart := interpreterProxy stackIntegerValue: 0. (interpreterProxy failed or: [(interpreterProxy isWordsOrBytes: array) not]) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. (self isAlien: array) ifTrue: [totalLength := self sizeField: array. dest := (self startOfData: array withSize: totalLength) + start - 1. totalLength = 0 "no bounds checks for zero-sized (pointer) Aliens" ifTrue: [totalLength := stop] ifFalse: [totalLength := totalLength abs]] ifFalse: [totalLength := interpreterProxy byteSizeOf: array. dest := (self startOfByteData: array) + start - 1]. (start >= 1 and: [start - 1 <= stop and: [stop <= totalLength]]) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadIndex]. (interpreterProxy isKindOfInteger: repl) ifTrue: [src := (interpreterProxy positiveMachineIntegerValueOf: repl) + replStart - 1. interpreterProxy failed ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]] ifFalse: [(self isAlien: repl) ifTrue: [totalLength := self sizeField: repl. src := (self startOfData: repl withSize: totalLength) + replStart - 1. totalLength = 0 "no bounds checks for zero-sized (pointer) Aliens" ifTrue: [totalLength := stop - start + replStart] ifFalse: [totalLength := totalLength abs]] ifFalse: [(interpreterProxy isWordsOrBytes: repl) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. totalLength := interpreterProxy byteSizeOf: repl. src := (self startOfByteData: repl) + replStart - 1]. (replStart >= 1 and: [stop - start + replStart <= totalLength]) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadIndex]]. (interpreterProxy isOopImmutable: array) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrNoModification]. + "Use memmove to allow source and desition to overlap" + self memmove: dest asVoidPointer _: src asVoidPointer _: stop - start + 1. - count := stop - start + 1. - self memmove: dest asVoidPointer _: src asVoidPointer _: count. + interpreterProxy methodReturnReceiver! - interpreterProxy pop: interpreterProxy methodArgumentCount! Item was changed: ----- Method: IA32ABIPlugin>>primBoxedFree (in category 'primitives-memory management') ----- primBoxedFree "Free the memory referenced by the receiver, an Alien." "proxy primFree ^ " | addr rcvr ptr sizeField | rcvr := interpreterProxy stackValue: 0. (interpreterProxy byteSizeOf: rcvr) >= (2 * interpreterProxy bytesPerOop) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadReceiver]. ptr := interpreterProxy firstIndexableField: rcvr. sizeField := ptr at: 0. addr := ptr at: 1. "Don't you dare to free Squeak's memory!!" (sizeField >= 0 or: [addr = 0 or: [interpreterProxy isInMemory: addr]]) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrInappropriate]. + self free: addr asVoidPointer. - self cCode: 'free((void *)addr)' - inSmalltalk: [self Cfree: addr]. ptr at: 0 put: 0; at: 1 put: 0 "cleanup"! Item was changed: ----- Method: IA32ABIPlugin>>primCalloc (in category 'primitives-memory management') ----- primCalloc "calloc (malloc + zero-fill) arg bytes." "primCalloc: byteSize ^ " | byteSize addr | byteSize := interpreterProxy stackIntegerValue: 0. (interpreterProxy failed or: [byteSize <= 0 "some mallocs can't deal with malloc(0) bytes"]) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. + addr := (self calloc: 1 _: byteSize) asUnsignedInteger. - addr := self cCode: [(self c: 1 alloc: byteSize) asUnsignedInteger] inSmalltalk: [Alien Ccalloc: byteSize]. addr = 0 ifTrue: [^interpreterProxy primitiveFailFor: PrimErrNoCMemory]. interpreterProxy methodReturnValue: (self positiveMachineIntegerFor: addr)! Item was changed: ----- Method: IA32ABIPlugin>>primDoubleAt (in category 'primitives-accessing') ----- primDoubleAt "Answer the 64-bit double starting at the given byte offset (little endian)." " doubleAt: index ^ " | byteOffset rcvr startAddr addr floatValue | byteOffset := (interpreterProxy stackPositiveMachineIntegerValue: 0) - 1. rcvr := interpreterProxy stackObjectValue: 1. interpreterProxy failed ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. (self index: byteOffset length: 8 inRange: rcvr) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadIndex]. (startAddr := self startOfData: rcvr) = 0 ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadReceiver]. addr := startAddr + byteOffset. + self memcpy: (self addressOf: floatValue put: [:v| floatValue := v]) _: addr _: (self sizeof: floatValue). + interpreterProxy methodReturnFloat: floatValue! - self memcpy: (self addressOf: floatValue) _: addr _: (self sizeof: floatValue). - interpreterProxy pop: 2. - ^interpreterProxy pushFloat: floatValue! Item was changed: ----- Method: IA32ABIPlugin>>primFloatAt (in category 'primitives-accessing') ----- primFloatAt "Answer the 32-bit float starting at the given byte offset (little endian)." " floatAt: index ^ " | byteOffset rcvr startAddr addr floatValue | byteOffset := (interpreterProxy stackPositiveMachineIntegerValue: 0) - 1. rcvr := interpreterProxy stackObjectValue: 1. interpreterProxy failed ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. (self index: byteOffset length: 4 inRange: rcvr) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadIndex]. (startAddr := self startOfData: rcvr) = 0 ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadReceiver]. addr := startAddr + byteOffset. + self memcpy: (self addressOf: floatValue put: [:v| floatValue := v]) _: addr _: (self sizeof: floatValue). + interpreterProxy methodReturnFloat: floatValue! - self memcpy: (self addressOf: floatValue) _: addr _: (self sizeof: floatValue). - interpreterProxy pop: 2. - ^interpreterProxy pushFloat: floatValue! Item was changed: ----- Method: IA32ABIPlugin>>primFree (in category 'primitives-memory management') ----- primFree "Free the memory referenced by the argument, an integer." " primFree: address " | addr | addr := interpreterProxy stackPositiveMachineIntegerValue: 0. interpreterProxy failed ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. "Don't you dare to free Squeak's memory!!" (addr = 0 or: [interpreterProxy isInMemory: addr]) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrInappropriate]. + self free: addr asVoidPointer. - self cCode: 'free((void *)addr)' - inSmalltalk: [self Cfree: addr]. interpreterProxy pop: 1! Item was changed: ----- Method: IA32ABIPlugin>>primMalloc (in category 'primitives-memory management') ----- primMalloc "Malloc arg bytes." "primMalloc: byteSize <^Integer> " | byteSize addr | byteSize := interpreterProxy stackIntegerValue: 0. (interpreterProxy failed or: [byteSize <= 0 "some mallocs can't deal with malloc(0) bytes"]) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. + addr := (self malloc: byteSize) asUnsignedInteger. - addr := self cCode: [(self malloc: byteSize) asUnsignedInteger] inSmalltalk: [Alien Cmalloc: byteSize]. addr = 0 ifTrue: [^interpreterProxy primitiveFailFor: PrimErrNoCMemory]. interpreterProxy methodReturnValue: (self positiveMachineIntegerFor: addr)! Item was changed: ----- Method: IA32ABIPlugin>>primStrlenFromStartIndex (in category 'primitives-accessing') ----- primStrlenFromStartIndex "Answer the number of non-null bytes starting at index. If there isn't a null byte before the end of the object then the result will be the number of bytes from index to the end of the object, i.e. the result will be within the bounds of the object." " primStrlenFrom: index ^ " | byteOffset rcvr index limit ptr | byteOffset := (interpreterProxy stackPositiveMachineIntegerValue: 0) - 1. rcvr := interpreterProxy stackObjectValue: 1. interpreterProxy failed ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. (self index: byteOffset length: 1 inRange: rcvr) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadIndex]. limit := self sizeField: rcvr. ptr := self cCoerce: ((self startOfData: rcvr withSize: limit) + byteOffset) to: #'char *'. limit = 0 ifTrue: [index := self strlen: ptr] ifFalse: [limit := limit abs. index := 0. + [index < limit and: [(ptr at: index) ~= 0]] whileTrue: - [index < limit - and: [(self cCode: 'ptr[index]' inSmalltalk: [ptr byteAt: index]) ~= 0]] whileTrue: [index := index + 1]]. + interpreterProxy methodReturnInteger: index! - ^interpreterProxy methodReturnValue: (interpreterProxy positive32BitIntegerFor: index)! Item was changed: ----- Method: IA32ABIPlugin>>primStrlenThroughPointerAtIndex (in category 'primitives-accessing') ----- primStrlenThroughPointerAtIndex "Answer the number of non-null bytes starting at the byte addressed by the 4-byte pointer at index." " strlenThroughPointerAt: index ^ " + | byteOffset rcvr addr | - | byteOffset rcvr ptr addr | byteOffset := (interpreterProxy stackPositiveMachineIntegerValue: 0) - 1. rcvr := interpreterProxy stackObjectValue: 1. interpreterProxy failed ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. (self index: byteOffset length: interpreterProxy bytesPerOop inRange: rcvr) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadIndex]. addr := (self startOfData: rcvr) + byteOffset. + ^interpreterProxy methodReturnInteger: (self strlen: (self cCoerce: (self longAt: addr) to: #'char *'))! - ptr := self cCoerce: (self longAt: addr) to: #'char *'. - ^interpreterProxy methodReturnValue: (interpreterProxy positive32BitIntegerFor: (self strlen: ptr))! Item was changed: ----- Method: InterpreterPlugin>>getModuleName (in category 'initialize') ----- getModuleName "Note: This is hardcoded so it can be run from Squeak. + The module name is used for validating a module *after* + it is loaded to check if it does really contain the module + we're thinking it contains. This is important!! Note also + that if a plugin does not implement getModuleName then + loading is allowed but a warning may be printed. See + platforms/Cross/vm/sqNamedPrims.c" + - The module name is used for validating a module *after* - it is loaded to check if it does really contain the module - we're thinking it contains. This is important!!" - ^self cCode: [moduleName] inSmalltalk: [| string index | string := ((self class codeGeneratorClass new pluginClass: self class) variableDeclarationStringsForVariable: 'moduleName') first. index := (string indexOfSubCollection: 'moduleName = "') + 14. (string copyFrom: index to: (string indexOf: $" startingAt: index + 1) - 1), '(i)']! Item was changed: ----- Method: InterpreterPlugin>>isAlien: (in category 'alien support') ----- isAlien: oop "Answer if oop is an Alien. We could ask if isWordsOrBytes: first, but that doesn't help. We still have to do the is:KindOf: walk. We're not interested in fast falsehood, but as fast as possible truth, and with the current API this is it." + ^interpreterProxy is: oop KindOfClass: interpreterProxy classAlien! - ^interpreterProxy is: oop KindOf: interpreterProxy classAlien! Item was changed: ----- Method: ObjectMemory>>stringForCString: (in category 'primitive support') ----- stringForCString: aCString "Answer a new String copied from a null-terminated C string, or nil if out of memory. Caution: This may invoke the garbage collector." + - | len newString | len := self strlen: aCString. newString := self instantiateClass: (self splObj: ClassByteString) indexableSize: len. newString ifNotNil: [self strncpy: (self cCoerceSimple: newString + self baseHeaderSize to: #'char *') _: aCString _: len]. "(char *)strncpy()" ^newString! Item was changed: ----- Method: SpurMemoryManager>>stringForCString: (in category 'primitive support') ----- stringForCString: aCString "Answer a new String copied from a null-terminated C string, or nil if out of memory." + - | len newString | len := self strlen: aCString. newString := self allocateSlots: (self numSlotsForBytes: len) format: (self byteFormatForNumBytes: len) classIndex: ClassByteStringCompactIndex. newString ifNotNil: [self strncpy: (self cCoerceSimple: newString + self baseHeaderSize to: #'char *') _: aCString _: len]. "(char *)strncpy()" ^newString! Item was changed: ----- Method: ThreadedFFIPlugin>>getModuleName (in category 'initialize') ----- getModuleName "Note: This is hardcoded so it can be run from Squeak. The module name is used for validating a module *after* it is loaded to check if it does really contain the module we're thinking it contains. This is important!!" + - ^'SqueakFFIPrims', PluginVersionInfo! From builds at travis-ci.org Sun Sep 27 22:00:53 2020 From: builds at travis-ci.org (Travis CI) Date: Sun, 27 Sep 2020 22:00:53 +0000 Subject: [Vm-dev] Failed: OpenSmalltalk/opensmalltalk-vm#2213 (Cog - 24be48c) In-Reply-To: Message-ID: <5f710b94d64b0_13fdc53bc9a483688d@travis-tasks-6b479889b9-l8kpg.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2213 Status: Failed Duration: 2 hrs, 5 mins, and 33 secs Commit: 24be48c (Cog) Author: Eliot Miranda Message: Print module handles as pointers in the external plugin symbol lookup debug machinery. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/b0fb4f212344...24be48ce7a7b View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730765173?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Sun Sep 27 22:01:21 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sun, 27 Sep 2020 22:01:21 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2828.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2828.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2828 Author: eem Time: 27 September 2020, 3:01:12.505829 pm UUID: 3c2c852d-7cbe-44db-94ec-85ada5056274 Ancestors: VMMaker.oscog-eem.2827 Oops! Back out of the comment change to getModuleName as it causes all plugins to change. Some day the time will be right, but not today :-) =============== Diff against VMMaker.oscog-eem.2827 =============== Item was changed: ----- Method: InterpreterPlugin>>getModuleName (in category 'initialize') ----- getModuleName "Note: This is hardcoded so it can be run from Squeak. + The module name is used for validating a module *after* + it is loaded to check if it does really contain the module + we're thinking it contains. This is important!!" + - The module name is used for validating a module *after* - it is loaded to check if it does really contain the module - we're thinking it contains. This is important!! Note also - that if a plugin does not implement getModuleName then - loading is allowed but a warning may be printed. See - platforms/Cross/vm/sqNamedPrims.c" - ^self cCode: [moduleName] inSmalltalk: [| string index | string := ((self class codeGeneratorClass new pluginClass: self class) variableDeclarationStringsForVariable: 'moduleName') first. index := (string indexOfSubCollection: 'moduleName = "') + 14. (string copyFrom: index to: (string indexOf: $" startingAt: index + 1) - 1), '(i)']! From commits at source.squeak.org Sun Sep 27 23:12:36 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sun, 27 Sep 2020 23:12:36 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2829.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2829.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2829 Author: eem Time: 27 September 2020, 4:12:26.359235 pm UUID: c7c0e1c1-5042-4a9f-b76b-6410d8465651 Ancestors: VMMaker.oscog-eem.2828 Alien/IA32ABIPlugin: Fix a slip in primAlienCopyInto. myLenght can be egative; compare against its abs. =============== Diff against VMMaker.oscog-eem.2828 =============== Item was changed: ----- Method: IA32ABIPlugin>>primAlienCopyInto (in category 'primitives-accessing') ----- primAlienCopyInto "Copy some number of bytes from the receiver starting at the first index into some destination object starting at the second index. The destination may be an Aliens or a bit-indexable object. The primitive will have the following signature: primCopyFrom: start to: stop into: destination startingAt: destStart ^ " | alien start stop dest destStart src totalLength destAddr myLength | alien := interpreterProxy stackValue: 4. "Unchecked!!" start := interpreterProxy stackIntegerValue: 3. stop := interpreterProxy stackIntegerValue: 2. dest := interpreterProxy stackValue: 1. destStart := interpreterProxy stackIntegerValue: 0. (interpreterProxy failed or: [(interpreterProxy isWordsOrBytes: dest) not]) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. myLength := self sizeField: alien. src := (self startOfData: dest withSize: myLength) + start - 1. (self isAlien: dest) ifTrue: [totalLength := self sizeField: dest. destAddr := (self startOfData: dest withSize: totalLength) + start - 1. totalLength = 0 "no bounds checks for zero-sized (pointer) Aliens" ifTrue: [totalLength := stop] ifFalse: [totalLength := totalLength abs]] ifFalse: [totalLength := interpreterProxy byteSizeOf: dest. destAddr := (self startOfByteData: dest) + start - 1]. + ((start >= 1 and: [start - 1 <= stop and: [stop <= myLength abs]]) - ((start >= 1 and: [start - 1 <= stop and: [stop <= myLength]]) and: [stop - start + 1 <= totalLength]) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadIndex]. (interpreterProxy isOopImmutable: dest) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrNoModification]. "Use memmove to allow source and desition to overlap" self memmove: destAddr asVoidPointer _: src asVoidPointer _: stop - start + 1. interpreterProxy methodReturnReceiver! From commits at source.squeak.org Sun Sep 27 23:28:11 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Sun, 27 Sep 2020 23:28:11 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2830.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2830.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2830 Author: eem Time: 27 September 2020, 4:28:02.555901 pm UUID: b30cd73c-7118-461b-9d8a-1c523c6aa011 Ancestors: VMMaker.oscog-eem.2829 lien/IA32ABIPlugin: Fix one more slip in primAlienCopyInto =============== Diff against VMMaker.oscog-eem.2829 =============== Item was changed: ----- Method: IA32ABIPlugin>>primAlienCopyInto (in category 'primitives-accessing') ----- primAlienCopyInto "Copy some number of bytes from the receiver starting at the first index into some destination object starting at the second index. The destination may be an Aliens or a bit-indexable object. The primitive will have the following signature: primCopyFrom: start to: stop into: destination startingAt: destStart ^ " | alien start stop dest destStart src totalLength destAddr myLength | alien := interpreterProxy stackValue: 4. "Unchecked!!" start := interpreterProxy stackIntegerValue: 3. stop := interpreterProxy stackIntegerValue: 2. dest := interpreterProxy stackValue: 1. destStart := interpreterProxy stackIntegerValue: 0. (interpreterProxy failed or: [(interpreterProxy isWordsOrBytes: dest) not]) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrBadArgument]. myLength := self sizeField: alien. + src := (self startOfData: alien withSize: myLength) + start - 1. - src := (self startOfData: dest withSize: myLength) + start - 1. (self isAlien: dest) ifTrue: [totalLength := self sizeField: dest. destAddr := (self startOfData: dest withSize: totalLength) + start - 1. totalLength = 0 "no bounds checks for zero-sized (pointer) Aliens" ifTrue: [totalLength := stop] ifFalse: [totalLength := totalLength abs]] ifFalse: [totalLength := interpreterProxy byteSizeOf: dest. destAddr := (self startOfByteData: dest) + start - 1]. ((start >= 1 and: [start - 1 <= stop and: [stop <= myLength abs]]) and: [stop - start + 1 <= totalLength]) ifFalse: [^interpreterProxy primitiveFailFor: PrimErrBadIndex]. (interpreterProxy isOopImmutable: dest) ifTrue: [^interpreterProxy primitiveFailFor: PrimErrNoModification]. "Use memmove to allow source and desition to overlap" self memmove: destAddr asVoidPointer _: src asVoidPointer _: stop - start + 1. interpreterProxy methodReturnReceiver! From noreply at github.com Sun Sep 27 23:34:05 2020 From: noreply at github.com (Eliot Miranda) Date: Sun, 27 Sep 2020 16:34:05 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 7b39d8: CogVM source as per VMMaker.oscog-eem.2830 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 7b39d8d84a252febf8c916c362f31a4a4405ed32 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7b39d8d84a252febf8c916c362f31a4a4405ed32 Author: Eliot Miranda Date: 2020-09-27 (Sun, 27 Sep 2020) Changed paths: M src/plugins/IA32ABI/IA32ABI.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2830 IA32ABIPlugin: Add primAlienCopyInto, a slightly more convenient way of getting data out of aliens. From no-reply at appveyor.com Sun Sep 27 23:39:01 2020 From: no-reply at appveyor.com (AppVeyor) Date: Sun, 27 Sep 2020 23:39:01 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2215 Message-ID: <20200927233901.1.93341D290EF04C2E@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Sep 28 00:55:14 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 28 Sep 2020 00:55:14 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2214 (Cog - 7b39d8d) In-Reply-To: Message-ID: <5f7134728389e_13fcdd6bb254070456@travis-tasks-5cbc9bcd5c-l5d9v.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2214 Status: Still Failing Duration: 1 hr, 20 mins, and 40 secs Commit: 7b39d8d (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2830 IA32ABIPlugin: Add primAlienCopyInto, a slightly more convenient way of getting data out of aliens. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/24be48ce7a7b...7b39d8d84a25 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730798345?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Mon Sep 28 02:03:02 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Sun, 27 Sep 2020 19:03:02 -0700 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: <8772DA32-DC9C-44AA-B57C-BB92F2DEB99D@gmail.com> References: <8772DA32-DC9C-44AA-B57C-BB92F2DEB99D@gmail.com> Message-ID: Hi Andrei, On Sun, Sep 27, 2020 at 1:01 PM Andrei Chis wrote: > > Hi Eliot, > > I get the following details for the VM that I compiled locally: > > CoInterpreter VMMaker.oscog-eem.2824 uuid: > 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 > StackToRegisterMappingCogit VMMaker.oscog-eem.2824 uuid: > 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 > VM: 202009270258 andrei at Andreis-MacBook-Pro.local:Documents/Pharo/vm-compilation/opensmalltalk-vm > Date: Sat Sep 26 19:58:41 2020 CommitHash: 5a0d21d71 Plugins: 202009270258 > andrei at Andreis-MacBook-Pro.local > :Documents/Pharo/vm-compilation/opensmalltalk-vm > > Mac OS X built on Sep 27 2020 14:27:59 CEST Compiler: 4.2.1 Compatible > Apple LLVM 11.0.3 (clang-1103.0.32.62) > VMMaker versionString VM: 202009270258 andrei at Andreis-MacBook-Pro.local:Documents/Pharo/vm-compilation/opensmalltalk-vm > Date: Sat Sep 26 19:58:41 2020 CommitHash: 5a0d21d71 Plugins: 202009270258 > andrei at Andreis-MacBook-Pro.local > :Documents/Pharo/vm-compilation/opensmalltalk-vm > CoInterpreter VMMaker.oscog-eem.2824 uuid: > 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 > StackToRegisterMappingCogit VMMaker.oscog-eem.2824 uuid: > 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 > > > I can package together the image/changes file and libs and send them > privately. > Good, let's do that. Thanks. > > Cheers, > Andrei > > On 27 Sep 2020, at 21:23, Eliot Miranda wrote: > > Hi Andrei, > > On Sun, Sep 27, 2020 at 10:29 AM Andrei Chis > wrote: > >> >> Hi Eliot, >> >> Thanks a lot for your help. >> >> I compiled locally a vm from the commit hash >> 5a0d21d71223b4d1f4d007ebf2441d530c18c3e2 (CogVM source as per >> VMMaker.oscog-eem.2826) and I got a Context>>copyTo: crash. >> I think I compiled the vm correctly. Are them some Pharo VMs built on >> travis for Mac to try out instead of building locally? >> > > There may be. The PharoVM team are not maintaining our CI builds so you > may not be able to find a Pharo VM. > > >> Below are the stack traces and primitive longs for two crashes with the >> compiled vm. >> > > OK, that's disappointing, but important. Maybe you can put an > image/changes, support dylibs package up somewhere (Dropbox?) and I can try > and run the test case locally. I tested the fix for some time and it > clearly fixed one bug. But it does seem that there's another in a similar > area. Thanks for your patience. > > One question, you're sure you're running the new VM? > > >> Process 19347 stopped >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT >> (code=EXC_I386_BPT, subcode=0x0) >> frame #0: 0x0000000140103f79 >> -> 0x140103f79: int3 >> 0x140103f7a: int3 >> 0x140103f7b: int3 >> 0x140103f7c: int3 >> Target 0: (Pharo) stopped. >> >> (lldb) call dumpPrimTraceLog() >> basicNew >> **StackOverflow** >> basicNew >> @ >> @ >> @ >> @ >> basicNew >> basicNew >> @ >> @ >> @ >> @ >> @ >> @ >> signal >> signal >> class >> basicIdentityHash >> basicNew >> class >> bitShift: >> bitAnd: >> asFloat >> / >> asFloat >> fractionPart >> truncated >> fractionPart >> truncated >> fractionPart >> truncated >> setAlpha: >> truncated >> basicIdentityHash >> basicNew >> basicNew >> class >> class >> basicNew >> basicNew >> basicIdentityHash >> basicNew >> basicNew >> basicNew >> wait >> class >> tempAt: >> tempAt:put: >> tempAt: >> terminateTo: >> signal >> findNextUnwindContextUpTo: >> terminateTo: >> wait >> **StackOverflow** >> signal >> replaceFrom:to:with:startingAt: >> wait >> **StackOverflow** >> class >> signal >> basicNew >> class >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> wait >> signal >> basicIdentityHash >> class >> basicNew >> basicNew >> **StackOverflow** >> class >> class >> **StackOverflow** >> wait >> signal >> **StackOverflow** >> **StackOverflow** >> wait >> signal >> basicNew >> basicNew >> basicNew >> signal >> wait >> signal >> basicIdentityHash >> basicIdentityHash >> basicNew >> basicNew >> class >> value:value: >> basicNew >> replaceFrom:to:with:startingAt: >> valueWithArguments: >> **StackOverflow** >> basicIdentityHash >> valueWithArguments: >> basicNew >> **StackOverflow** >> class >> findNextHandlerOrSignalingContext >> **StackOverflow** >> primitive >> ~= >> ~= >> tempAt: >> **StackOverflow** >> tempAt: >> basicNew >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> >> >> >> (lldb) call printCallStack() >> 0x7ffeefbe6d78 M Context(Object)>copy 0x145bbce28: a(n) Context >> 0x7ffeefbe6db0 M Context>copyTo: 0x145bbce28: a(n) Context >> 0x7ffeefbe6df8 M Context>copyTo: 0x145bbcd30: a(n) Context >> 0x7ffeefbe6e40 M Context>copyTo: 0x145bbcc78: a(n) Context >> 0x7ffeefbe6e88 M Context>copyTo: 0x145bbcbc0: a(n) Context >> 0x7ffeefbe6ed0 M Context>copyTo: 0x19709adc8: a(n) Context >> 0x7ffeefbe6f18 M Context>copyTo: 0x19709ad10: a(n) Context >> 0x7ffeefbe37c8 M Context>copyTo: 0x19709ac58: a(n) Context >> 0x7ffeefbe3810 M Context>copyTo: 0x19709aba0: a(n) Context >> 0x7ffeefbe3858 M Context>copyTo: 0x19709aae8: a(n) Context >> 0x7ffeefbe38a0 M Context>copyTo: 0x19709aa10: a(n) Context >> 0x7ffeefbe38e8 M Context>copyTo: 0x19709a938: a(n) Context >> 0x7ffeefbe3930 M Context>copyTo: 0x19709a860: a(n) Context >> 0x7ffeefbe3978 M Context>copyTo: 0x19709a7a8: a(n) Context >> 0x7ffeefbe39c0 M Context>copyTo: 0x19709a6f0: a(n) Context >> 0x7ffeefbe3a08 M Context>copyTo: 0x19709a638: a(n) Context >> 0x7ffeefbe3a50 M Context>copyTo: 0x19709a560: a(n) Context >> 0x7ffeefbe3a98 M Context>copyTo: 0x19709a4a8: a(n) Context >> 0x7ffeefbe3ae0 M Context>copyTo: 0x19709a3f0: a(n) Context >> 0x7ffeefbe3b28 M Context>copyTo: 0x19709a338: a(n) Context >> 0x7ffeefbe3b70 M Context>copyTo: 0x19709a280: a(n) Context >> 0x7ffeefbe3bb8 M Context>copyTo: 0x19709a1c8: a(n) Context >> 0x7ffeefbe3c00 M Context>copyTo: 0x19709a0e0: a(n) Context >> 0x7ffeefbe3c48 M Context>copyTo: 0x197099ff8: a(n) Context >> 0x7ffeefbe3c90 M Context>copyTo: 0x197099ee0: a(n) Context >> 0x7ffeefbe3cd8 M Context>copyTo: 0x197099e28: a(n) Context >> 0x7ffeefbe3d20 M Context>copyTo: 0x140169920: a(n) Context >> 0x7ffeefbe3d68 M Context>copyTo: 0x140169868: a(n) Context >> 0x7ffeefbe3db0 M Context>copyTo: 0x1401697b0: a(n) Context >> 0x7ffeefbe3df8 M Context>copyTo: 0x1401696f8: a(n) Context >> 0x7ffeefbe3e40 M Context>copyTo: 0x140169640: a(n) Context >> 0x7ffeefbe3e88 M Context>copyTo: 0x140169588: a(n) Context >> 0x7ffeefbe3ed0 M Context>copyTo: 0x1401694a0: a(n) Context >> 0x7ffeefbe3f18 M Context>copyTo: 0x140169390: a(n) Context >> 0x7ffeefbf47c8 M Context>copyTo: 0x1401692b0: a(n) Context >> 0x7ffeefbf4810 M Context>copyTo: 0x1401691f8: a(n) Context >> 0x7ffeefbf4858 M Context>copyTo: 0x140169140: a(n) Context >> 0x7ffeefbf48a0 M Context>copyTo: 0x140169058: a(n) Context >> 0x7ffeefbf48e8 M Context>copyTo: 0x140168f80: a(n) Context >> 0x7ffeefbf4930 M Context>copyTo: 0x140168ec8: a(n) Context >> 0x7ffeefbf4978 M Context>copyTo: 0x140168e10: a(n) Context >> 0x7ffeefbf49c0 M Context>copyTo: 0x140168d38: a(n) Context >> 0x7ffeefbf4a08 M Context>copyTo: 0x140168c58: a(n) Context >> 0x7ffeefbf4a50 M Context>copyTo: 0x140168b80: a(n) Context >> 0x7ffeefbf4a98 M Context>copyTo: 0x140168ac8: a(n) Context >> 0x7ffeefbf4ae0 M Context>copyTo: 0x140168a10: a(n) Context >> 0x7ffeefbf4b28 M Context>copyTo: 0x140168900: a(n) Context >> 0x7ffeefbf4b70 M Context>copyTo: 0x140168810: a(n) Context >> 0x7ffeefbf4bb8 M Context>copyTo: 0x140168718: a(n) Context >> 0x7ffeefbf4c00 M Context>copyTo: 0x140168640: a(n) Context >> 0x7ffeefbf4c48 M Context>copyTo: 0x14039c748: a(n) Context >> 0x7ffeefbf4c90 M Context>copyTo: 0x14039c5d8: a(n) Context >> 0x7ffeefbf4cd8 M Context>copyTo: 0x1401684b8: a(n) Context >> 0x7ffeefbf4d20 M Context>copyTo: 0x1401683d8: a(n) Context >> 0x7ffeefbf4d68 M Context>copyTo: 0x14039c2f8: a(n) Context >> 0x7ffeefbf4db0 M Context>copyTo: 0x140167960: a(n) Context >> 0x7ffeefbf4df8 M Context>copyTo: 0x1401678a8: a(n) Context >> 0x7ffeefbf4e40 M Context>copyTo: 0x140167788: a(n) Context >> 0x7ffeefbf4e88 M Context>copyTo: 0x14039bf60: a(n) Context >> 0x7ffeefbf4ed0 M Context>copyTo: 0x14039bd38: a(n) Context >> 0x7ffeefbf4f18 M Context>copyTo: 0x14039ba58: a(n) Context >> 0x7ffeefbf07c8 M Context>copyTo: 0x14039b8e8: a(n) Context >> 0x7ffeefbf0810 M Context>copyTo: 0x140167578: a(n) Context >> 0x7ffeefbf0858 M Context>copyTo: 0x140167478: a(n) Context >> 0x7ffeefbf08a0 M Context>copyTo: 0x14039b608: a(n) Context >> 0x7ffeefbf08e8 M Context>copyTo: 0x14039b498: a(n) Context >> 0x7ffeefbf0930 M Context>copyTo: 0x14039b328: a(n) Context >> 0x7ffeefbf0978 M Context>copyTo: 0x140167310: a(n) Context >> 0x7ffeefbf09c0 M Context>copyTo: 0x1401671e8: a(n) Context >> 0x7ffeefbf0a08 M Context>copyTo: 0x140167108: a(n) Context >> 0x7ffeefbf0a50 M Context>copyTo: 0x14039af90: a(n) Context >> 0x7ffeefbf0a98 M Context>copyTo: 0x14039ae20: a(n) Context >> 0x7ffeefbf0ae0 M Context>copyTo: 0x140166fe0: a(n) Context >> 0x7ffeefbf0b28 M Context>copyTo: 0x140166ec0: a(n) Context >> 0x7ffeefbf0b70 M Context>copyTo: 0x14039ab40: a(n) Context >> 0x7ffeefbf0bb8 M Context>copyTo: 0x14039a9d0: a(n) Context >> 0x7ffeefbf0c00 M Context>copyTo: 0x14039a860: a(n) Context >> 0x7ffeefbf0c48 M Context>copyTo: 0x14039a6f0: a(n) Context >> 0x7ffeefbf0c90 M Context>copyTo: 0x140166ca0: a(n) Context >> 0x7ffeefbf0cd8 M Context>copyTo: 0x140166bb8: a(n) Context >> 0x7ffeefbf0d20 M Context>copyTo: 0x140165f60: a(n) Context >> 0x7ffeefbf0d68 M Context>copyTo: 0x140165ea8: a(n) Context >> 0x7ffeefbf0db0 M Context>copyTo: 0x14039a2a0: a(n) Context >> 0x7ffeefbf0df8 M Context>copyTo: 0x140165d48: a(n) Context >> 0x7ffeefbf0e40 M Context>copyTo: 0x140165c20: a(n) Context >> 0x7ffeefbf0e88 M Context>copyTo: 0x140165b40: a(n) Context >> 0x7ffeefbf0ed0 M Context>copyTo: 0x140399e50: a(n) Context >> 0x7ffeefbf0f18 M Context>copyTo: 0x140399b70: a(n) Context >> 0x7ffeefbee7c8 M Context>copyTo: 0x140165a18: a(n) Context >> 0x7ffeefbee810 M Context>copyTo: 0x1401658f8: a(n) Context >> 0x7ffeefbee858 M Context>copyTo: 0x140399890: a(n) Context >> 0x7ffeefbee8a0 M Context>copyTo: 0x140399720: a(n) Context >> 0x7ffeefbee8e8 M Context>copyTo: 0x1403995b0: a(n) Context >> 0x7ffeefbee930 M Context>copyTo: 0x140399440: a(n) Context >> 0x7ffeefbee978 M Context>copyTo: 0x1403992d0: a(n) Context >> 0x7ffeefbee9c0 M Context>copyTo: 0x140399160: a(n) Context >> 0x7ffeefbeea08 M Context>copyTo: 0x140398ff0: a(n) Context >> 0x7ffeefbeea50 M Context>copyTo: 0x140398e80: a(n) Context >> 0x7ffeefbeea98 M Context>copyTo: 0x140398d10: a(n) Context >> 0x7ffeefbeeae0 M Context>copyTo: 0x140165748: a(n) Context >> 0x7ffeefbeeb28 M Context>copyTo: 0x140165648: a(n) Context >> 0x7ffeefbeeb70 M Context>copyTo: 0x140398a30: a(n) Context >> 0x7ffeefbeebb8 M Context>copyTo: 0x1403988c0: a(n) Context >> 0x7ffeefbeec00 M Context>copyTo: 0x140165530: a(n) Context >> 0x7ffeefbeec48 M Context>copyTo: 0x140165458: a(n) Context >> 0x7ffeefbeec90 M Context>copyTo: 0x1403985e0: a(n) Context >> 0x7ffeefbeecd8 M Context>copyTo: 0x140398470: a(n) Context >> 0x7ffeefbeed20 M Context>copyTo: 0x140165088: a(n) Context >> 0x7ffeefbeed68 M Context>copyTo: 0x140166ae0: a(n) Context >> 0x7ffeefbeedb0 M Context>copyTo: 0x140398190: a(n) Context >> 0x7ffeefbeedf8 M Context>copyTo: 0x140398020: a(n) Context >> 0x7ffeefbeee40 M Context>copyTo: 0x140397eb0: a(n) Context >> 0x7ffeefbeee88 M Context>copyTo: 0x1401669d8: a(n) Context >> 0x7ffeefbeeed0 M Context>copyTo: 0x140397c88: a(n) Context >> 0x7ffeefbeef18 M Context>copyTo: 0x140394d08: a(n) Context >> 0x7ffeefbea798 M Context>copyTo: 0x140394e20: a(n) Context >> 0x7ffeefbea7e0 M Context>copyTo: 0x140397838: a(n) Context >> 0x7ffeefbea828 M Context>copyTo: 0x1403976c8: a(n) Context >> 0x7ffeefbea870 M Context>copyTo: 0x140397558: a(n) Context >> 0x7ffeefbea8b8 M Context>copyTo: 0x140395000: a(n) Context >> 0x7ffeefbea900 M Context>copyTo: 0x140397330: a(n) Context >> 0x7ffeefbea948 M Context>copyTo: 0x1403971c0: a(n) Context >> 0x7ffeefbea990 M Context>copyTo: 0x140397050: a(n) Context >> 0x7ffeefbea9d8 M Context>copyTo: 0x140396ee0: a(n) Context >> 0x7ffeefbeaa20 M Context>copyTo: 0x140396d70: a(n) Context >> 0x7ffeefbeaa68 M Context>copyTo: 0x1403958f8: a(n) Context >> 0x7ffeefbeaab0 M Context>copyTo: 0x140396b48: a(n) Context >> 0x7ffeefbeaaf8 M Context>copyTo: 0x140396298: a(n) Context >> 0x7ffeefbeab40 M Context>copyTo: 0x140396920: a(n) Context >> 0x7ffeefbeab88 M Context>copyTo: 0x1403967b0: a(n) Context >> 0x7ffeefbeabd0 M Context>copyTo: 0x1403961e0: a(n) Context >> 0x7ffeefbeac18 M Context>copyTo: 0x140396128: a(n) Context >> 0x7ffeefbeac60 M Context>copyTo: 0x140396070: a(n) Context >> 0x7ffeefbeacb8 I Context>copyTo: 0x140395e28: a(n) Context >> 0x7ffeefbead00 I ZeroDivide(Exception)>freezeUpTo: 0x140395de8: a(n) >> ZeroDivide >> 0x7ffeefbead48 I ZeroDivide(Exception)>freeze 0x140395de8: a(n) >> ZeroDivide >> 0x7ffeefbead88 I BrDebugglableElementStencil>freeze: 0x140396408: >> a(n) BrDebugglableElementStencil >> 0x7ffeefbeadd8 I ZeroDivide(Exception)>asDebuggableElement >> 0x140395de8: a(n) ZeroDivide >> 0x7ffeefbeae18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: >> 0x140169e48: a(n) GtPhlowColumn >> 0x7ffeefbeae50 M BlockClosure>cull: 0x1403959f0: a(n) BlockClosure >> 0x7ffeefbeaea0 I Context>evaluateSignal: 0x140396298: a(n) Context >> 0x7ffeefbeaed8 M Context>handleSignal: 0x140396298: a(n) Context >> 0x7ffeefbeaf20 I ZeroDivide(Exception)>signal 0x140395de8: a(n) >> ZeroDivide >> 0x7ffeefbe7840 I ZeroDivide(Exception)>signal: 0x140395de8: a(n) >> ZeroDivide >> 0x7ffeefbe7888 I ZeroDivide class(Exception class)>signal: >> 0x1409f9490: a(n) ZeroDivide class >> 0x7ffeefbe78c0 M [] in >> GtPhlowColumnedListViewExamples>gtErrorInColumnDoDataBinderFor: >> 0x140168630: a(n) GtPhlowColumnedListViewExamples >> 0x7ffeefbe7908 M BlockClosure>glamourValueWithArgs: 0x140174180: a(n) >> BlockClosure >> 0x7ffeefbe7960 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: >> 0x140169e48: a(n) GtPhlowColumn >> 0x7ffeefbe7990 M BlockClosure>on:do: 0x1403959b0: a(n) BlockClosure >> 0x7ffeefbe79d0 M GtPhlowColumn>performBlock:onException: 0x140169e48: >> a(n) GtPhlowColumn >> 0x7ffeefbe7a18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: >> 0x140169e48: a(n) GtPhlowColumn >> 0x7ffeefbe7a60 M BlockClosure>glamourValueWithArgs: 0x1401701c0: a(n) >> BlockClosure >> 0x7ffeefbe7a98 M BrStencilValuableExecutor>execute 0x140174230: a(n) >> BrStencilValuableExecutor >> 0x7ffeefbe7ad8 M BrColumnCellDataBinder(BrStencilBuilder)>build >> 0x140170448: a(n) BrColumnCellDataBinder >> 0x7ffeefbe7b38 I [] in BrColumnedListDataSource>onBindHolder:at: >> 0x140169f38: a(n) BrColumnedListDataSource >> 0x7ffeefbe7b98 I OrderedCollection(SequenceableCollection)>with:do: >> 0x140169ff8: a(n) OrderedCollection >> 0x7ffeefbe7bf8 I BrColumnedListDataSource>onBindHolder:at: >> 0x140169f38: a(n) BrColumnedListDataSource >> 0x7ffeefbe7c48 I >> BrColumnedListDataSource(BlInfiniteDataSource)>onBindHolder:at:payloads: >> 0x140169f38: a(n) BrColumnedListDataSource >> 0x7ffeefbe7ca0 M [] in >> BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: >> a(n) BrColumnedListDataSource >> 0x7ffeefbe7ce0 M BlockClosure>ensure: 0x140394df0: a(n) BlockClosure >> 0x7ffeefbe7d18 M BlNullTelemetry(BlTelemetry)>timeSync:during: >> 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe7d58 M >> BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: >> a(n) BrColumnedListDataSource >> 0x7ffeefbe7d98 M BlInfiniteRecyclerController>bindHolder:at: >> 0x1401662c0: a(n) BlInfiniteRecyclerController >> 0x7ffeefbe7e10 M BlInfiniteRecycler>elementFor:dryRun: 0x1401652b8: >> a(n) BlInfiniteRecycler >> 0x7ffeefbe7e50 M BlInfiniteRecycler>elementFor: 0x1401652b8: a(n) >> BlInfiniteRecycler >> 0x7ffeefbe7e98 M [] in BlInfiniteLinearLayoutState>nextElement:in: >> 0x140165020: a(n) BlInfiniteLinearLayoutState >> 0x7ffeefbe7ed8 M BlockClosure>ensure: 0x140166a90: a(n) BlockClosure >> 0x7ffeefbe7f10 M BlNullTelemetry(BlTelemetry)>timeSync:during: >> 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe27d0 M BlInfiniteLinearLayoutState>nextElement:in: >> 0x140165020: a(n) BlInfiniteLinearLayoutState >> 0x7ffeefbe2818 M [] in BlInfiniteLinearLayout>layoutChunkAdd >> 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2858 M BlockClosure>ensure: 0x140165410: a(n) BlockClosure >> 0x7ffeefbe2890 M BlNullTelemetry(BlTelemetry)>timeSync:during: >> 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe28d8 M BlInfiniteLinearLayout>layoutChunkAdd 0x140165320: >> a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2910 M [] in BlInfiniteLinearLayout>layoutChunk >> 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2950 M BlockClosure>ensure: 0x140165600: a(n) BlockClosure >> 0x7ffeefbe2988 M BlNullTelemetry(BlTelemetry)>timeSync:during: >> 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe29e0 M BlInfiniteLinearLayout>layoutChunk 0x140165320: a(n) >> BlInfiniteLinearLayout >> 0x7ffeefbe2a48 I BlInfiniteLinearLayout>fillLayout: 0x140165320: a(n) >> BlInfiniteLinearLayout >> 0x7ffeefbe2ab8 I BlInfiniteLinearLayout>layoutChildrenFillFromStart: >> 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2b00 I BlInfiniteLinearLayout>layoutChildrenFill: >> 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2b58 I BlInfiniteLinearLayout>layoutChildrenIn:state: >> 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2ba8 I >> BrInfiniteListElement(BlInfiniteElement)>dispatchLayoutSecondStep >> 0x140165140: a(n) BrInfiniteListElement >> 0x7ffeefbe2be8 I >> BrInfiniteListElement(BlInfiniteElement)>dispatchLayout 0x140165140: a(n) >> BrInfiniteListElement >> 0x7ffeefbe2c18 M BrInfiniteListElement(BlInfiniteElement)>onLayout: >> 0x140165140: a(n) BrInfiniteListElement >> 0x7ffeefbe2c58 M [] in >> BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: 0x140165140: a(n) >> BrInfiniteListElement >> 0x7ffeefbe2c98 M BlockClosure>ensure: 0x1401658b0: a(n) BlockClosure >> 0x7ffeefbe2cd0 M BlNullTelemetry(BlTelemetry)>timeSync:during: >> 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe2d30 M >> BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: 0x140165140: a(n) >> BrInfiniteListElement >> 0x7ffeefbe2d70 M [] in >> BrInfiniteListElement(BlElement)>applyLayoutIn: 0x140165140: a(n) >> BrInfiniteListElement >> 0x7ffeefbe2da0 M BlockClosure>on:do: 0x140165ad0: a(n) BlockClosure >> 0x7ffeefbe2de0 M >> BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x140165b28: a(n) >> BlCompositeErrorHandler >> 0x7ffeefbe2e28 M BrInfiniteListElement(BlElement)>applyLayoutIn: >> 0x140165140: a(n) BrInfiniteListElement >> 0x7ffeefbe2e80 M [] in BlLinearLayoutVerticalOrientation>layout:in: >> 0x140165d38: a(n) BlLinearLayoutVerticalOrientation >> 0x7ffeefbe2ed0 M [] in >> BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140165e50: a(n) >> BlChildrenAccountedByLayout >> 0x7ffeefbe2f18 M Array(SequenceableCollection)>do: 0x140165e98: a(n) >> Array >> 0x7ffeefbe9868 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: >> 0x140165e50: a(n) BlChildrenAccountedByLayout >> 0x7ffeefbe98a8 M BlChildrenAccountedByLayout(BlChildren)>inject:into: >> 0x140165e50: a(n) BlChildrenAccountedByLayout >> 0x7ffeefbe9918 M BlLinearLayoutVerticalOrientation>layout:in: >> 0x140165d38: a(n) BlLinearLayoutVerticalOrientation >> 0x7ffeefbe9958 M BlLinearLayout>layout:in: 0x140166e18: a(n) >> BlLinearLayout >> 0x7ffeefbe9998 M BrColumnedList(BlElement)>onLayout: 0x140166d70: >> a(n) BrColumnedList >> 0x7ffeefbe99d8 M [] in BrColumnedList(BlElement)>applyLayoutSafelyIn: >> 0x140166d70: a(n) BrColumnedList >> 0x7ffeefbe9a18 M BlockClosure>ensure: 0x140166e78: a(n) BlockClosure >> 0x7ffeefbe9a50 M BlNullTelemetry(BlTelemetry)>timeSync:during: >> 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe9ab0 M BrColumnedList(BlElement)>applyLayoutSafelyIn: >> 0x140166d70: a(n) BrColumnedList >> 0x7ffeefbe9af0 M [] in BrColumnedList(BlElement)>applyLayoutIn: >> 0x140166d70: a(n) BrColumnedList >> 0x7ffeefbe9b20 M BlockClosure>on:do: 0x140167098: a(n) BlockClosure >> 0x7ffeefbe9b60 M >> BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401670f0: a(n) >> BlCompositeErrorHandler >> 0x7ffeefbe9ba8 M BrColumnedList(BlElement)>applyLayoutIn: >> 0x140166d70: a(n) BrColumnedList >> 0x7ffeefbe9c00 M [] in BlLinearLayoutVerticalOrientation>layout:in: >> 0x140167300: a(n) BlLinearLayoutVerticalOrientation >> 0x7ffeefbe9c50 M [] in >> BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140167418: a(n) >> BlChildrenAccountedByLayout >> 0x7ffeefbe9c98 M Array(SequenceableCollection)>do: 0x140167460: a(n) >> Array >> 0x7ffeefbe9cd0 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: >> 0x140167418: a(n) BlChildrenAccountedByLayout >> 0x7ffeefbe9d10 M BlChildrenAccountedByLayout(BlChildren)>inject:into: >> 0x140167418: a(n) BlChildrenAccountedByLayout >> 0x7ffeefbe9d80 M BlLinearLayoutVerticalOrientation>layout:in: >> 0x140167300: a(n) BlLinearLayoutVerticalOrientation >> 0x7ffeefbe9dc0 M BlLinearLayout>layout:in: 0x1401676e0: a(n) >> BlLinearLayout >> 0x7ffeefbe9e00 M BlElement>onLayout: 0x140167648: a(n) BlElement >> 0x7ffeefbe9e40 M [] in BlElement>applyLayoutSafelyIn: 0x140167648: >> a(n) BlElement >> 0x7ffeefbe9e80 M BlockClosure>ensure: 0x140167740: a(n) BlockClosure >> 0x7ffeefbe9eb8 M BlNullTelemetry(BlTelemetry)>timeSync:during: >> 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe9f18 M BlElement>applyLayoutSafelyIn: 0x140167648: a(n) >> BlElement >> 0x7ffeefbed7e0 M [] in BlElement>applyLayoutIn: 0x140167648: a(n) >> BlElement >> 0x7ffeefbed810 M BlockClosure>on:do: 0x140168368: a(n) BlockClosure >> 0x7ffeefbed850 M >> BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401683c0: a(n) >> BlCompositeErrorHandler >> 0x7ffeefbed898 M BlElement>applyLayoutIn: 0x140167648: a(n) BlElement >> 0x7ffeefbed908 I BlElement>computeLayout 0x140167648: a(n) BlElement >> 0x7ffeefbed948 I BlElement>forceLayout 0x140167648: a(n) BlElement >> 0x7ffeefbed9a8 I >> GtPhlowColumnedListViewExamples>errorInColumnDoDataBinder 0x140168630: a(n) >> GtPhlowColumnedListViewExamples >> 0x7ffeefbed9d8 M >> GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: >> 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbeda38 M [] in >> GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x1401686f8: a(n) >> GtExampleDebugger >> 0x7ffeefbeda78 M BlockClosure>ensure: 0x1401688c8: a(n) BlockClosure >> 0x7ffeefbedac8 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: >> 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedb00 M GtExampleDebugger(GtExampleProcessor)>process: >> 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedb38 M [] in GtExampleDebugger(GtExampleProcessor)>value >> 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedb68 M BlockClosure>on:do: 0x140168c38: a(n) BlockClosure >> 0x7ffeefbedba8 M GtCurrentExampleContext class>use:during: >> 0x1446188f0: a(n) GtCurrentExampleContext class >> 0x7ffeefbedbe8 M GtExampleDebugger(GtExampleProcessor)>withContextDo: >> 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedc20 M GtExampleDebugger(GtExampleProcessor)>value >> 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedc50 M [] in GtExampleDebugger(GtExampleEvaluator)>result >> 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedc80 M GtExampleDebugger>do:on:do: 0x1401686f8: a(n) >> GtExampleDebugger >> 0x7ffeefbedcc8 M GtExampleDebugger(GtExampleEvaluator)>result >> 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedcf8 M GtExample>debug 0x19709dfc8: a(n) GtExample >> 0x7ffeefbedd30 M [] in GtExamplesHDReport>runExample: 0x197099d30: >> a(n) GtExamplesHDReport >> 0x7ffeefbedd60 M BlockClosure>on:do: 0x140169368: a(n) BlockClosure >> 0x7ffeefbeddb0 M [] in GtExamplesHDReport>runExample: 0x197099d30: >> a(n) GtExamplesHDReport >> 0x7ffeefbedde8 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time >> class >> 0x7ffeefbede20 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time >> class >> 0x7ffeefbede60 M BlockClosure>timeToRun 0x140169558: a(n) BlockClosure >> 0x7ffeefbede98 M GtExamplesHDReport>beginExample:runBlock: >> 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbedee0 M GtExamplesHDReport>runExample: 0x197099d30: a(n) >> GtExamplesHDReport >> 0x7ffeefbedf18 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) >> GtExamplesHDReport >> 0x7ffeefbdea38 M OrderedCollection>do: 0x197099e08: a(n) >> OrderedCollection >> 0x7ffeefbdea70 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) >> GtExamplesHDReport >> 0x7ffeefbdeab0 M [] in CurrentExecutionEnvironment >> class>activate:for: 0x140a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbdeaf0 M BlockClosure>ensure: 0x19709a0b0: a(n) BlockClosure >> 0x7ffeefbdeb30 M CurrentExecutionEnvironment class>activate:for: >> 0x140a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbdeb70 M >> TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x197099fb8: >> a(n) TestExecutionEnvironment >> 0x7ffeefbdeba8 M DefaultExecutionEnvironment>runTestsBy: 0x1409f7da8: >> a(n) DefaultExecutionEnvironment >> 0x7ffeefbdebe0 M CurrentExecutionEnvironment class>runTestsBy: >> 0x140a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbdec18 M GtExamplesHDReport>runAll 0x197099d30: a(n) >> GtExamplesHDReport >> 0x7ffeefbdec48 M [] in GtExamplesHDReport>run 0x197099d30: a(n) >> GtExamplesHDReport >> 0x7ffeefbdec80 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time >> class >> 0x7ffeefbdecb8 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time >> class >> 0x7ffeefbdecf8 M BlockClosure>timeToRun 0x19709a618: a(n) BlockClosure >> 0x7ffeefbded28 M [] in GtExamplesHDReport>run 0x197099d30: a(n) >> GtExamplesHDReport >> 0x7ffeefbded68 M BlockClosure>ensure: 0x19709a918: a(n) BlockClosure >> 0x7ffeefbdeda0 M [] in GtExamplesHDReport>run 0x197099d30: a(n) >> GtExamplesHDReport >> 0x7ffeefbdedd0 M Author>ifUnknownAuthorUse:during: 0x14102a740: a(n) >> Author >> 0x7ffeefbdee10 M GtExamplesHDReport>run 0x197099d30: a(n) >> GtExamplesHDReport >> 0x7ffeefbdee48 M GtExamplesHDReport class>runPackage: 0x144618008: >> a(n) GtExamplesHDReport class >> 0x7ffeefbdee80 M [] in GtExamplesHDReport class(HDReport >> class)>runPackages: 0x144618008: a(n) GtExamplesHDReport class >> 0x7ffeefbdeed0 M [] in Set>collect: 0x145bbc4d8: a(n) Set >> 0x7ffeefbdef18 M Array(SequenceableCollection)>do: 0x145bbc520: a(n) >> Array >> 0x145bbcc78 s Set>collect: >> 0x145bbcd30 s GtExamplesHDReport class(HDReport class)>runPackages: >> 0x145bbce28 s [] in GtExamplesCommandLineHandler>runPackages >> 0x145bbcf08 s BlockClosure>ensure: >> 0x14e950710 s UIManager class>nonInteractiveDuring: >> 0x14e9507c8 s GtExamplesCommandLineHandler>runPackages >> 0x14e950880 s GtExamplesCommandLineHandler>activate >> 0x14e950938 s GtExamplesCommandLineHandler >> class(CommandLineHandler class)>activateWith: >> 0x14e9509f0 s [] in >> PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x14e950aa8 s BlockClosure>on:do: >> 0x14e950b60 s >> PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x14e950c38 s >> PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >> 0x14e950cf0 s >> PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >> 0x14e950db8 s [] in >> PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x14e950e90 s BlockClosure>on:do: >> 0x14e950f68 s [] in >> PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x14e951040 s [] in BlockClosure>newProcess >> >> >> >> Process 18798 stopped >> * thread #1, queue = 'com.apple.main-thread', stop reason = >> EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >> frame #0: 0x00000001481107d1 >> -> 0x1481107d1: int3 >> 0x1481107d2: int3 >> 0x1481107d3: int3 >> 0x1481107d4: int3 >> Target 0: (Pharo) stopped. >> >> (lldb) call printAllStacks() >> Process 0x15511b938 priority 40 >> 0x7ffeefbf0a18 M Context(Object)>copy 0x15691cf68: a(n) Context >> 0x7ffeefbf0a50 M Context>copyTo: 0x15691cf68: a(n) Context >> 0x7ffeefbf0a98 M Context>copyTo: 0x15691ce78: a(n) Context >> 0x7ffeefbf0ae0 M Context>copyTo: 0x15691cdc0: a(n) Context >> 0x7ffeefbf0b28 M Context>copyTo: 0x15691cd08: a(n) Context >> 0x7ffeefbf0b70 M Context>copyTo: 0x15691cc50: a(n) Context >> 0x7ffeefbf0bb8 M Context>copyTo: 0x15691cb70: a(n) Context >> 0x7ffeefbf0c00 M Context>copyTo: 0x15691ca90: a(n) Context >> 0x7ffeefbf0c48 M Context>copyTo: 0x15691c998: a(n) Context >> 0x7ffeefbf0c90 M Context>copyTo: 0x15691c8e0: a(n) Context >> 0x7ffeefbf0cd8 M Context>copyTo: 0x15691c828: a(n) Context >> 0x7ffeefbf0d20 M Context>copyTo: 0x14874a2c8: a(n) Context >> 0x7ffeefbf0d68 M Context>copyTo: 0x14874a158: a(n) Context >> 0x7ffeefbf0db0 M Context>copyTo: 0x148749fe8: a(n) Context >> 0x7ffeefbf0df8 M Context>copyTo: 0x14816e2e8: a(n) Context >> 0x7ffeefbf0e40 M Context>copyTo: 0x148749dc0: a(n) Context >> 0x7ffeefbf0e88 M Context>copyTo: 0x14816e210: a(n) Context >> 0x7ffeefbf0ed0 M Context>copyTo: 0x148749ae0: a(n) Context >> 0x7ffeefbf0f18 M Context>copyTo: 0x14816e118: a(n) Context >> 0x7ffeefbdc7c8 M Context>copyTo: 0x148749748: a(n) Context >> 0x7ffeefbdc810 M Context>copyTo: 0x1487495d8: a(n) Context >> 0x7ffeefbdc858 M Context>copyTo: 0x148749468: a(n) Context >> 0x7ffeefbdc8a0 M Context>copyTo: 0x1487492f8: a(n) Context >> 0x7ffeefbdc8e8 M Context>copyTo: 0x14816e040: a(n) Context >> 0x7ffeefbdc930 M Context>copyTo: 0x1487490d0: a(n) Context >> 0x7ffeefbdc978 M Context>copyTo: 0x148748f60: a(n) Context >> 0x7ffeefbdc9c0 M Context>copyTo: 0x148748df0: a(n) Context >> 0x7ffeefbdca08 M Context>copyTo: 0x14816df38: a(n) Context >> 0x7ffeefbdca50 M Context>copyTo: 0x148748bc8: a(n) Context >> 0x7ffeefbdca98 M Context>copyTo: 0x14816de20: a(n) Context >> 0x7ffeefbdcae0 M Context>copyTo: 0x14816eeb8: a(n) Context >> 0x7ffeefbdcb28 M Context>copyTo: 0x1487488e8: a(n) Context >> 0x7ffeefbdcb70 M Context>copyTo: 0x148748778: a(n) Context >> 0x7ffeefbdcbb8 M Context>copyTo: 0x14866e858: a(n) Context >> 0x7ffeefbdcc00 M Context>copyTo: 0x148748550: a(n) Context >> 0x7ffeefbdcc48 M Context>copyTo: 0x1487483e0: a(n) Context >> 0x7ffeefbdcc90 M Context>copyTo: 0x148748270: a(n) Context >> 0x7ffeefbdccd8 M Context>copyTo: 0x148748100: a(n) Context >> 0x7ffeefbdcd20 M Context>copyTo: 0x148676078: a(n) Context >> 0x7ffeefbdcd68 M Context>copyTo: 0x148747ed8: a(n) Context >> 0x7ffeefbdcdb0 M Context>copyTo: 0x148747d68: a(n) Context >> 0x7ffeefbdcdf8 M Context>copyTo: 0x148747bf8: a(n) Context >> 0x7ffeefbdce40 M Context>copyTo: 0x148676280: a(n) Context >> 0x7ffeefbdce88 M Context>copyTo: 0x1487479d0: a(n) Context >> 0x7ffeefbdced0 M Context>copyTo: 0x1487477a8: a(n) Context >> 0x7ffeefbdcf18 M Context>copyTo: 0x148676400: a(n) Context >> 0x7ffeefbda7c8 M Context>copyTo: 0x148747410: a(n) Context >> 0x7ffeefbda810 M Context>copyTo: 0x1486764d8: a(n) Context >> 0x7ffeefbda858 M Context>copyTo: 0x1487471e8: a(n) Context >> 0x7ffeefbda8a0 M Context>copyTo: 0x148747078: a(n) Context >> 0x7ffeefbda8e8 M Context>copyTo: 0x148746f08: a(n) Context >> 0x7ffeefbda930 M Context>copyTo: 0x14873f918: a(n) Context >> 0x7ffeefbda978 M Context>copyTo: 0x148746ce0: a(n) Context >> 0x7ffeefbda9c0 M Context>copyTo: 0x148746b70: a(n) Context >> 0x7ffeefbdaa08 M Context>copyTo: 0x148746a00: a(n) Context >> 0x7ffeefbdaa50 M Context>copyTo: 0x148746890: a(n) Context >> 0x7ffeefbdaa98 M Context>copyTo: 0x148746720: a(n) Context >> 0x7ffeefbdaae0 M Context>copyTo: 0x1487415b8: a(n) Context >> 0x7ffeefbdab28 M Context>copyTo: 0x1487412a8: a(n) Context >> 0x7ffeefbdab70 M Context>copyTo: 0x148746440: a(n) Context >> 0x7ffeefbdabb8 M Context>copyTo: 0x148745088: a(n) Context >> 0x7ffeefbdac00 M Context>copyTo: 0x148746218: a(n) Context >> 0x7ffeefbdac48 M Context>copyTo: 0x1487414e0: a(n) Context >> 0x7ffeefbdac90 M Context>copyTo: 0x148745ff0: a(n) Context >> 0x7ffeefbdacd8 M Context>copyTo: 0x148741670: a(n) Context >> 0x7ffeefbdad20 M Context>copyTo: 0x148744fd0: a(n) Context >> 0x7ffeefbdad68 M Context>copyTo: 0x148745ba0: a(n) Context >> 0x7ffeefbdadb0 M Context>copyTo: 0x148745a30: a(n) Context >> 0x7ffeefbdadf8 M Context>copyTo: 0x148744bd8: a(n) Context >> 0x7ffeefbdae40 M Context>copyTo: 0x148745808: a(n) Context >> 0x7ffeefbdae88 M Context>copyTo: 0x148745698: a(n) Context >> 0x7ffeefbdaed0 M Context>copyTo: 0x148745528: a(n) Context >> 0x7ffeefbdaf18 M Context>copyTo: 0x148744f18: a(n) Context >> 0x7ffeefbe0988 I Context>copyTo: 0x148744e60: a(n) Context >> 0x7ffeefbe09d0 I MessageNotUnderstood(Exception)>freezeUpTo: >> 0x148744e10: a(n) MessageNotUnderstood >> 0x7ffeefbe0a18 I MessageNotUnderstood(Exception)>freeze 0x148744e10: >> a(n) MessageNotUnderstood >> 0x7ffeefbe0a48 M [] in GtExampleEvaluator>result 0x148741238: a(n) >> GtExampleEvaluator >> 0x7ffeefbe0a80 M BlockClosure>cull: 0x1487414c0: a(n) BlockClosure >> 0x7ffeefbe0ac0 M Context>evaluateSignal: 0x148745088: a(n) Context >> 0x7ffeefbe0af8 M Context>handleSignal: 0x148745088: a(n) Context >> 0x7ffeefbe0b30 M Context>handleSignal: 0x148744fd0: a(n) Context >> 0x7ffeefbe0b68 M MessageNotUnderstood(Exception)>signal 0x148744e10: >> a(n) MessageNotUnderstood >> 0x7ffeefbe0bb8 I >> GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH >> 0x148744bc8: a(n) GtDummyExamplesWithInheritanceSubclassB >> 0x7ffeefbe0bf0 M >> GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: >> 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0c50 M [] in GtExampleEvaluator>basicProcess: 0x148741238: >> a(n) GtExampleEvaluator >> 0x7ffeefbe0c90 M BlockClosure>ensure: 0x148744c90: a(n) BlockClosure >> 0x7ffeefbe0ce0 M GtExampleEvaluator>basicProcess: 0x148741238: a(n) >> GtExampleEvaluator >> 0x7ffeefbe0d18 M GtExampleEvaluator(GtExampleProcessor)>process: >> 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0d50 M [] in GtExampleEvaluator(GtExampleProcessor)>value >> 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0d80 M BlockClosure>on:do: 0x148741598: a(n) BlockClosure >> 0x7ffeefbe0dc0 M GtCurrentExampleContext class>use:during: >> 0x14c618920: a(n) GtCurrentExampleContext class >> 0x7ffeefbe0e00 M >> GtExampleEvaluator(GtExampleProcessor)>withContextDo: 0x148741238: a(n) >> GtExampleEvaluator >> 0x7ffeefbe0e38 M GtExampleEvaluator(GtExampleProcessor)>value >> 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0e68 M [] in GtExampleEvaluator>result 0x148741238: a(n) >> GtExampleEvaluator >> 0x7ffeefbe0e98 M BlockClosure>on:do: 0x148741360: a(n) BlockClosure >> 0x7ffeefbe0ed8 M GtExampleEvaluator>do:on:do: 0x148741238: a(n) >> GtExampleEvaluator >> 0x7ffeefbe0f20 M GtExampleEvaluator>result 0x148741238: a(n) >> GtExampleEvaluator >> 0x7ffeefbde8b8 M GtExample>run 0x148740050: a(n) GtExample >> 0x7ffeefbde8e8 M GtExample>result 0x148740050: a(n) GtExample >> 0x7ffeefbde930 I >> GtExamplesExamplesWithInheritance>resultOfInvalidExampleWithInvalidSuperclassProvider >> 0x14873f908: a(n) GtExamplesExamplesWithInheritance >> 0x7ffeefbde960 M >> GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: >> 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbde9c0 M [] in >> GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x148676210: a(n) >> GtExampleDebugger >> 0x7ffeefbdea00 M BlockClosure>ensure: 0x14873f9d0: a(n) BlockClosure >> 0x7ffeefbdea50 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: >> 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdea88 M GtExampleDebugger(GtExampleProcessor)>process: >> 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdeac0 M [] in GtExampleDebugger(GtExampleProcessor)>value >> 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdeaf0 M BlockClosure>on:do: 0x1486764b8: a(n) BlockClosure >> 0x7ffeefbdeb30 M GtCurrentExampleContext class>use:during: >> 0x14c618920: a(n) GtCurrentExampleContext class >> 0x7ffeefbdeb70 M GtExampleDebugger(GtExampleProcessor)>withContextDo: >> 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdeba8 M GtExampleDebugger(GtExampleProcessor)>value >> 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdebd8 M [] in GtExampleDebugger(GtExampleEvaluator)>result >> 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdec08 M GtExampleDebugger>do:on:do: 0x148676210: a(n) >> GtExampleDebugger >> 0x7ffeefbdec50 M GtExampleDebugger(GtExampleEvaluator)>result >> 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdec80 M GtExample>debug 0x148188088: a(n) GtExample >> 0x7ffeefbdecb8 M [] in GtExamplesHDReport>runExample: 0x14816dff0: >> a(n) GtExamplesHDReport >> 0x7ffeefbdece8 M BlockClosure>on:do: 0x148676130: a(n) BlockClosure >> 0x7ffeefbded38 M [] in GtExamplesHDReport>runExample: 0x14816dff0: >> a(n) GtExamplesHDReport >> 0x7ffeefbded70 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time >> class >> 0x7ffeefbdeda8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time >> class >> 0x7ffeefbdede8 M BlockClosure>timeToRun 0x14866e910: a(n) BlockClosure >> 0x7ffeefbdee20 M GtExamplesHDReport>beginExample:runBlock: >> 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbdee68 M GtExamplesHDReport>runExample: 0x14816dff0: a(n) >> GtExamplesHDReport >> 0x7ffeefbdeea0 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) >> GtExamplesHDReport >> 0x7ffeefbdeee8 M OrderedCollection>do: 0x14816ee98: a(n) >> OrderedCollection >> 0x7ffeefbdef20 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) >> GtExamplesHDReport >> 0x7ffeefbd8ab0 M [] in CurrentExecutionEnvironment >> class>activate:for: 0x148a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbd8af0 M BlockClosure>ensure: 0x14816ded8: a(n) BlockClosure >> 0x7ffeefbd8b30 M CurrentExecutionEnvironment class>activate:for: >> 0x148a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbd8b70 M >> TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x14816ddc0: >> a(n) TestExecutionEnvironment >> 0x7ffeefbd8ba8 M DefaultExecutionEnvironment>runTestsBy: 0x1489f7da8: >> a(n) DefaultExecutionEnvironment >> 0x7ffeefbd8be0 M CurrentExecutionEnvironment class>runTestsBy: >> 0x148a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbd8c18 M GtExamplesHDReport>runAll 0x14816dff0: a(n) >> GtExamplesHDReport >> 0x7ffeefbd8c48 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) >> GtExamplesHDReport >> 0x7ffeefbd8c80 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time >> class >> 0x7ffeefbd8cb8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time >> class >> 0x7ffeefbd8cf8 M BlockClosure>timeToRun 0x14816e0f8: a(n) BlockClosure >> 0x7ffeefbd8d28 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) >> GtExamplesHDReport >> 0x7ffeefbd8d68 M BlockClosure>ensure: 0x14816e1d0: a(n) BlockClosure >> 0x7ffeefbd8da0 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) >> GtExamplesHDReport >> 0x7ffeefbd8dd0 M Author>ifUnknownAuthorUse:during: 0x14902a740: a(n) >> Author >> 0x7ffeefbd8e10 M GtExamplesHDReport>run 0x14816dff0: a(n) >> GtExamplesHDReport >> 0x7ffeefbd8e48 M GtExamplesHDReport class>runPackage: 0x14c618038: >> a(n) GtExamplesHDReport class >> 0x7ffeefbd8e80 M [] in GtExamplesHDReport class(HDReport >> class)>runPackages: 0x14c618038: a(n) GtExamplesHDReport class >> 0x7ffeefbd8ed0 M [] in Set>collect: 0x15691c088: a(n) Set >> 0x7ffeefbd8f18 M Array(SequenceableCollection)>do: 0x15691c188: a(n) >> Array >> 0x15691c8e0 s Set>collect: >> 0x15691c998 s GtExamplesHDReport class(HDReport class)>runPackages: >> 0x15691ca90 s [] in GtExamplesCommandLineHandler>runPackages >> 0x15691cb70 s BlockClosure>ensure: >> 0x15691cc50 s UIManager class>nonInteractiveDuring: >> 0x15691cd08 s GtExamplesCommandLineHandler>runPackages >> 0x15691cdc0 s GtExamplesCommandLineHandler>activate >> 0x15691ce78 s GtExamplesCommandLineHandler >> class(CommandLineHandler class)>activateWith: >> 0x15691cf68 s [] in >> PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x15691d048 s BlockClosure>on:do: >> 0x15691d128 s >> PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x15691d200 s >> PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >> 0x15691d2b8 s >> PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >> 0x15691d380 s [] in >> PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x15691d458 s BlockClosure>on:do: >> 0x15691d530 s [] in >> PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x15691d608 s [] in BlockClosure>newProcess >> >> >> (lldb) call dumpPrimTraceLog() >> stringHash:initialHash: >> compare:with:collated: >> stringHash:initialHash: >> stringHash:initialHash: >> **StackOverflow** >> primitiveChangeClassTo: >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> compare:with:collated: >> primitiveChangeClassTo: >> primitiveChangeClassTo: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> compare:with:collated: >> compare:with:collated: >> stringHash:initialHash: >> compare:with:collated: >> primitiveChangeClassTo: >> primitiveChangeClassTo: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> compare:with:collated: >> compare:with:collated: >> primitiveChangeClassTo: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> compare:with:collated: >> compare:with:collated: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> basicNew: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> perform:withArguments: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> size >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> basicNew >> **StackOverflow** >> perform:withArguments: >> **StackOverflow** >> stringHash:initialHash: >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> perform: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> perform:withArguments: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> basicNew >> perform:withArguments: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> basicNew >> **StackOverflow** >> **StackOverflow** >> class >> perform:withArguments: >> value: >> first >> basicNew >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> basicNew >> perform:withArguments: >> basicNew >> findNextHandlerOrSignalingContext >> tempAt: >> class >> findNextHandlerOrSignalingContext >> tempAt: >> tempAt: >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **CompactCode** >> >> >> >> On 26 Sep 2020, at 23:24, Eliot Miranda wrote: >> >> Hi Andrei, >> >> fixed in commit 561b06530bbaed5f19e9d7f077a7df9eb3a8d236, >> VMMaker.oscog-eem.2824 >> >> >> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis >> wrote: >> >>> >>> Hi, >>> >>> We are getting often crashes on our CI when calling `Context>copyTo:` in >>> a GT image and a vm build from >>> https://github.com/feenkcom/opensmalltalk-vm. >>> >>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a >>> context leading to a segmentation fault crash. Looking at that context in >>> lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>> >>> (lldb) call (void *) printOop(0x1206b6990) >>> 0x1206b6990: a(n) Context >>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>> 0x1206b6b28 0x1206b6b50 >>> >>> >>> Can this indicate some corruption or is it expected to have such values? >>> `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles >>> negative values for the pc which suggests that this might be expected. >>> >>> Changing `Context>copyTo:` by adding a `self pc` before calling `self >>> copy` leads to no more crashes. Not sure if there is a reason for that or >>> just plain luck. >>> >>> A simple reduced stack is below (more details in this issue [1]). The >>> crash happens always with contexts reified as objects (in this case >>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>> Could this suggest some kind of issue in the vm when reifying contexts, >>> or just some other problem with memory corruption? >>> >>> >>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>> ... >>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>> ... >>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>> 0x1206b5b98 s Set>collect: >>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>> 0x1206b6a48 s BlockClosure>ensure: >>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>> 0x1207e6620 s BlockClosure>on:do: >>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>> 0x1207a83e0 s BlockClosure>on:do: >>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>> 0x1207bf830 s [] in BlockClosure>newProcess >>> >>> Cheers, >>> Andrei >>> >>> >>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>> >>> >> >> -- >> _,,,^..^,,,_ >> best, Eliot >> >> >> > > -- > _,,,^..^,,,_ > best, Eliot > > > -- _,,,^..^,,,_ best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Mon Sep 28 03:04:27 2020 From: noreply at github.com (Eliot Miranda) Date: Sun, 27 Sep 2020 20:04:27 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 7bb57f: MSVC builds require sqMemoryAccess.h including in ... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 7bb57fd7904e1a5466a530636fc98709103b468f https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/7bb57fd7904e1a5466a530636fc98709103b468f Author: Eliot Miranda Date: 2020-09-27 (Sun, 27 Sep 2020) Changed paths: M platforms/Cross/vm/sqVirtualMachine.c Log Message: ----------- MSVC builds require sqMemoryAccess.h including in sqVirtualMachine.c. From notifications at github.com Mon Sep 28 03:10:08 2020 From: notifications at github.com (Eliot Miranda) Date: Sun, 27 Sep 2020 20:10:08 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: And what, pray tell me, defines HAVE_CONFIG_H? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42771125 -------------- next part -------------- An HTML attachment was scrubbed... URL: From no-reply at appveyor.com Mon Sep 28 03:39:23 2020 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 28 Sep 2020 03:39:23 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2216 Message-ID: <20200928033923.1.81040B5CAF6AA9E6@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Sep 28 04:24:26 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 28 Sep 2020 04:24:26 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2215 (Cog - 7bb57fd) In-Reply-To: Message-ID: <5f716579d2cd0_13f9bb58175a089754@travis-tasks-5cbc9bcd5c-k2bvr.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2215 Status: Still Failing Duration: 1 hr, 19 mins, and 34 secs Commit: 7bb57fd (Cog) Author: Eliot Miranda Message: MSVC builds require sqMemoryAccess.h including in sqVirtualMachine.c. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/7b39d8d84a25...7bb57fd7904e View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730827304?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Mon Sep 28 06:18:47 2020 From: notifications at github.com (Tobias Pape) Date: Sun, 27 Sep 2020 23:18:47 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: `./configure` -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42773671 -------------- next part -------------- An HTML attachment was scrubbed... URL: From marcel.taeumel at hpi.de Mon Sep 28 07:10:38 2020 From: marcel.taeumel at hpi.de (Marcel Taeumel) Date: Mon, 28 Sep 2020 09:10:38 +0200 Subject: [Vm-dev] binary configuration to make finding VM easier? In-Reply-To: <92F9F065-EB60-4E97-A618-7B69BAE1E62A@rowledge.org> References: <92F9F065-EB60-4E97-A618-7B69BAE1E62A@rowledge.org> Message-ID: Hi Tim. Provided that the CI should build all targets in each run, the latest (whatever) build would be here: 1. Visit: https://bintray.com/opensmalltalk/vm/cog [https://bintray.com/opensmalltalk/vm/cog] 2. In the right-hand versions table, click the topmost entry, e.g. "202009280303" 3. Then click on the green "Files" label (i.e., the one right of "Statistics"). 4. Look for your VM flavor (e.g., squeak.cog.spur_osBits_timestamp) and download. If step 4 fails you, repeat from step 2 with another version tag. This should, however, only be the case during occasional CI hiccups. For release VMs, the GitHub releases page will always have all flavors for the latest release available: https://github.com/OpenSmalltalk/opensmalltalk-vm/releases [https://github.com/OpenSmalltalk/opensmalltalk-vm/releases] Best, Marcel Am 27.09.2020 21:20:42 schrieb tim Rowledge : Is there anything that can be done to make finding a VM on the bintray site easier? I've just been looking to see where I can grab the latest successful build of a squeak cog 32 bit linux ARM vm and ... that really isn't fun at all. Surely there is some way to categorise builds, or at least have a list of the latest version of each option, or sometihng like that? tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Dreams are free, but you get soaked on the connect time. -------------- next part -------------- An HTML attachment was scrubbed... URL: From marcel.taeumel at hpi.de Mon Sep 28 07:22:16 2020 From: marcel.taeumel at hpi.de (Marcel Taeumel) Date: Mon, 28 Sep 2020 09:22:16 +0200 Subject: [Vm-dev] [squeak-dev] Unity Happens One Step at a Time (was Re: Porting my programs from Squeak 3.10.2 to 3.5) In-Reply-To: References: Message-ID: Hi all. Something like an "OpenSmalltalk Launcher" would be nice. :-) Integrating, Squeak, Cuis, Pharo, ... Best, Marcel Am 25.09.2020 23:04:00 schrieb Jakob Reschke : Hello, Here is what I had to do to have the Pharo launcher launch a Squeak image: - Download and extract a Squeak VM and a supported image with .changes. - Download and install the latest Pharo Launcher release. - Start the launcher. - Open Settings > Pharo Launcher > edit the folder paths to my likings. - Click Store Settings at the top right. - Move the Squeak VM directory below the VM directory entered in the settings. Do not move the image yet. - Press shift+return, type vmExecutableName and open the method WindowsResolver>>#vmExecutableName. - Change WindowsResolver>>#vmExecutableName to return 'Squeak.exe'. - Close the system browser window. - Press the VMs button on the top right. It should now list the Squeak VM, for example 'squeak.cog.spur_win64x64_202003021730'. Close the VMs window. - Press Import at the top, choose the extracted image. It will be moved to the images directory from the Settings! - The image should now appear in the main list of the launcher window. - In the new directory of the image, put a file named "pharo.version" with the contents "0" next to the image. This will prevent the launcher from trying to find out the Pharo version of the image by running a pharo-version.st script with --headless on the image. Squeak does not support this. - Back in the launcher, in the combo box next to the Launch button at the top, drop down the list and select Edit Configurations. - For the Default configuration, select your Squeak VM instead of "0-x64" on the right. The latter would try and fail to download a fitting Pharo VM again. - Close the window with "Save & Select". - Now I am able to launch the Squeak image. To preserve the changes to the launcher image: - Press shift+return, enter Playground and press return to open a Workspace. - Evaluate the following: Smalltalk snapshot: true andQuit: true. Kind regards, Jakob Am Mi., 2. Sept. 2020 um 18:20 Uhr schrieb Sean DeNigris : > > I've been pontificating about unity between dialects, convinced more than ever that we need each other and have more of a simple (not easy) communication problem than anything else, and pestering the principals of various communities, so I decided to put some concrete action behind it - some "skin in the game" as we say in the U.S. > > After reading Trygve's frustration with Squeak image/VM management, and Eliot's mention of Pharo's solution, I've extended PharoLauncher to manage and run Squeak (and GToolkit) VMs/images. > > The current limitation vs. launching standard Pharo images is that you have to download the VMs and images and manually install them due to differences in URL and other conventions. However once the files are in place, you can create templates allowing images to be created at will from different Squeak versions and automatically run with the correct VM. Auto-installation could probably be done if someone cares enough but it scratched my itch for the moment to manage GT images. I’m sure Cuis support could be added, but the hooks are now available and someone more familiar with its VM/image installation might have an easier time. > > Until my latest PR [1] is merged, brave souls can play with it and give feedback by loading my issue branch [2] into the latest Launcher release [3]. NB only tested on Mac. > > It seemed Trygve was at his wits' end, but maybe this and other small gestures will let him know how important he is to our community if not motivate him to resume his important work. > > I challenge you, as a member of our wider Squeak/Pharo/Cuis family: what small action can you take today that unites us rather than divides us? We can be each others' supporters even if technical, vision and other differences keep our codebases somewhat distinct. I believe the seeds of wars are planted when I lack the grace to give those around me the benefit of the doubt that they mean well and are trying their best. There is more than enough of that already in the world. Let’s invent a *better* future… > > Your brother, > Sean > > 1. https://github.com/pharo-project/pharo-launcher/pull/503 > 2. https://github.com/seandenigris/pharo-launcher/tree/enh_vm-image-custom-hooks > 3. https://pharo.org/download > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at fniephaus.com Mon Sep 28 07:52:47 2020 From: lists at fniephaus.com (Fabio Niephaus) Date: Mon, 28 Sep 2020 09:52:47 +0200 Subject: [Vm-dev] binary configuration to make finding VM easier? In-Reply-To: References: <92F9F065-EB60-4E97-A618-7B69BAE1E62A@rowledge.org> Message-ID: Hi Tim, The OSVM readme has a "bleeding edge" download button which links to: https://bintray.com/opensmalltalk/vm/cog/_latestVersion#files As Marcel mentioned, you should see binaries for all build targets (if they built successfully). Fabio On Mon, Sep 28, 2020 at 9:10 AM Marcel Taeumel wrote: > > Hi Tim. > > Provided that the CI should build all targets in each run, the latest > (whatever) build would be here: > > 1. Visit: https://bintray.com/opensmalltalk/vm/cog > 2. In the right-hand versions table, click the topmost entry, e.g. > "202009280303" > 3. Then click on the green "Files" label (i.e., the one right of > "Statistics"). > 4. Look for your VM flavor (e.g., squeak.cog.spur_osBits_timestamp) and > download. > > If step 4 fails you, repeat from step 2 with another version tag. This > should, however, only be the case during occasional CI hiccups. > > For release VMs, the GitHub releases page will always have all flavors for > the latest release available: > https://github.com/OpenSmalltalk/opensmalltalk-vm/releases > > Best, > Marcel > > Am 27.09.2020 21:20:42 schrieb tim Rowledge : > > Is there anything that can be done to make finding a VM on the bintray > site easier? I've just been looking to see where I can grab the latest > successful build of a squeak cog 32 bit linux ARM vm and ... that really > isn't fun at all. Surely there is some way to categorise builds, or at > least have a list of the latest version of each option, or sometihng like > that? > > tim > -- > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim > Dreams are free, but you get soaked on the connect time. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at fniephaus.com Mon Sep 28 07:54:20 2020 From: lists at fniephaus.com (Fabio Niephaus) Date: Mon, 28 Sep 2020 09:54:20 +0200 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2212 In-Reply-To: References: <20200927180430.1.5FD571A5696763BB@appveyor.com> Message-ID: Hi Eliot, Does a restart fix the build or is this reproducible? Fabio On Sun, Sep 27, 2020 at 9:25 PM Eliot Miranda wrote: > > Hi CI folks, > > it looks like I fixed the mingw VM build, but a subsequent step fails: > > Installing deploy dependencies > 3875 > Preparing > deploy > 3876 > Deploying > application > 3877 > [Bintray > Upload] Reading descriptor file: bintray.json > 3878 > Command > exited with code 1 > > On Sun, Sep 27, 2020 at 11:04 AM AppVeyor wrote: > >> >> Build opensmalltalk-vm 1.0.2212 failed >> >> >> Commit d485f8e949 >> by Eliot >> Miranda on 9/27/2020 5:55 PM: >> Fix the mingw Squeak3D build. MSVC defines size_t in vcruntime.h. But for >> >> Configure your notification preferences >> >> > > > -- > _,,,^..^,,,_ > best, Eliot > -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Mon Sep 28 09:05:56 2020 From: notifications at github.com (Eliot Miranda) Date: Mon, 28 Sep 2020 02:05:56 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: How does the define get to be defined at compile time? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42777576 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Mon Sep 28 10:06:47 2020 From: notifications at github.com (Tobias Pape) Date: Mon, 28 Sep 2020 03:06:47 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: `./confiugre` set the `CFLAGS` accordingly. Yes, via cmdline means. That's why I said “ as little defines […] as possible“ imho '-DHAVE_CONFIG_H" should be the only define besides Debug flags. some makefile generators also are pretty good at also maintaining the debugflags, but that's out of scope here. So something like ```C #ifdef HAVE_CONFIG_H #include "config.h" #else #error Please run WHATEVER_OUR_CONFIG_GENERATOR IS first #endif ``` Which would fit nicely in either `sq.h`, or more appropriately probably in [`sqConfig.h`](https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/unix/vm/sqConfig.h#L3) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42779032 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Mon Sep 28 13:53:51 2020 From: notifications at github.com (Eliot Miranda) Date: Mon, 28 Sep 2020 06:53:51 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: The point is, Tobias, that the flag must de defined on the command line, that some flags must be defined in the command line. Further, the architectural pic t is that C headers are white box. They cannot provide encapsulation. Therefore when one includes a C header one is including implementation as well as API. Therefore, if one is only to see API one should not attempt to modify those headers prior to their inclusion other than by platform aprtoced Flags, such as _GNU_SOURCE, since otherwise one risks alteration in a way that will break later when the C header is modified. This is exactly the case with my having to redefine the stellar define so that it avoided breaking a specific platform’s implementation of the redirect from abstract file offsets (ftell) to concrete 64-bit offsets. The point is that architecturally a C file that is part of an application is compiled within an environment provided by a platform (different versions of macOS, Linux, Windows, etc, with different processors, etc) and that config.h serves *not* to alter that environment, but to provide ab abstract definition of the facilities provided by that platform. Therefore it is completely backwards to use config.h in any way to alter system includes. config.h tells one what is inside without having to look. configure does (expensive slow) black box testing on them to derive config.h. config.g is designed to inform the program of the facilities provided by the includes, not to be abused to modify those includes. Therefore, the correct way to select between different alternatives a specific platform provides (32-bit vs 64-bit, c99 vs C11 vs C18, POSIX vs GNU, etc, is *external to the source code*. That means on the command line, issues either from a build environment or makefiles. So given that one must and should use command line selection of alternatives can we please Adams in this idea of including our own header before everything else? C/C++/Objective-C etc are not designed to be written or compiled in this way. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42784994 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Mon Sep 28 14:25:35 2020 From: notifications at github.com (Tobias Pape) Date: Mon, 28 Sep 2020 07:25:35 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: If you insist, go forwad. But please note that this obsoletes half the autoconf stuff and requires manual maintainance of the thus found environmental circumstances. I'd rather minimize the points that needs jiggiling to make things work. That's why I put work into making the autoconf stuff do their thing again, not because I like it. That said, this is only a commit commentary, so more of a note of potential pitfallery, not an "erhobener Zeigefinger"/no an "thou shalt do it that way" :) -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42786112 -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Mon Sep 28 14:41:16 2020 From: noreply at github.com (Eliot Miranda) Date: Mon, 28 Sep 2020 07:41:16 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 5e3abc: Remove the dependency in sqAssert.h on sqInt et al... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 5e3abc4590714a3756e4a08711ea6929614c06b8 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5e3abc4590714a3756e4a08711ea6929614c06b8 Author: Eliot Miranda Date: 2020-09-28 (Mon, 28 Sep 2020) Changed paths: M platforms/Cross/vm/sqAssert.h M platforms/Cross/vm/sqVirtualMachine.c M platforms/Cross/vm/sqVirtualMachine.h M platforms/win32/vm/sqPlatformSpecific.h M platforms/win32/vm/sqWin32Alloc.h Log Message: ----------- Remove the dependency in sqAssert.h on sqInt et al when using MSVC and hence remove the need for sqVirtualMachine.c to include sqMemoryAccess.h before sqAssert.h. Remove all mention of sqInt in win32/vm/sqPlatformSpecific.h and hence rescue C++ code that needed to include it but not sqMemoryAccess.h else where. Remove a warning by correctly defining error within sqVirtualMachine.h. From no-reply at appveyor.com Mon Sep 28 14:53:11 2020 From: no-reply at appveyor.com (AppVeyor) Date: Mon, 28 Sep 2020 14:53:11 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2217 Message-ID: <20200928145311.1.473F87EAC8310C39@appveyor.com> An HTML attachment was scrubbed... URL: From notifications at github.com Mon Sep 28 14:59:12 2020 From: notifications at github.com (Eliot Miranda) Date: Mon, 28 Sep 2020 14:59:12 +0000 (UTC) Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Windows VM import lib needs to be distributed with VM, and interp.c needs to export less (#525) Message-ID: We use sqVirtualMachine.c/h as a poor-mans cross-platform reverse export facility, allowing shared objects o access facilities exported by the VM. None of this is strictly necessary; all platforms providing shared objects (that I'm aware of) allow for an executable to export symbols and have these linked into a shared object built to be loaded by that executable. That said, there's no need to reengineer plugins. We can keep the existing structure. However, the VM still exports API not covered in sqVirtualMachine. In particular the pre-alien callback machinery, error and warning(at) are exported not thrugh sqVirtualMachine (although in desperation a few months ago I put error in there; it can be taken back out). On Windows the mechanism is to link a dll with the import lib of the main executable, e.g. Squeak.lib. SO to be able to build external plugins against the VM without having to build one's own VM, one needs that import lib. Therefore Squeak.lib should be distributed with the VM release. Again, however, Squeak.lib has many symbols that don't need to be exported. Here are the primitives that (AFAICT) have no business being exported: 0000000000000000 T primitiveAddLargeIntegers 0000000000000000 T primitiveAllInstances 0000000000000000 T primitiveAllObjects 0000000000000000 T primitiveBitAndLargeIntegers 0000000000000000 T primitiveBitOrLargeIntegers 0000000000000000 T primitiveBitShiftLargeIntegers 0000000000000000 T primitiveBitXorLargeIntegers 0000000000000000 T primitiveClockLogAddresses 0000000000000000 T primitiveCompareBytes 0000000000000000 T primitiveCompareWith 0000000000000000 T primitiveCrashVM 0000000000000000 T primitiveDisablePowerManager 0000000000000000 T primitiveDivLargeIntegers 0000000000000000 T primitiveDivideLargeIntegers 0000000000000000 T primitiveDnsInfo 0000000000000000 T primitiveEqualLargeIntegers 0000000000000000 T primitiveEventProcessingControl 0000000000000000 T primitiveGetLogDirectory 0000000000000000 T primitiveGetWindowLabel 0000000000000000 T primitiveGetWindowSize 0000000000000000 T primitiveGetenv 0000000000000000 T primitiveGreaterOrEqualLargeIntegers 0000000000000000 T primitiveGreaterThanLargeIntegers 0000000000000000 T primitiveHeartbeatFrequency 0000000000000000 T primitiveHighResClock 0000000000000000 T primitiveImageFormatVersion 0000000000000000 T primitiveInterruptChecksPerMSec 0000000000000000 T primitiveIsBigEnder 0000000000000000 T primitiveIsWindowObscured 0000000000000000 T primitiveLessOrEqualLargeIntegers 0000000000000000 T primitiveLessThanLargeIntegers 0000000000000000 T primitiveLongRunningPrimitive 0000000000000000 T primitiveLongRunningPrimitiveSemaphore 0000000000000000 T primitiveMethodPCData 0000000000000000 T primitiveMillisecondClockMask 0000000000000000 T primitiveMinimumUnusedHeadroom 0000000000000000 T primitiveModLargeIntegers 0000000000000000 T primitiveMultiplyLargeIntegers 0000000000000000 T primitiveNotEqualLargeIntegers 0000000000000000 T primitivePathToUsing 0000000000000000 T primitivePluginBrowserReady 0000000000000000 T primitivePluginDestroyRequest 0000000000000000 T primitivePluginPostURL 0000000000000000 T primitivePluginRequestFileHandle 0000000000000000 T primitivePluginRequestState 0000000000000000 T primitivePluginRequestURL 0000000000000000 T primitivePluginRequestURLStream 0000000000000000 T primitiveProfilePrimitive 0000000000000000 T primitiveProfileSample 0000000000000000 T primitiveProfileSemaphore 0000000000000000 T primitiveProfileStart 0000000000000000 T primitiveQuoLargeIntegers 0000000000000000 T primitiveRemLargeIntegers 0000000000000000 T primitiveScreenDepth 0000000000000000 T primitiveScreenScaleFactor 0000000000000000 T primitiveSetGCSemaphore 0000000000000000 T primitiveSetLogDirectory 0000000000000000 T primitiveSetWindowLabel 0000000000000000 T primitiveSetWindowSize 0000000000000000 T primitiveSubtractLargeIntegers 0000000000000000 T primitiveUtcWithOffset 0000000000000000 T primitiveVoidReceiver So this issue is to note both that the VM import lib needs to be included in the distribution (thankfully the import lib for the Windows subsystem VM also works for the Console subsystem VM), and that the interpreter should export fewer symbols. The final list is something like 0000000000000000 T callbackEnter 0000000000000000 T callbackLeave 0000000000000000 T error 0000000000000000 T moduleUnloaded 0000000000000000 T reestablishContextPriorToCallback 0000000000000000 T returnAsThroughCallbackContext 0000000000000000 T segmentContainingObj 0000000000000000 T sendInvokeCallbackContext 0000000000000000 T sendInvokeCallbackStackRegistersJmpbuf 0000000000000000 T setInterruptCheckChain 0000000000000000 T statNumGCs 0000000000000000 T warning 0000000000000000 T warningat -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/525 -------------- next part -------------- An HTML attachment was scrubbed... URL: From builds at travis-ci.org Mon Sep 28 16:28:14 2020 From: builds at travis-ci.org (Travis CI) Date: Mon, 28 Sep 2020 16:28:14 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2216 (Cog - 5e3abc4) In-Reply-To: Message-ID: <5f720f1dadaba_13f98f0db2630284ed@travis-tasks-6d5b9cdff6-rvz8m.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2216 Status: Still Failing Duration: 1 hr, 46 mins, and 26 secs Commit: 5e3abc4 (Cog) Author: Eliot Miranda Message: Remove the dependency in sqAssert.h on sqInt et al when using MSVC and hence remove the need for sqVirtualMachine.c to include sqMemoryAccess.h before sqAssert.h. Remove all mention of sqInt in win32/vm/sqPlatformSpecific.h and hence rescue C++ code that needed to include it but not sqMemoryAccess.h else where. Remove a warning by correctly defining error within sqVirtualMachine.h. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/7bb57fd7904e...5e3abc459071 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/730976443?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From tim at rowledge.org Mon Sep 28 19:24:50 2020 From: tim at rowledge.org (tim Rowledge) Date: Mon, 28 Sep 2020 12:24:50 -0700 Subject: [Vm-dev] binary configuration to make finding VM easier? In-Reply-To: References: <92F9F065-EB60-4E97-A618-7B69BAE1E62A@rowledge.org> Message-ID: Hi Marcel, Fabio - Yup, that's the set of pages I've been using, and the cause of my irritation. What we get is that list of build (or build attempts more correctly) and the results of any successful builds. What we *don't* get is any list of the latest successful build for all the options. So for example when I was looking at the 202009262121 entry, it has barely any listed completed builds. That's a perfectly good way to show what happened on that particular run BUT offers no help if one is wanting the most recent squeak.cog.cpur ARM32 linux build. Somewhere, somehow, I'd love to have a way of seeing a list of the most recent successful builds for each platform/option, even if it turns out that the one I want is six months old - indeed, having a list like that seems like a pretty useful way to have an at-a-glance view of problems. I was hoping that there is a provided bintray page to show that sort of thing. If it isn't providable by bintray perhaps someone knows of clever tricks to make such a list visible on our own download page? tim -- tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim Strange OpCodes: IO: Illogical Or From lists at fniephaus.com Mon Sep 28 22:07:17 2020 From: lists at fniephaus.com (Fabio Niephaus) Date: Tue, 29 Sep 2020 00:07:17 +0200 Subject: [Vm-dev] binary configuration to make finding VM easier? In-Reply-To: References: <92F9F065-EB60-4E97-A618-7B69BAE1E62A@rowledge.org> Message-ID: Hi Tim, ... On Mon, 28 Sep 2020 at 9:24 pm, tim Rowledge wrote: > > Hi Marcel, Fabio - > > Yup, that's the set of pages I've been using, and the cause of my > irritation. What we get is that list of build (or build attempts more > correctly) and the results of any successful builds. What we *don't* get is > any list of the latest successful build for all the options. > > So for example when I was looking at the 202009262121 entry, it has barely > any listed completed builds. That's a perfectly good way to show what > happened on that particular run BUT offers no help if one is wanting the > most recent squeak.cog.cpur ARM32 linux build. > > Somewhere, somehow, I'd love to have a way of seeing a list of the most > recent successful builds for each platform/option, even if it turns out > that the one I want is six months old - indeed, having a list like that > seems like a pretty useful way to have an at-a-glance view of problems. I > was hoping that there is a provided bintray page to show that sort of > thing. If it isn't providable by bintray perhaps someone knows of clever > tricks to make such a list visible on our own download page? I guess we could use Bintray's API to find the files you are looking for, but I do believe this would solve the wrong problem. I consider everything we have on Bintray temporary, the only stable VM binaries are on Github attached to the release tags. If a binary in a Bintray version is missing, the corresponding build failed. That is something that should not happen. So... - If the build is flaky, we must invest in making it more robust. - If the build failed due to an error, it must be fixed immediately. - If we can no longer support the build, we must drop it. - If you need newer VMs than what we have officially released on Github, we must do VM releases more often. Fabio > > tim > -- > tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim > Strange OpCodes: IO: Illogical Or > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lewis at mail.msen.com Tue Sep 29 00:02:08 2020 From: lewis at mail.msen.com (David T. Lewis) Date: Mon, 28 Sep 2020 20:02:08 -0400 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: <20200929000208.GA7470@shell.msen.com> On Mon, Sep 28, 2020 at 06:53:51AM -0700, Eliot Miranda wrote: > > The point is, Tobias, that the flag must de defined on the command line, that some flags must be defined in the command line. Eliot, you are not hearing what Tobias is saying. Dave From notifications at github.com Tue Sep 29 03:47:15 2020 From: notifications at github.com (Eliot Miranda) Date: Mon, 28 Sep 2020 20:47:15 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: David, with respect, I am currently trying to deploy an extremely complex Squeak application that includes C++, Objective-C, and mixed C++/Objective-C plugin code, threads, etc, on both MacOS and Windows. I am not trying to defeat autoconf or anything. I am trying to get the VM to compile. Trying to clean up inconsistencies, and breakages, so that our company can deploy a product and does not fail. I don't have time to suffer major disturbances in the VM code right now. Please Tobias, if you want to include config.h in front of ever file go ahead, but do it on a branch. I will note that only some projects take this approach, and many complex ones include config.h *after* system headers. And that this approach makes sense. A given platform's headers provide an API, alas as a white box Because the only guaranteed input to a platform's headers is compiler command-line switches, variations on the platform API, expressed through the system headers, are selected on the compiler command line (e.g. _GNU_SOURCE, POSIX, etc). A config.h file from autoconf is a synopsis of a given variation of the system headers, defining to the program what facilities are available, without the rest of the program having to manually determine (often impossible at run-time, often hard to do so at compile-time). It is a communication to the program, not a communication to the headers. This isn't me being obstructive or trying to sabotage config.h or autoconf. It is the architectural reality of C/C++/Objective-C, is it not? -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42804536 -------------- next part -------------- An HTML attachment was scrubbed... URL: From notifications at github.com Tue Sep 29 04:52:21 2020 From: notifications at github.com (Tobias Pape) Date: Mon, 28 Sep 2020 21:52:21 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Inlcude the Squeak headers after the C headers. This hsould also help fix (47b8d52) In-Reply-To: References: Message-ID: let's stop here. it was just me trying to be cautious. Eliot is investing time they obviously is better spend him doing his work than arguing with me/us. :) the case at hand is actually not that important -- Sent from a mobile device -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/47b8d5202b835b5d9d1556ed0cf0dda11e5b246c#commitcomment-42805342 -------------- next part -------------- An HTML attachment was scrubbed... URL: From commits at source.squeak.org Wed Sep 30 03:01:59 2020 From: commits at source.squeak.org (commits at source.squeak.org) Date: Wed, 30 Sep 2020 03:01:59 0000 Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.2831.mcz Message-ID: Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2831.mcz ==================== Summary ==================== Name: VMMaker.oscog-eem.2831 Author: eem Time: 29 September 2020, 8:01:48.222992 pm UUID: f4fed277-6b62-4e79-9147-c5405589f2b1 Ancestors: VMMaker.oscog-eem.2830 Cogit: (IAAM) correctly implement the fix in VMMaker.oscog-eem.2824. The previous version of the fix used methodHeaderOf: to get what was intended to be the pointer to the cog method, if newMethod was in fact cogged, but methodHeaderOf: always answers the byetcoded method header. What is needed here is the actual pointer to the cog method, i.e. rawHeaderOf:. =============== Diff against VMMaker.oscog-eem.2830 =============== Item was changed: ----- Method: CoInterpreterPrimitives>>cloneContext: (in category 'primitive support') ----- cloneContext: aContext "Copy a Context. There are complications here. Fields of married contexts must be mapped to image-level values. In mapping a machine code pc, a code compaction may occur. In this case return through machine code is impossible without updating a C call stack return address, since the machine code method that invoked this primitive could have moved. So if this happens, map to an interpreter frame and return to the interpreter." | cloned couldBeCogMethod | self assert: ((objectMemory isCompiledMethod: newMethod) and: [(self primitiveIndexOf: newMethod) > 0]). + couldBeCogMethod := objectMemory rawHeaderOf: newMethod. - couldBeCogMethod := objectMemory methodHeaderOf: newMethod. cloned := super cloneContext: aContext. "If the header has changed in any way then it is most likely that machine code has been moved or reclaimed for this method and so normal return is impossible." + couldBeCogMethod ~= (objectMemory rawHeaderOf: newMethod) ifTrue: - couldBeCogMethod ~= (objectMemory methodHeaderOf: newMethod) ifTrue: [self convertToInterpreterFrame: 0. self push: cloned. cogit ceInvokeInterpret "NOTREACHED"]. ^cloned! Item was changed: ----- Method: CoInterpreterPrimitives>>primitiveInstVarAt (in category 'object access primitives') ----- primitiveInstVarAt "Override to deal with potential code compaction on accessing context pcs" | index rcvr hdr fmt totalLength fixedFields value | self assert: ((objectMemory isCompiledMethod: newMethod) and: [(self primitiveIndexOf: newMethod) > 0]). index := self stackTop. rcvr := self stackValue: 1. ((objectMemory isNonIntegerObject: index) or: [argumentCount > 1 "e.g. object:instVarAt:" and: [objectMemory isOopForwarded: rcvr]]) ifTrue: [^self primitiveFailFor: PrimErrBadArgument]. (objectMemory isImmediate: rcvr) ifTrue: [^self primitiveFailFor: PrimErrInappropriate]. index := objectMemory integerValueOf: index. hdr := objectMemory baseHeader: rcvr. fmt := objectMemory formatOfHeader: hdr. totalLength := objectMemory lengthOf: rcvr baseHeader: hdr format: fmt. fixedFields := objectMemory fixedFieldsOf: rcvr format: fmt length: totalLength. (index >= 1 and: [index <= fixedFields]) ifFalse: [^self primitiveFailFor: PrimErrBadIndex]. (fmt = objectMemory indexablePointersFormat and: [objectMemory isContextHeader: hdr]) ifTrue: + [| couldBeCogMethod | - [| methodHeader | self externalWriteBackHeadFramePointers. "Note newMethod's header to check for potential code compaction in mapping the context's pc from machine code to bytecode." index = InstructionPointerIndex ifTrue: + [couldBeCogMethod := objectMemory rawHeaderOf: newMethod]. - [methodHeader := objectMemory methodHeaderOf: newMethod]. value := self externalInstVar: index - 1 ofContext: rcvr. "If the header has changed in any way then it is most likely that machine code has been moved or reclaimed for this method and so normal return is impossible." (index = InstructionPointerIndex + and: [couldBeCogMethod ~= (objectMemory rawHeaderOf: newMethod)]) ifTrue: - and: [methodHeader ~= (objectMemory methodHeaderOf: newMethod)]) ifTrue: [self pop: argumentCount + 1. self convertToInterpreterFrame: 0. self push: value. cogit ceInvokeInterpret "NOTREACHED"]] ifFalse: [value := self subscript: rcvr with: index format: fmt]. self pop: argumentCount + 1 thenPush: value! Item was changed: ----- Method: CoInterpreterPrimitives>>primitiveSlotAt (in category 'object access primitives') ----- primitiveSlotAt "Answer a slot in an object. This numbers all slots from 1, ignoring the distinction between named and indexed inst vars. In objects with both named and indexed inst vars, the named inst vars precede the indexed ones. In non-object indexed objects (objects that contain bits, not object references) this primitive answers the raw integral value at each slot. e.g. for Strings it answers the character code, not the Character object at each slot." "Override to deal with potential code compaction on accessing context pcs" | index rcvr fmt numSlots | self assert: ((objectMemory isCompiledMethod: newMethod) and: [(self primitiveIndexOf: newMethod) > 0]). index := self stackTop. rcvr := self stackValue: 1. (objectMemory isIntegerObject: index) ifFalse: [^self primitiveFailFor: PrimErrBadArgument]. (objectMemory isImmediate: rcvr) ifTrue: [^self primitiveFailFor: PrimErrBadReceiver]. fmt := objectMemory formatOf: rcvr. index := (objectMemory integerValueOf: index) - 1. fmt <= objectMemory lastPointerFormat ifTrue: [numSlots := objectMemory numSlotsOf: rcvr. (self asUnsigned: index) < numSlots ifTrue: [| value numLiveSlots | (objectMemory isContextNonImm: rcvr) ifTrue: [self externalWriteBackHeadFramePointers. numLiveSlots := (self stackPointerForMaybeMarriedContext: rcvr) + CtxtTempFrameStart. (self asUnsigned: index) < numLiveSlots ifTrue: + [| couldBeCogMethod | - [| methodHeader | "Note newMethod's header to check for potential code compaction in mapping the context's pc from machine code to bytecode." index = InstructionPointerIndex ifTrue: + [couldBeCogMethod := objectMemory rawHeaderOf: newMethod]. - [methodHeader := objectMemory methodHeaderOf: newMethod]. value := self externalInstVar: index ofContext: rcvr. "If the header has changed in any way then it is most likely that machine code has been moved or reclaimed for this method and so normal return is impossible." (index = InstructionPointerIndex + and: [couldBeCogMethod ~= (objectMemory rawHeaderOf: newMethod)]) ifTrue: - and: [methodHeader ~= (objectMemory methodHeaderOf: newMethod)]) ifTrue: [self pop: argumentCount + 1. self convertToInterpreterFrame: 0. self push: value. cogit ceInvokeInterpret "NOTREACHED"]] ifFalse: [value := objectMemory nilObject]] ifFalse: [value := objectMemory fetchPointer: index ofObject: rcvr]. self pop: argumentCount + 1 thenPush: value. ^0]. ^self primitiveFailFor: PrimErrBadIndex]. fmt >= objectMemory firstByteFormat ifTrue: [fmt >= objectMemory firstCompiledMethodFormat ifTrue: [^self primitiveFailFor: PrimErrUnsupported]. numSlots := objectMemory numBytesOfBytes: rcvr. (self asUnsigned: index) < numSlots ifTrue: [self pop: argumentCount + 1 thenPushInteger: (objectMemory fetchByte: index ofObject: rcvr). ^0]. ^self primitiveFailFor: PrimErrBadIndex]. (objectMemory hasSpurMemoryManagerAPI and: [fmt >= objectMemory firstShortFormat]) ifTrue: [numSlots := objectMemory num16BitUnitsOf: rcvr. (self asUnsigned: index) < numSlots ifTrue: [self pop: argumentCount + 1 thenPushInteger: (objectMemory fetchUnsignedShort16: index ofObject: rcvr). ^0]. ^self primitiveFailFor: PrimErrBadIndex]. fmt = objectMemory sixtyFourBitIndexableFormat ifTrue: [numSlots := objectMemory num64BitUnitsOf: rcvr. (self asUnsigned: index) < numSlots ifTrue: [self pop: argumentCount + 1 thenPush: (self positive64BitIntegerFor: (objectMemory fetchLong64: index ofObject: rcvr)). ^0]. ^self primitiveFailFor: PrimErrBadIndex]. fmt >= objectMemory firstLongFormat ifTrue: [numSlots := objectMemory num32BitUnitsOf: rcvr. (self asUnsigned: index) < numSlots ifTrue: [self pop: argumentCount + 1 thenPush: (self positive32BitIntegerFor: (objectMemory fetchLong32: index ofObject: rcvr)). ^0]. ^self primitiveFailFor: PrimErrBadIndex]. ^self primitiveFailFor: PrimErrBadReceiver! From noreply at github.com Wed Sep 30 03:18:34 2020 From: noreply at github.com (Eliot Miranda) Date: Tue, 29 Sep 2020 20:18:34 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] 1f626d: CogVM source as per VMMaker.oscog-eem.2831 Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: 1f626d0e80f93dfc42de22efe74a83fa56bd728b https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1f626d0e80f93dfc42de22efe74a83fa56bd728b Author: Eliot Miranda Date: 2020-09-29 (Tue, 29 Sep 2020) Changed paths: M nsspur64src/vm/cogit.h M nsspur64src/vm/cointerp.c M nsspur64src/vm/cointerp.h M nsspur64src/vm/gcc3x-cointerp.c M nsspursrc/vm/cogit.h M nsspursrc/vm/cointerp.c M nsspursrc/vm/cointerp.h M nsspursrc/vm/gcc3x-cointerp.c M nsspurstack64src/vm/gcc3x-interp.c M nsspurstack64src/vm/interp.c M nsspurstacksrc/vm/gcc3x-interp.c M nsspurstacksrc/vm/interp.c M platforms/iOS/plugins/CameraPlugin/AVFoundationVideoGrabber.m M platforms/win32/plugins/CameraPlugin/winCameraOps.cpp M spur64src/vm/cogit.h M spur64src/vm/cointerp.c M spur64src/vm/cointerp.h M spur64src/vm/cointerpmt.c M spur64src/vm/cointerpmt.h M spur64src/vm/gcc3x-cointerp.c M spur64src/vm/gcc3x-cointerpmt.c M spurlowcode64src/vm/cogit.h M spurlowcode64src/vm/cointerp.c M spurlowcode64src/vm/cointerp.h M spurlowcode64src/vm/gcc3x-cointerp.c M spurlowcodesrc/vm/cogit.h M spurlowcodesrc/vm/cointerp.c M spurlowcodesrc/vm/cointerp.h M spurlowcodesrc/vm/gcc3x-cointerp.c M spurlowcodestack64src/vm/gcc3x-interp.c M spurlowcodestack64src/vm/interp.c M spurlowcodestacksrc/vm/gcc3x-interp.c M spurlowcodestacksrc/vm/interp.c M spursista64src/vm/cogit.h M spursista64src/vm/cointerp.c M spursista64src/vm/cointerp.h M spursista64src/vm/gcc3x-cointerp.c M spursistasrc/vm/cogit.h M spursistasrc/vm/cointerp.c M spursistasrc/vm/cointerp.h M spursistasrc/vm/gcc3x-cointerp.c M spursrc/vm/cogit.h M spursrc/vm/cointerp.c M spursrc/vm/cointerp.h M spursrc/vm/cointerpmt.c M spursrc/vm/cointerpmt.h M spursrc/vm/gcc3x-cointerp.c M spursrc/vm/gcc3x-cointerpmt.c M spurstack64src/vm/gcc3x-interp.c M spurstack64src/vm/interp.c M spurstack64src/vm/validImage.c M spurstacksrc/vm/gcc3x-interp.c M spurstacksrc/vm/interp.c M spurstacksrc/vm/validImage.c M src/vm/cogit.h M src/vm/cointerp.c M src/vm/cointerp.h M src/vm/cointerpmt.c M src/vm/cointerpmt.h M src/vm/gcc3x-cointerp.c M src/vm/gcc3x-cointerpmt.c M stacksrc/vm/gcc3x-interp.c M stacksrc/vm/interp.c Log Message: ----------- CogVM source as per VMMaker.oscog-eem.2831 Author: eem Time: 29 September 2020, 8:01:48.222992 pm UUID: f4fed277-6b62-4e79-9147-c5405589f2b1 Ancestors: VMMaker.oscog-eem.2830 Cogit: (IAAM) correctly implement the fix in VMMaker.oscog-eem.2824. The previous version of the fix used methodHeaderOf: to get what was intended to be the pointer to the cog method, if newMethod was in fact cogged, but methodHeaderOf: always answers the byetcoded method header. What is needed here is the actual pointer to the cog method, i.e. rawHeaderOf:. CameraPlugin MacOS, add the AVCaptureSessionPreset352x288 size. win32: put function names at the start of the line. From no-reply at appveyor.com Wed Sep 30 03:30:12 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 30 Sep 2020 03:30:12 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2218 Message-ID: <20200930033012.1.8FA2A171BED6A2ED@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Wed Sep 30 04:31:29 2020 From: builds at travis-ci.org (Travis CI) Date: Wed, 30 Sep 2020 04:31:29 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2217 (Cog - 1f626d0) In-Reply-To: Message-ID: <5f740a211d1a4_13fc3275b67cc325c@travis-tasks-755df796c4-kfkf6.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2217 Status: Still Failing Duration: 1 hr, 12 mins, and 36 secs Commit: 1f626d0 (Cog) Author: Eliot Miranda Message: CogVM source as per VMMaker.oscog-eem.2831 Author: eem Time: 29 September 2020, 8:01:48.222992 pm UUID: f4fed277-6b62-4e79-9147-c5405589f2b1 Ancestors: VMMaker.oscog-eem.2830 Cogit: (IAAM) correctly implement the fix in VMMaker.oscog-eem.2824. The previous version of the fix used methodHeaderOf: to get what was intended to be the pointer to the cog method, if newMethod was in fact cogged, but methodHeaderOf: always answers the byetcoded method header. What is needed here is the actual pointer to the cog method, i.e. rawHeaderOf:. CameraPlugin MacOS, add the AVCaptureSessionPreset352x288 size. win32: put function names at the start of the line. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/5e3abc459071...1f626d0e80f9 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/731479409?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at github.com Wed Sep 30 06:35:40 2020 From: noreply at github.com (Eliot Miranda) Date: Tue, 29 Sep 2020 23:35:40 -0700 Subject: [Vm-dev] [OpenSmalltalk/opensmalltalk-vm] ab8ac9: Fix win32 sqImageFileClose; forgot to change the d... Message-ID: Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: ab8ac9c9cf84cb15b1e9094e1f53dcfd31c2067e https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ab8ac9c9cf84cb15b1e9094e1f53dcfd31c2067e Author: Eliot Miranda Date: 2020-09-29 (Tue, 29 Sep 2020) Changed paths: M platforms/win32/plugins/FilePlugin/sqWin32FilePrims.c Log Message: ----------- Fix win32 sqImageFileClose; forgot to change the definition when the declaration was changed in sqPlatformSpecific.h. From no-reply at appveyor.com Wed Sep 30 07:10:01 2020 From: no-reply at appveyor.com (AppVeyor) Date: Wed, 30 Sep 2020 07:10:01 +0000 Subject: [Vm-dev] Build failed: opensmalltalk-vm 1.0.2219 Message-ID: <20200930071001.1.8A5652DD043B2089@appveyor.com> An HTML attachment was scrubbed... URL: From builds at travis-ci.org Wed Sep 30 07:55:31 2020 From: builds at travis-ci.org (Travis CI) Date: Wed, 30 Sep 2020 07:55:31 +0000 Subject: [Vm-dev] Still Failing: OpenSmalltalk/opensmalltalk-vm#2218 (Cog - ab8ac9c) In-Reply-To: Message-ID: <5f7439f2e1653_13fc3275b640c133988@travis-tasks-755df796c4-kfkf6.mail> Build Update for OpenSmalltalk/opensmalltalk-vm ------------------------------------- Build: #2218 Status: Still Failing Duration: 1 hr, 19 mins, and 29 secs Commit: ab8ac9c (Cog) Author: Eliot Miranda Message: Fix win32 sqImageFileClose; forgot to change the definition when the declaration was changed in sqPlatformSpecific.h. View the changeset: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/1f626d0e80f9...ab8ac9c9cf84 View the full build log and details: https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/731505367?utm_medium=notification&utm_source=email -- You can unsubscribe from build emails from the OpenSmalltalk/opensmalltalk-vm repository going to https://travis-ci.org/account/preferences/unsubscribe?repository=8795279&utm_medium=notification&utm_source=email. Or unsubscribe from *all* email updating your settings at https://travis-ci.org/account/preferences/unsubscribe?utm_medium=notification&utm_source=email. Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications. -------------- next part -------------- An HTML attachment was scrubbed... URL: From chisvasileandrei at gmail.com Wed Sep 30 13:40:17 2020 From: chisvasileandrei at gmail.com (Andrei Chis) Date: Wed, 30 Sep 2020 15:40:17 +0200 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: References: <8772DA32-DC9C-44AA-B57C-BB92F2DEB99D@gmail.com> Message-ID: <53597334-E19E-4CEA-AAA2-6DA7DEE29A01@gmail.com> Hi Eliot, I can confirm that VMMaker.oscog-eem.2831 fixes the bug for us. I had 10 consecutive runs of our tests with no crash which did not happen before. Many thanks for the fix! Cheers, Andrei > On 28 Sep 2020, at 04:03, Eliot Miranda wrote: > > Hi Andrei, > > On Sun, Sep 27, 2020 at 1:01 PM Andrei Chis > wrote: > > Hi Eliot, > > I get the following details for the VM that I compiled locally: > > CoInterpreter VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 > StackToRegisterMappingCogit VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 > VM: 202009270258 andrei at Andreis-MacBook-Pro.local :Documents/Pharo/vm-compilation/opensmalltalk-vm Date: Sat Sep 26 19:58:41 2020 CommitHash: 5a0d21d71 Plugins: 202009270258 andrei at Andreis-MacBook-Pro.local :Documents/Pharo/vm-compilation/opensmalltalk-vm > > Mac OS X built on Sep 27 2020 14:27:59 CEST Compiler: 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.62) > VMMaker versionString VM: 202009270258 andrei at Andreis-MacBook-Pro.local :Documents/Pharo/vm-compilation/opensmalltalk-vm Date: Sat Sep 26 19:58:41 2020 CommitHash: 5a0d21d71 Plugins: 202009270258 andrei at Andreis-MacBook-Pro.local :Documents/Pharo/vm-compilation/opensmalltalk-vm > CoInterpreter VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 > StackToRegisterMappingCogit VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 > > > I can package together the image/changes file and libs and send them privately. > > Good, let's do that. Thanks. > > Cheers, > Andrei > >> On 27 Sep 2020, at 21:23, Eliot Miranda > wrote: >> >> Hi Andrei, >> >> On Sun, Sep 27, 2020 at 10:29 AM Andrei Chis > wrote: >> >> Hi Eliot, >> >> Thanks a lot for your help. >> >> I compiled locally a vm from the commit hash 5a0d21d71223b4d1f4d007ebf2441d530c18c3e2 (CogVM source as per VMMaker.oscog-eem.2826) and I got a Context>>copyTo: crash. >> I think I compiled the vm correctly. Are them some Pharo VMs built on travis for Mac to try out instead of building locally? >> >> There may be. The PharoVM team are not maintaining our CI builds so you may not be able to find a Pharo VM. >> >> >> Below are the stack traces and primitive longs for two crashes with the compiled vm. >> >> OK, that's disappointing, but important. Maybe you can put an image/changes, support dylibs package up somewhere (Dropbox?) and I can try and run the test case locally. I tested the fix for some time and it clearly fixed one bug. But it does seem that there's another in a similar area. Thanks for your patience. >> >> One question, you're sure you're running the new VM? >> >> >> Process 19347 stopped >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >> frame #0: 0x0000000140103f79 >> -> 0x140103f79: int3 >> 0x140103f7a: int3 >> 0x140103f7b: int3 >> 0x140103f7c: int3 >> Target 0: (Pharo) stopped. >> >> (lldb) call dumpPrimTraceLog() >> basicNew >> **StackOverflow** >> basicNew >> @ >> @ >> @ >> @ >> basicNew >> basicNew >> @ >> @ >> @ >> @ >> @ >> @ >> signal >> signal >> class >> basicIdentityHash >> basicNew >> class >> bitShift: >> bitAnd: >> asFloat >> / >> asFloat >> fractionPart >> truncated >> fractionPart >> truncated >> fractionPart >> truncated >> setAlpha: >> truncated >> basicIdentityHash >> basicNew >> basicNew >> class >> class >> basicNew >> basicNew >> basicIdentityHash >> basicNew >> basicNew >> basicNew >> wait >> class >> tempAt: >> tempAt:put: >> tempAt: >> terminateTo: >> signal >> findNextUnwindContextUpTo: >> terminateTo: >> wait >> **StackOverflow** >> signal >> replaceFrom:to:with:startingAt: >> wait >> **StackOverflow** >> class >> signal >> basicNew >> class >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> wait >> signal >> basicIdentityHash >> class >> basicNew >> basicNew >> **StackOverflow** >> class >> class >> **StackOverflow** >> wait >> signal >> **StackOverflow** >> **StackOverflow** >> wait >> signal >> basicNew >> basicNew >> basicNew >> signal >> wait >> signal >> basicIdentityHash >> basicIdentityHash >> basicNew >> basicNew >> class >> value:value: >> basicNew >> replaceFrom:to:with:startingAt: >> valueWithArguments: >> **StackOverflow** >> basicIdentityHash >> valueWithArguments: >> basicNew >> **StackOverflow** >> class >> findNextHandlerOrSignalingContext >> **StackOverflow** >> primitive >> ~= >> ~= >> tempAt: >> **StackOverflow** >> tempAt: >> basicNew >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> >> >> >> (lldb) call printCallStack() >> 0x7ffeefbe6d78 M Context(Object)>copy 0x145bbce28: a(n) Context >> 0x7ffeefbe6db0 M Context>copyTo: 0x145bbce28: a(n) Context >> 0x7ffeefbe6df8 M Context>copyTo: 0x145bbcd30: a(n) Context >> 0x7ffeefbe6e40 M Context>copyTo: 0x145bbcc78: a(n) Context >> 0x7ffeefbe6e88 M Context>copyTo: 0x145bbcbc0: a(n) Context >> 0x7ffeefbe6ed0 M Context>copyTo: 0x19709adc8: a(n) Context >> 0x7ffeefbe6f18 M Context>copyTo: 0x19709ad10: a(n) Context >> 0x7ffeefbe37c8 M Context>copyTo: 0x19709ac58: a(n) Context >> 0x7ffeefbe3810 M Context>copyTo: 0x19709aba0: a(n) Context >> 0x7ffeefbe3858 M Context>copyTo: 0x19709aae8: a(n) Context >> 0x7ffeefbe38a0 M Context>copyTo: 0x19709aa10: a(n) Context >> 0x7ffeefbe38e8 M Context>copyTo: 0x19709a938: a(n) Context >> 0x7ffeefbe3930 M Context>copyTo: 0x19709a860: a(n) Context >> 0x7ffeefbe3978 M Context>copyTo: 0x19709a7a8: a(n) Context >> 0x7ffeefbe39c0 M Context>copyTo: 0x19709a6f0: a(n) Context >> 0x7ffeefbe3a08 M Context>copyTo: 0x19709a638: a(n) Context >> 0x7ffeefbe3a50 M Context>copyTo: 0x19709a560: a(n) Context >> 0x7ffeefbe3a98 M Context>copyTo: 0x19709a4a8: a(n) Context >> 0x7ffeefbe3ae0 M Context>copyTo: 0x19709a3f0: a(n) Context >> 0x7ffeefbe3b28 M Context>copyTo: 0x19709a338: a(n) Context >> 0x7ffeefbe3b70 M Context>copyTo: 0x19709a280: a(n) Context >> 0x7ffeefbe3bb8 M Context>copyTo: 0x19709a1c8: a(n) Context >> 0x7ffeefbe3c00 M Context>copyTo: 0x19709a0e0: a(n) Context >> 0x7ffeefbe3c48 M Context>copyTo: 0x197099ff8: a(n) Context >> 0x7ffeefbe3c90 M Context>copyTo: 0x197099ee0: a(n) Context >> 0x7ffeefbe3cd8 M Context>copyTo: 0x197099e28: a(n) Context >> 0x7ffeefbe3d20 M Context>copyTo: 0x140169920: a(n) Context >> 0x7ffeefbe3d68 M Context>copyTo: 0x140169868: a(n) Context >> 0x7ffeefbe3db0 M Context>copyTo: 0x1401697b0: a(n) Context >> 0x7ffeefbe3df8 M Context>copyTo: 0x1401696f8: a(n) Context >> 0x7ffeefbe3e40 M Context>copyTo: 0x140169640: a(n) Context >> 0x7ffeefbe3e88 M Context>copyTo: 0x140169588: a(n) Context >> 0x7ffeefbe3ed0 M Context>copyTo: 0x1401694a0: a(n) Context >> 0x7ffeefbe3f18 M Context>copyTo: 0x140169390: a(n) Context >> 0x7ffeefbf47c8 M Context>copyTo: 0x1401692b0: a(n) Context >> 0x7ffeefbf4810 M Context>copyTo: 0x1401691f8: a(n) Context >> 0x7ffeefbf4858 M Context>copyTo: 0x140169140: a(n) Context >> 0x7ffeefbf48a0 M Context>copyTo: 0x140169058: a(n) Context >> 0x7ffeefbf48e8 M Context>copyTo: 0x140168f80: a(n) Context >> 0x7ffeefbf4930 M Context>copyTo: 0x140168ec8: a(n) Context >> 0x7ffeefbf4978 M Context>copyTo: 0x140168e10: a(n) Context >> 0x7ffeefbf49c0 M Context>copyTo: 0x140168d38: a(n) Context >> 0x7ffeefbf4a08 M Context>copyTo: 0x140168c58: a(n) Context >> 0x7ffeefbf4a50 M Context>copyTo: 0x140168b80: a(n) Context >> 0x7ffeefbf4a98 M Context>copyTo: 0x140168ac8: a(n) Context >> 0x7ffeefbf4ae0 M Context>copyTo: 0x140168a10: a(n) Context >> 0x7ffeefbf4b28 M Context>copyTo: 0x140168900: a(n) Context >> 0x7ffeefbf4b70 M Context>copyTo: 0x140168810: a(n) Context >> 0x7ffeefbf4bb8 M Context>copyTo: 0x140168718: a(n) Context >> 0x7ffeefbf4c00 M Context>copyTo: 0x140168640: a(n) Context >> 0x7ffeefbf4c48 M Context>copyTo: 0x14039c748: a(n) Context >> 0x7ffeefbf4c90 M Context>copyTo: 0x14039c5d8: a(n) Context >> 0x7ffeefbf4cd8 M Context>copyTo: 0x1401684b8: a(n) Context >> 0x7ffeefbf4d20 M Context>copyTo: 0x1401683d8: a(n) Context >> 0x7ffeefbf4d68 M Context>copyTo: 0x14039c2f8: a(n) Context >> 0x7ffeefbf4db0 M Context>copyTo: 0x140167960: a(n) Context >> 0x7ffeefbf4df8 M Context>copyTo: 0x1401678a8: a(n) Context >> 0x7ffeefbf4e40 M Context>copyTo: 0x140167788: a(n) Context >> 0x7ffeefbf4e88 M Context>copyTo: 0x14039bf60: a(n) Context >> 0x7ffeefbf4ed0 M Context>copyTo: 0x14039bd38: a(n) Context >> 0x7ffeefbf4f18 M Context>copyTo: 0x14039ba58: a(n) Context >> 0x7ffeefbf07c8 M Context>copyTo: 0x14039b8e8: a(n) Context >> 0x7ffeefbf0810 M Context>copyTo: 0x140167578: a(n) Context >> 0x7ffeefbf0858 M Context>copyTo: 0x140167478: a(n) Context >> 0x7ffeefbf08a0 M Context>copyTo: 0x14039b608: a(n) Context >> 0x7ffeefbf08e8 M Context>copyTo: 0x14039b498: a(n) Context >> 0x7ffeefbf0930 M Context>copyTo: 0x14039b328: a(n) Context >> 0x7ffeefbf0978 M Context>copyTo: 0x140167310: a(n) Context >> 0x7ffeefbf09c0 M Context>copyTo: 0x1401671e8: a(n) Context >> 0x7ffeefbf0a08 M Context>copyTo: 0x140167108: a(n) Context >> 0x7ffeefbf0a50 M Context>copyTo: 0x14039af90: a(n) Context >> 0x7ffeefbf0a98 M Context>copyTo: 0x14039ae20: a(n) Context >> 0x7ffeefbf0ae0 M Context>copyTo: 0x140166fe0: a(n) Context >> 0x7ffeefbf0b28 M Context>copyTo: 0x140166ec0: a(n) Context >> 0x7ffeefbf0b70 M Context>copyTo: 0x14039ab40: a(n) Context >> 0x7ffeefbf0bb8 M Context>copyTo: 0x14039a9d0: a(n) Context >> 0x7ffeefbf0c00 M Context>copyTo: 0x14039a860: a(n) Context >> 0x7ffeefbf0c48 M Context>copyTo: 0x14039a6f0: a(n) Context >> 0x7ffeefbf0c90 M Context>copyTo: 0x140166ca0: a(n) Context >> 0x7ffeefbf0cd8 M Context>copyTo: 0x140166bb8: a(n) Context >> 0x7ffeefbf0d20 M Context>copyTo: 0x140165f60: a(n) Context >> 0x7ffeefbf0d68 M Context>copyTo: 0x140165ea8: a(n) Context >> 0x7ffeefbf0db0 M Context>copyTo: 0x14039a2a0: a(n) Context >> 0x7ffeefbf0df8 M Context>copyTo: 0x140165d48: a(n) Context >> 0x7ffeefbf0e40 M Context>copyTo: 0x140165c20: a(n) Context >> 0x7ffeefbf0e88 M Context>copyTo: 0x140165b40: a(n) Context >> 0x7ffeefbf0ed0 M Context>copyTo: 0x140399e50: a(n) Context >> 0x7ffeefbf0f18 M Context>copyTo: 0x140399b70: a(n) Context >> 0x7ffeefbee7c8 M Context>copyTo: 0x140165a18: a(n) Context >> 0x7ffeefbee810 M Context>copyTo: 0x1401658f8: a(n) Context >> 0x7ffeefbee858 M Context>copyTo: 0x140399890: a(n) Context >> 0x7ffeefbee8a0 M Context>copyTo: 0x140399720: a(n) Context >> 0x7ffeefbee8e8 M Context>copyTo: 0x1403995b0: a(n) Context >> 0x7ffeefbee930 M Context>copyTo: 0x140399440: a(n) Context >> 0x7ffeefbee978 M Context>copyTo: 0x1403992d0: a(n) Context >> 0x7ffeefbee9c0 M Context>copyTo: 0x140399160: a(n) Context >> 0x7ffeefbeea08 M Context>copyTo: 0x140398ff0: a(n) Context >> 0x7ffeefbeea50 M Context>copyTo: 0x140398e80: a(n) Context >> 0x7ffeefbeea98 M Context>copyTo: 0x140398d10: a(n) Context >> 0x7ffeefbeeae0 M Context>copyTo: 0x140165748: a(n) Context >> 0x7ffeefbeeb28 M Context>copyTo: 0x140165648: a(n) Context >> 0x7ffeefbeeb70 M Context>copyTo: 0x140398a30: a(n) Context >> 0x7ffeefbeebb8 M Context>copyTo: 0x1403988c0: a(n) Context >> 0x7ffeefbeec00 M Context>copyTo: 0x140165530: a(n) Context >> 0x7ffeefbeec48 M Context>copyTo: 0x140165458: a(n) Context >> 0x7ffeefbeec90 M Context>copyTo: 0x1403985e0: a(n) Context >> 0x7ffeefbeecd8 M Context>copyTo: 0x140398470: a(n) Context >> 0x7ffeefbeed20 M Context>copyTo: 0x140165088: a(n) Context >> 0x7ffeefbeed68 M Context>copyTo: 0x140166ae0: a(n) Context >> 0x7ffeefbeedb0 M Context>copyTo: 0x140398190: a(n) Context >> 0x7ffeefbeedf8 M Context>copyTo: 0x140398020: a(n) Context >> 0x7ffeefbeee40 M Context>copyTo: 0x140397eb0: a(n) Context >> 0x7ffeefbeee88 M Context>copyTo: 0x1401669d8: a(n) Context >> 0x7ffeefbeeed0 M Context>copyTo: 0x140397c88: a(n) Context >> 0x7ffeefbeef18 M Context>copyTo: 0x140394d08: a(n) Context >> 0x7ffeefbea798 M Context>copyTo: 0x140394e20: a(n) Context >> 0x7ffeefbea7e0 M Context>copyTo: 0x140397838: a(n) Context >> 0x7ffeefbea828 M Context>copyTo: 0x1403976c8: a(n) Context >> 0x7ffeefbea870 M Context>copyTo: 0x140397558: a(n) Context >> 0x7ffeefbea8b8 M Context>copyTo: 0x140395000: a(n) Context >> 0x7ffeefbea900 M Context>copyTo: 0x140397330: a(n) Context >> 0x7ffeefbea948 M Context>copyTo: 0x1403971c0: a(n) Context >> 0x7ffeefbea990 M Context>copyTo: 0x140397050: a(n) Context >> 0x7ffeefbea9d8 M Context>copyTo: 0x140396ee0: a(n) Context >> 0x7ffeefbeaa20 M Context>copyTo: 0x140396d70: a(n) Context >> 0x7ffeefbeaa68 M Context>copyTo: 0x1403958f8: a(n) Context >> 0x7ffeefbeaab0 M Context>copyTo: 0x140396b48: a(n) Context >> 0x7ffeefbeaaf8 M Context>copyTo: 0x140396298: a(n) Context >> 0x7ffeefbeab40 M Context>copyTo: 0x140396920: a(n) Context >> 0x7ffeefbeab88 M Context>copyTo: 0x1403967b0: a(n) Context >> 0x7ffeefbeabd0 M Context>copyTo: 0x1403961e0: a(n) Context >> 0x7ffeefbeac18 M Context>copyTo: 0x140396128: a(n) Context >> 0x7ffeefbeac60 M Context>copyTo: 0x140396070: a(n) Context >> 0x7ffeefbeacb8 I Context>copyTo: 0x140395e28: a(n) Context >> 0x7ffeefbead00 I ZeroDivide(Exception)>freezeUpTo: 0x140395de8: a(n) ZeroDivide >> 0x7ffeefbead48 I ZeroDivide(Exception)>freeze 0x140395de8: a(n) ZeroDivide >> 0x7ffeefbead88 I BrDebugglableElementStencil>freeze: 0x140396408: a(n) BrDebugglableElementStencil >> 0x7ffeefbeadd8 I ZeroDivide(Exception)>asDebuggableElement 0x140395de8: a(n) ZeroDivide >> 0x7ffeefbeae18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn >> 0x7ffeefbeae50 M BlockClosure>cull: 0x1403959f0: a(n) BlockClosure >> 0x7ffeefbeaea0 I Context>evaluateSignal: 0x140396298: a(n) Context >> 0x7ffeefbeaed8 M Context>handleSignal: 0x140396298: a(n) Context >> 0x7ffeefbeaf20 I ZeroDivide(Exception)>signal 0x140395de8: a(n) ZeroDivide >> 0x7ffeefbe7840 I ZeroDivide(Exception)>signal: 0x140395de8: a(n) ZeroDivide >> 0x7ffeefbe7888 I ZeroDivide class(Exception class)>signal: 0x1409f9490: a(n) ZeroDivide class >> 0x7ffeefbe78c0 M [] in GtPhlowColumnedListViewExamples>gtErrorInColumnDoDataBinderFor: 0x140168630: a(n) GtPhlowColumnedListViewExamples >> 0x7ffeefbe7908 M BlockClosure>glamourValueWithArgs: 0x140174180: a(n) BlockClosure >> 0x7ffeefbe7960 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn >> 0x7ffeefbe7990 M BlockClosure>on:do: 0x1403959b0: a(n) BlockClosure >> 0x7ffeefbe79d0 M GtPhlowColumn>performBlock:onException: 0x140169e48: a(n) GtPhlowColumn >> 0x7ffeefbe7a18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn >> 0x7ffeefbe7a60 M BlockClosure>glamourValueWithArgs: 0x1401701c0: a(n) BlockClosure >> 0x7ffeefbe7a98 M BrStencilValuableExecutor>execute 0x140174230: a(n) BrStencilValuableExecutor >> 0x7ffeefbe7ad8 M BrColumnCellDataBinder(BrStencilBuilder)>build 0x140170448: a(n) BrColumnCellDataBinder >> 0x7ffeefbe7b38 I [] in BrColumnedListDataSource>onBindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource >> 0x7ffeefbe7b98 I OrderedCollection(SequenceableCollection)>with:do: 0x140169ff8: a(n) OrderedCollection >> 0x7ffeefbe7bf8 I BrColumnedListDataSource>onBindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource >> 0x7ffeefbe7c48 I BrColumnedListDataSource(BlInfiniteDataSource)>onBindHolder:at:payloads: 0x140169f38: a(n) BrColumnedListDataSource >> 0x7ffeefbe7ca0 M [] in BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource >> 0x7ffeefbe7ce0 M BlockClosure>ensure: 0x140394df0: a(n) BlockClosure >> 0x7ffeefbe7d18 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe7d58 M BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource >> 0x7ffeefbe7d98 M BlInfiniteRecyclerController>bindHolder:at: 0x1401662c0: a(n) BlInfiniteRecyclerController >> 0x7ffeefbe7e10 M BlInfiniteRecycler>elementFor:dryRun: 0x1401652b8: a(n) BlInfiniteRecycler >> 0x7ffeefbe7e50 M BlInfiniteRecycler>elementFor: 0x1401652b8: a(n) BlInfiniteRecycler >> 0x7ffeefbe7e98 M [] in BlInfiniteLinearLayoutState>nextElement:in: 0x140165020: a(n) BlInfiniteLinearLayoutState >> 0x7ffeefbe7ed8 M BlockClosure>ensure: 0x140166a90: a(n) BlockClosure >> 0x7ffeefbe7f10 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe27d0 M BlInfiniteLinearLayoutState>nextElement:in: 0x140165020: a(n) BlInfiniteLinearLayoutState >> 0x7ffeefbe2818 M [] in BlInfiniteLinearLayout>layoutChunkAdd 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2858 M BlockClosure>ensure: 0x140165410: a(n) BlockClosure >> 0x7ffeefbe2890 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe28d8 M BlInfiniteLinearLayout>layoutChunkAdd 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2910 M [] in BlInfiniteLinearLayout>layoutChunk 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2950 M BlockClosure>ensure: 0x140165600: a(n) BlockClosure >> 0x7ffeefbe2988 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe29e0 M BlInfiniteLinearLayout>layoutChunk 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2a48 I BlInfiniteLinearLayout>fillLayout: 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2ab8 I BlInfiniteLinearLayout>layoutChildrenFillFromStart: 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2b00 I BlInfiniteLinearLayout>layoutChildrenFill: 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2b58 I BlInfiniteLinearLayout>layoutChildrenIn:state: 0x140165320: a(n) BlInfiniteLinearLayout >> 0x7ffeefbe2ba8 I BrInfiniteListElement(BlInfiniteElement)>dispatchLayoutSecondStep 0x140165140: a(n) BrInfiniteListElement >> 0x7ffeefbe2be8 I BrInfiniteListElement(BlInfiniteElement)>dispatchLayout 0x140165140: a(n) BrInfiniteListElement >> 0x7ffeefbe2c18 M BrInfiniteListElement(BlInfiniteElement)>onLayout: 0x140165140: a(n) BrInfiniteListElement >> 0x7ffeefbe2c58 M [] in BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: 0x140165140: a(n) BrInfiniteListElement >> 0x7ffeefbe2c98 M BlockClosure>ensure: 0x1401658b0: a(n) BlockClosure >> 0x7ffeefbe2cd0 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe2d30 M BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: 0x140165140: a(n) BrInfiniteListElement >> 0x7ffeefbe2d70 M [] in BrInfiniteListElement(BlElement)>applyLayoutIn: 0x140165140: a(n) BrInfiniteListElement >> 0x7ffeefbe2da0 M BlockClosure>on:do: 0x140165ad0: a(n) BlockClosure >> 0x7ffeefbe2de0 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x140165b28: a(n) BlCompositeErrorHandler >> 0x7ffeefbe2e28 M BrInfiniteListElement(BlElement)>applyLayoutIn: 0x140165140: a(n) BrInfiniteListElement >> 0x7ffeefbe2e80 M [] in BlLinearLayoutVerticalOrientation>layout:in: 0x140165d38: a(n) BlLinearLayoutVerticalOrientation >> 0x7ffeefbe2ed0 M [] in BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140165e50: a(n) BlChildrenAccountedByLayout >> 0x7ffeefbe2f18 M Array(SequenceableCollection)>do: 0x140165e98: a(n) Array >> 0x7ffeefbe9868 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: 0x140165e50: a(n) BlChildrenAccountedByLayout >> 0x7ffeefbe98a8 M BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140165e50: a(n) BlChildrenAccountedByLayout >> 0x7ffeefbe9918 M BlLinearLayoutVerticalOrientation>layout:in: 0x140165d38: a(n) BlLinearLayoutVerticalOrientation >> 0x7ffeefbe9958 M BlLinearLayout>layout:in: 0x140166e18: a(n) BlLinearLayout >> 0x7ffeefbe9998 M BrColumnedList(BlElement)>onLayout: 0x140166d70: a(n) BrColumnedList >> 0x7ffeefbe99d8 M [] in BrColumnedList(BlElement)>applyLayoutSafelyIn: 0x140166d70: a(n) BrColumnedList >> 0x7ffeefbe9a18 M BlockClosure>ensure: 0x140166e78: a(n) BlockClosure >> 0x7ffeefbe9a50 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe9ab0 M BrColumnedList(BlElement)>applyLayoutSafelyIn: 0x140166d70: a(n) BrColumnedList >> 0x7ffeefbe9af0 M [] in BrColumnedList(BlElement)>applyLayoutIn: 0x140166d70: a(n) BrColumnedList >> 0x7ffeefbe9b20 M BlockClosure>on:do: 0x140167098: a(n) BlockClosure >> 0x7ffeefbe9b60 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401670f0: a(n) BlCompositeErrorHandler >> 0x7ffeefbe9ba8 M BrColumnedList(BlElement)>applyLayoutIn: 0x140166d70: a(n) BrColumnedList >> 0x7ffeefbe9c00 M [] in BlLinearLayoutVerticalOrientation>layout:in: 0x140167300: a(n) BlLinearLayoutVerticalOrientation >> 0x7ffeefbe9c50 M [] in BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140167418: a(n) BlChildrenAccountedByLayout >> 0x7ffeefbe9c98 M Array(SequenceableCollection)>do: 0x140167460: a(n) Array >> 0x7ffeefbe9cd0 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: 0x140167418: a(n) BlChildrenAccountedByLayout >> 0x7ffeefbe9d10 M BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140167418: a(n) BlChildrenAccountedByLayout >> 0x7ffeefbe9d80 M BlLinearLayoutVerticalOrientation>layout:in: 0x140167300: a(n) BlLinearLayoutVerticalOrientation >> 0x7ffeefbe9dc0 M BlLinearLayout>layout:in: 0x1401676e0: a(n) BlLinearLayout >> 0x7ffeefbe9e00 M BlElement>onLayout: 0x140167648: a(n) BlElement >> 0x7ffeefbe9e40 M [] in BlElement>applyLayoutSafelyIn: 0x140167648: a(n) BlElement >> 0x7ffeefbe9e80 M BlockClosure>ensure: 0x140167740: a(n) BlockClosure >> 0x7ffeefbe9eb8 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >> 0x7ffeefbe9f18 M BlElement>applyLayoutSafelyIn: 0x140167648: a(n) BlElement >> 0x7ffeefbed7e0 M [] in BlElement>applyLayoutIn: 0x140167648: a(n) BlElement >> 0x7ffeefbed810 M BlockClosure>on:do: 0x140168368: a(n) BlockClosure >> 0x7ffeefbed850 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401683c0: a(n) BlCompositeErrorHandler >> 0x7ffeefbed898 M BlElement>applyLayoutIn: 0x140167648: a(n) BlElement >> 0x7ffeefbed908 I BlElement>computeLayout 0x140167648: a(n) BlElement >> 0x7ffeefbed948 I BlElement>forceLayout 0x140167648: a(n) BlElement >> 0x7ffeefbed9a8 I GtPhlowColumnedListViewExamples>errorInColumnDoDataBinder 0x140168630: a(n) GtPhlowColumnedListViewExamples >> 0x7ffeefbed9d8 M GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbeda38 M [] in GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbeda78 M BlockClosure>ensure: 0x1401688c8: a(n) BlockClosure >> 0x7ffeefbedac8 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedb00 M GtExampleDebugger(GtExampleProcessor)>process: 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedb38 M [] in GtExampleDebugger(GtExampleProcessor)>value 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedb68 M BlockClosure>on:do: 0x140168c38: a(n) BlockClosure >> 0x7ffeefbedba8 M GtCurrentExampleContext class>use:during: 0x1446188f0: a(n) GtCurrentExampleContext class >> 0x7ffeefbedbe8 M GtExampleDebugger(GtExampleProcessor)>withContextDo: 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedc20 M GtExampleDebugger(GtExampleProcessor)>value 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedc50 M [] in GtExampleDebugger(GtExampleEvaluator)>result 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedc80 M GtExampleDebugger>do:on:do: 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedcc8 M GtExampleDebugger(GtExampleEvaluator)>result 0x1401686f8: a(n) GtExampleDebugger >> 0x7ffeefbedcf8 M GtExample>debug 0x19709dfc8: a(n) GtExample >> 0x7ffeefbedd30 M [] in GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbedd60 M BlockClosure>on:do: 0x140169368: a(n) BlockClosure >> 0x7ffeefbeddb0 M [] in GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbedde8 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time class >> 0x7ffeefbede20 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time class >> 0x7ffeefbede60 M BlockClosure>timeToRun 0x140169558: a(n) BlockClosure >> 0x7ffeefbede98 M GtExamplesHDReport>beginExample:runBlock: 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbedee0 M GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbedf18 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbdea38 M OrderedCollection>do: 0x197099e08: a(n) OrderedCollection >> 0x7ffeefbdea70 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbdeab0 M [] in CurrentExecutionEnvironment class>activate:for: 0x140a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbdeaf0 M BlockClosure>ensure: 0x19709a0b0: a(n) BlockClosure >> 0x7ffeefbdeb30 M CurrentExecutionEnvironment class>activate:for: 0x140a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbdeb70 M TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x197099fb8: a(n) TestExecutionEnvironment >> 0x7ffeefbdeba8 M DefaultExecutionEnvironment>runTestsBy: 0x1409f7da8: a(n) DefaultExecutionEnvironment >> 0x7ffeefbdebe0 M CurrentExecutionEnvironment class>runTestsBy: 0x140a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbdec18 M GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbdec48 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbdec80 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time class >> 0x7ffeefbdecb8 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time class >> 0x7ffeefbdecf8 M BlockClosure>timeToRun 0x19709a618: a(n) BlockClosure >> 0x7ffeefbded28 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbded68 M BlockClosure>ensure: 0x19709a918: a(n) BlockClosure >> 0x7ffeefbdeda0 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbdedd0 M Author>ifUnknownAuthorUse:during: 0x14102a740: a(n) Author >> 0x7ffeefbdee10 M GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport >> 0x7ffeefbdee48 M GtExamplesHDReport class>runPackage: 0x144618008: a(n) GtExamplesHDReport class >> 0x7ffeefbdee80 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x144618008: a(n) GtExamplesHDReport class >> 0x7ffeefbdeed0 M [] in Set>collect: 0x145bbc4d8: a(n) Set >> 0x7ffeefbdef18 M Array(SequenceableCollection)>do: 0x145bbc520: a(n) Array >> 0x145bbcc78 s Set>collect: >> 0x145bbcd30 s GtExamplesHDReport class(HDReport class)>runPackages: >> 0x145bbce28 s [] in GtExamplesCommandLineHandler>runPackages >> 0x145bbcf08 s BlockClosure>ensure: >> 0x14e950710 s UIManager class>nonInteractiveDuring: >> 0x14e9507c8 s GtExamplesCommandLineHandler>runPackages >> 0x14e950880 s GtExamplesCommandLineHandler>activate >> 0x14e950938 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >> 0x14e9509f0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x14e950aa8 s BlockClosure>on:do: >> 0x14e950b60 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x14e950c38 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >> 0x14e950cf0 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >> 0x14e950db8 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x14e950e90 s BlockClosure>on:do: >> 0x14e950f68 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x14e951040 s [] in BlockClosure>newProcess >> >> >> >> Process 18798 stopped >> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >> frame #0: 0x00000001481107d1 >> -> 0x1481107d1: int3 >> 0x1481107d2: int3 >> 0x1481107d3: int3 >> 0x1481107d4: int3 >> Target 0: (Pharo) stopped. >> >> (lldb) call printAllStacks() >> Process 0x15511b938 priority 40 >> 0x7ffeefbf0a18 M Context(Object)>copy 0x15691cf68: a(n) Context >> 0x7ffeefbf0a50 M Context>copyTo: 0x15691cf68: a(n) Context >> 0x7ffeefbf0a98 M Context>copyTo: 0x15691ce78: a(n) Context >> 0x7ffeefbf0ae0 M Context>copyTo: 0x15691cdc0: a(n) Context >> 0x7ffeefbf0b28 M Context>copyTo: 0x15691cd08: a(n) Context >> 0x7ffeefbf0b70 M Context>copyTo: 0x15691cc50: a(n) Context >> 0x7ffeefbf0bb8 M Context>copyTo: 0x15691cb70: a(n) Context >> 0x7ffeefbf0c00 M Context>copyTo: 0x15691ca90: a(n) Context >> 0x7ffeefbf0c48 M Context>copyTo: 0x15691c998: a(n) Context >> 0x7ffeefbf0c90 M Context>copyTo: 0x15691c8e0: a(n) Context >> 0x7ffeefbf0cd8 M Context>copyTo: 0x15691c828: a(n) Context >> 0x7ffeefbf0d20 M Context>copyTo: 0x14874a2c8: a(n) Context >> 0x7ffeefbf0d68 M Context>copyTo: 0x14874a158: a(n) Context >> 0x7ffeefbf0db0 M Context>copyTo: 0x148749fe8: a(n) Context >> 0x7ffeefbf0df8 M Context>copyTo: 0x14816e2e8: a(n) Context >> 0x7ffeefbf0e40 M Context>copyTo: 0x148749dc0: a(n) Context >> 0x7ffeefbf0e88 M Context>copyTo: 0x14816e210: a(n) Context >> 0x7ffeefbf0ed0 M Context>copyTo: 0x148749ae0: a(n) Context >> 0x7ffeefbf0f18 M Context>copyTo: 0x14816e118: a(n) Context >> 0x7ffeefbdc7c8 M Context>copyTo: 0x148749748: a(n) Context >> 0x7ffeefbdc810 M Context>copyTo: 0x1487495d8: a(n) Context >> 0x7ffeefbdc858 M Context>copyTo: 0x148749468: a(n) Context >> 0x7ffeefbdc8a0 M Context>copyTo: 0x1487492f8: a(n) Context >> 0x7ffeefbdc8e8 M Context>copyTo: 0x14816e040: a(n) Context >> 0x7ffeefbdc930 M Context>copyTo: 0x1487490d0: a(n) Context >> 0x7ffeefbdc978 M Context>copyTo: 0x148748f60: a(n) Context >> 0x7ffeefbdc9c0 M Context>copyTo: 0x148748df0: a(n) Context >> 0x7ffeefbdca08 M Context>copyTo: 0x14816df38: a(n) Context >> 0x7ffeefbdca50 M Context>copyTo: 0x148748bc8: a(n) Context >> 0x7ffeefbdca98 M Context>copyTo: 0x14816de20: a(n) Context >> 0x7ffeefbdcae0 M Context>copyTo: 0x14816eeb8: a(n) Context >> 0x7ffeefbdcb28 M Context>copyTo: 0x1487488e8: a(n) Context >> 0x7ffeefbdcb70 M Context>copyTo: 0x148748778: a(n) Context >> 0x7ffeefbdcbb8 M Context>copyTo: 0x14866e858: a(n) Context >> 0x7ffeefbdcc00 M Context>copyTo: 0x148748550: a(n) Context >> 0x7ffeefbdcc48 M Context>copyTo: 0x1487483e0: a(n) Context >> 0x7ffeefbdcc90 M Context>copyTo: 0x148748270: a(n) Context >> 0x7ffeefbdccd8 M Context>copyTo: 0x148748100: a(n) Context >> 0x7ffeefbdcd20 M Context>copyTo: 0x148676078: a(n) Context >> 0x7ffeefbdcd68 M Context>copyTo: 0x148747ed8: a(n) Context >> 0x7ffeefbdcdb0 M Context>copyTo: 0x148747d68: a(n) Context >> 0x7ffeefbdcdf8 M Context>copyTo: 0x148747bf8: a(n) Context >> 0x7ffeefbdce40 M Context>copyTo: 0x148676280: a(n) Context >> 0x7ffeefbdce88 M Context>copyTo: 0x1487479d0: a(n) Context >> 0x7ffeefbdced0 M Context>copyTo: 0x1487477a8: a(n) Context >> 0x7ffeefbdcf18 M Context>copyTo: 0x148676400: a(n) Context >> 0x7ffeefbda7c8 M Context>copyTo: 0x148747410: a(n) Context >> 0x7ffeefbda810 M Context>copyTo: 0x1486764d8: a(n) Context >> 0x7ffeefbda858 M Context>copyTo: 0x1487471e8: a(n) Context >> 0x7ffeefbda8a0 M Context>copyTo: 0x148747078: a(n) Context >> 0x7ffeefbda8e8 M Context>copyTo: 0x148746f08: a(n) Context >> 0x7ffeefbda930 M Context>copyTo: 0x14873f918: a(n) Context >> 0x7ffeefbda978 M Context>copyTo: 0x148746ce0: a(n) Context >> 0x7ffeefbda9c0 M Context>copyTo: 0x148746b70: a(n) Context >> 0x7ffeefbdaa08 M Context>copyTo: 0x148746a00: a(n) Context >> 0x7ffeefbdaa50 M Context>copyTo: 0x148746890: a(n) Context >> 0x7ffeefbdaa98 M Context>copyTo: 0x148746720: a(n) Context >> 0x7ffeefbdaae0 M Context>copyTo: 0x1487415b8: a(n) Context >> 0x7ffeefbdab28 M Context>copyTo: 0x1487412a8: a(n) Context >> 0x7ffeefbdab70 M Context>copyTo: 0x148746440: a(n) Context >> 0x7ffeefbdabb8 M Context>copyTo: 0x148745088: a(n) Context >> 0x7ffeefbdac00 M Context>copyTo: 0x148746218: a(n) Context >> 0x7ffeefbdac48 M Context>copyTo: 0x1487414e0: a(n) Context >> 0x7ffeefbdac90 M Context>copyTo: 0x148745ff0: a(n) Context >> 0x7ffeefbdacd8 M Context>copyTo: 0x148741670: a(n) Context >> 0x7ffeefbdad20 M Context>copyTo: 0x148744fd0: a(n) Context >> 0x7ffeefbdad68 M Context>copyTo: 0x148745ba0: a(n) Context >> 0x7ffeefbdadb0 M Context>copyTo: 0x148745a30: a(n) Context >> 0x7ffeefbdadf8 M Context>copyTo: 0x148744bd8: a(n) Context >> 0x7ffeefbdae40 M Context>copyTo: 0x148745808: a(n) Context >> 0x7ffeefbdae88 M Context>copyTo: 0x148745698: a(n) Context >> 0x7ffeefbdaed0 M Context>copyTo: 0x148745528: a(n) Context >> 0x7ffeefbdaf18 M Context>copyTo: 0x148744f18: a(n) Context >> 0x7ffeefbe0988 I Context>copyTo: 0x148744e60: a(n) Context >> 0x7ffeefbe09d0 I MessageNotUnderstood(Exception)>freezeUpTo: 0x148744e10: a(n) MessageNotUnderstood >> 0x7ffeefbe0a18 I MessageNotUnderstood(Exception)>freeze 0x148744e10: a(n) MessageNotUnderstood >> 0x7ffeefbe0a48 M [] in GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0a80 M BlockClosure>cull: 0x1487414c0: a(n) BlockClosure >> 0x7ffeefbe0ac0 M Context>evaluateSignal: 0x148745088: a(n) Context >> 0x7ffeefbe0af8 M Context>handleSignal: 0x148745088: a(n) Context >> 0x7ffeefbe0b30 M Context>handleSignal: 0x148744fd0: a(n) Context >> 0x7ffeefbe0b68 M MessageNotUnderstood(Exception)>signal 0x148744e10: a(n) MessageNotUnderstood >> 0x7ffeefbe0bb8 I GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x148744bc8: a(n) GtDummyExamplesWithInheritanceSubclassB >> 0x7ffeefbe0bf0 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0c50 M [] in GtExampleEvaluator>basicProcess: 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0c90 M BlockClosure>ensure: 0x148744c90: a(n) BlockClosure >> 0x7ffeefbe0ce0 M GtExampleEvaluator>basicProcess: 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0d18 M GtExampleEvaluator(GtExampleProcessor)>process: 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0d50 M [] in GtExampleEvaluator(GtExampleProcessor)>value 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0d80 M BlockClosure>on:do: 0x148741598: a(n) BlockClosure >> 0x7ffeefbe0dc0 M GtCurrentExampleContext class>use:during: 0x14c618920: a(n) GtCurrentExampleContext class >> 0x7ffeefbe0e00 M GtExampleEvaluator(GtExampleProcessor)>withContextDo: 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0e38 M GtExampleEvaluator(GtExampleProcessor)>value 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0e68 M [] in GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0e98 M BlockClosure>on:do: 0x148741360: a(n) BlockClosure >> 0x7ffeefbe0ed8 M GtExampleEvaluator>do:on:do: 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbe0f20 M GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator >> 0x7ffeefbde8b8 M GtExample>run 0x148740050: a(n) GtExample >> 0x7ffeefbde8e8 M GtExample>result 0x148740050: a(n) GtExample >> 0x7ffeefbde930 I GtExamplesExamplesWithInheritance>resultOfInvalidExampleWithInvalidSuperclassProvider 0x14873f908: a(n) GtExamplesExamplesWithInheritance >> 0x7ffeefbde960 M GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbde9c0 M [] in GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdea00 M BlockClosure>ensure: 0x14873f9d0: a(n) BlockClosure >> 0x7ffeefbdea50 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdea88 M GtExampleDebugger(GtExampleProcessor)>process: 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdeac0 M [] in GtExampleDebugger(GtExampleProcessor)>value 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdeaf0 M BlockClosure>on:do: 0x1486764b8: a(n) BlockClosure >> 0x7ffeefbdeb30 M GtCurrentExampleContext class>use:during: 0x14c618920: a(n) GtCurrentExampleContext class >> 0x7ffeefbdeb70 M GtExampleDebugger(GtExampleProcessor)>withContextDo: 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdeba8 M GtExampleDebugger(GtExampleProcessor)>value 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdebd8 M [] in GtExampleDebugger(GtExampleEvaluator)>result 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdec08 M GtExampleDebugger>do:on:do: 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdec50 M GtExampleDebugger(GtExampleEvaluator)>result 0x148676210: a(n) GtExampleDebugger >> 0x7ffeefbdec80 M GtExample>debug 0x148188088: a(n) GtExample >> 0x7ffeefbdecb8 M [] in GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbdece8 M BlockClosure>on:do: 0x148676130: a(n) BlockClosure >> 0x7ffeefbded38 M [] in GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbded70 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time class >> 0x7ffeefbdeda8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time class >> 0x7ffeefbdede8 M BlockClosure>timeToRun 0x14866e910: a(n) BlockClosure >> 0x7ffeefbdee20 M GtExamplesHDReport>beginExample:runBlock: 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbdee68 M GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbdeea0 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbdeee8 M OrderedCollection>do: 0x14816ee98: a(n) OrderedCollection >> 0x7ffeefbdef20 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbd8ab0 M [] in CurrentExecutionEnvironment class>activate:for: 0x148a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbd8af0 M BlockClosure>ensure: 0x14816ded8: a(n) BlockClosure >> 0x7ffeefbd8b30 M CurrentExecutionEnvironment class>activate:for: 0x148a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbd8b70 M TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x14816ddc0: a(n) TestExecutionEnvironment >> 0x7ffeefbd8ba8 M DefaultExecutionEnvironment>runTestsBy: 0x1489f7da8: a(n) DefaultExecutionEnvironment >> 0x7ffeefbd8be0 M CurrentExecutionEnvironment class>runTestsBy: 0x148a02930: a(n) CurrentExecutionEnvironment class >> 0x7ffeefbd8c18 M GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbd8c48 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbd8c80 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time class >> 0x7ffeefbd8cb8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time class >> 0x7ffeefbd8cf8 M BlockClosure>timeToRun 0x14816e0f8: a(n) BlockClosure >> 0x7ffeefbd8d28 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbd8d68 M BlockClosure>ensure: 0x14816e1d0: a(n) BlockClosure >> 0x7ffeefbd8da0 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbd8dd0 M Author>ifUnknownAuthorUse:during: 0x14902a740: a(n) Author >> 0x7ffeefbd8e10 M GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport >> 0x7ffeefbd8e48 M GtExamplesHDReport class>runPackage: 0x14c618038: a(n) GtExamplesHDReport class >> 0x7ffeefbd8e80 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x14c618038: a(n) GtExamplesHDReport class >> 0x7ffeefbd8ed0 M [] in Set>collect: 0x15691c088: a(n) Set >> 0x7ffeefbd8f18 M Array(SequenceableCollection)>do: 0x15691c188: a(n) Array >> 0x15691c8e0 s Set>collect: >> 0x15691c998 s GtExamplesHDReport class(HDReport class)>runPackages: >> 0x15691ca90 s [] in GtExamplesCommandLineHandler>runPackages >> 0x15691cb70 s BlockClosure>ensure: >> 0x15691cc50 s UIManager class>nonInteractiveDuring: >> 0x15691cd08 s GtExamplesCommandLineHandler>runPackages >> 0x15691cdc0 s GtExamplesCommandLineHandler>activate >> 0x15691ce78 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >> 0x15691cf68 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x15691d048 s BlockClosure>on:do: >> 0x15691d128 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >> 0x15691d200 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >> 0x15691d2b8 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >> 0x15691d380 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x15691d458 s BlockClosure>on:do: >> 0x15691d530 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >> 0x15691d608 s [] in BlockClosure>newProcess >> >> >> (lldb) call dumpPrimTraceLog() >> stringHash:initialHash: >> compare:with:collated: >> stringHash:initialHash: >> stringHash:initialHash: >> **StackOverflow** >> primitiveChangeClassTo: >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> compare:with:collated: >> primitiveChangeClassTo: >> primitiveChangeClassTo: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> compare:with:collated: >> compare:with:collated: >> stringHash:initialHash: >> compare:with:collated: >> primitiveChangeClassTo: >> primitiveChangeClassTo: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> compare:with:collated: >> compare:with:collated: >> primitiveChangeClassTo: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> compare:with:collated: >> compare:with:collated: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> stringHash:initialHash: >> basicNew: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> perform:withArguments: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> size >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> basicNew >> **StackOverflow** >> perform:withArguments: >> **StackOverflow** >> stringHash:initialHash: >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> perform: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> perform:withArguments: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> **StackOverflow** >> **StackOverflow** >> stringHash:initialHash: >> basicNew >> perform:withArguments: >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> basicNew >> **StackOverflow** >> **StackOverflow** >> class >> perform:withArguments: >> value: >> first >> basicNew >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> **StackOverflow** >> basicNew >> perform:withArguments: >> basicNew >> findNextHandlerOrSignalingContext >> tempAt: >> class >> findNextHandlerOrSignalingContext >> tempAt: >> tempAt: >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **StackOverflow** >> shallowCopy >> **StackOverflow** >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> shallowCopy >> **CompactCode** >> >> >> >>> On 26 Sep 2020, at 23:24, Eliot Miranda > wrote: >>> >>> Hi Andrei, >>> >>> fixed in commit 561b06530bbaed5f19e9d7f077a7df9eb3a8d236, VMMaker.oscog-eem.2824 >>> >>> >>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis > wrote: >>> >>> Hi, >>> >>> We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm . >>> >>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>> >>> (lldb) call (void *) printOop(0x1206b6990) >>> 0x1206b6990: a(n) Context >>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>> 0x1206b6b28 0x1206b6b50 >>> >>> Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. >>> >>> Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. >>> >>> A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>> Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? >>> >>> >>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>> ... >>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>> ... >>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>> 0x1206b5b98 s Set>collect: >>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>> 0x1206b6a48 s BlockClosure>ensure: >>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>> 0x1207e6620 s BlockClosure>on:do: >>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>> 0x1207a83e0 s BlockClosure>on:do: >>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>> 0x1207bf830 s [] in BlockClosure>newProcess >>> Cheers, >>> Andrei >>> >>> >>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>> >>> >>> >>> -- >>> _,,,^..^,,,_ >>> best, Eliot >> >> >> >> -- >> _,,,^..^,,,_ >> best, Eliot > > > > -- > _,,,^..^,,,_ > best, Eliot -------------- next part -------------- An HTML attachment was scrubbed... URL: From eliot.miranda at gmail.com Wed Sep 30 14:24:40 2020 From: eliot.miranda at gmail.com (Eliot Miranda) Date: Wed, 30 Sep 2020 07:24:40 -0700 Subject: [Vm-dev] corruption of PC in context objects or not (?) In-Reply-To: <53597334-E19E-4CEA-AAA2-6DA7DEE29A01@gmail.com> References: <53597334-E19E-4CEA-AAA2-6DA7DEE29A01@gmail.com> Message-ID: <7D065A41-9DAD-47D2-BE79-8A172E3AF43D@gmail.com> > On Sep 30, 2020, at 6:40 AM, Andrei Chis wrote: > > Hi Eliot, > > I can confirm that VMMaker.oscog-eem.2831 fixes the bug for us. I had 10 consecutive runs of our tests with no crash which did not happen before. 😅 > > Many thanks for the fix! Thanks for the bug! This was an important one to find and fix. > > Cheers, > Andrei > >> On 28 Sep 2020, at 04:03, Eliot Miranda wrote: >> >> Hi Andrei, >> >> On Sun, Sep 27, 2020 at 1:01 PM Andrei Chis wrote: >>> >>> Hi Eliot, >>> >>> I get the following details for the VM that I compiled locally: >>> >>> CoInterpreter VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 >>> StackToRegisterMappingCogit VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 >>> VM: 202009270258 andrei at Andreis-MacBook-Pro.local:Documents/Pharo/vm-compilation/opensmalltalk-vm Date: Sat Sep 26 19:58:41 2020 CommitHash: 5a0d21d71 Plugins: 202009270258 andrei at Andreis-MacBook-Pro.local:Documents/Pharo/vm-compilation/opensmalltalk-vm >>> >>> Mac OS X built on Sep 27 2020 14:27:59 CEST Compiler: 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.62) >>> VMMaker versionString VM: 202009270258 andrei at Andreis-MacBook-Pro.local:Documents/Pharo/vm-compilation/opensmalltalk-vm Date: Sat Sep 26 19:58:41 2020 CommitHash: 5a0d21d71 Plugins: 202009270258 andrei at Andreis-MacBook-Pro.local:Documents/Pharo/vm-compilation/opensmalltalk-vm >>> CoInterpreter VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 >>> StackToRegisterMappingCogit VMMaker.oscog-eem.2824 uuid: 8f091e5b-fc0f-4b4b-ab5e-e90e598f75ee Sep 27 2020 >>> >>> >>> I can package together the image/changes file and libs and send them privately. >> >> Good, let's do that. Thanks. >>> >>> Cheers, >>> Andrei >>> >>>> On 27 Sep 2020, at 21:23, Eliot Miranda wrote: >>>> >>>> Hi Andrei, >>>> >>>> On Sun, Sep 27, 2020 at 10:29 AM Andrei Chis wrote: >>>>> >>>>> Hi Eliot, >>>>> >>>>> Thanks a lot for your help. >>>>> >>>>> I compiled locally a vm from the commit hash 5a0d21d71223b4d1f4d007ebf2441d530c18c3e2 (CogVM source as per VMMaker.oscog-eem.2826) and I got a Context>>copyTo: crash. >>>>> I think I compiled the vm correctly. Are them some Pharo VMs built on travis for Mac to try out instead of building locally? >>>> >>>> There may be. The PharoVM team are not maintaining our CI builds so you may not be able to find a Pharo VM. >>>> >>>>> >>>>> Below are the stack traces and primitive longs for two crashes with the compiled vm. >>>> >>>> OK, that's disappointing, but important. Maybe you can put an image/changes, support dylibs package up somewhere (Dropbox?) and I can try and run the test case locally. I tested the fix for some time and it clearly fixed one bug. But it does seem that there's another in a similar area. Thanks for your patience. >>>> >>>> One question, you're sure you're running the new VM? >>>> >>>>> >>>>> Process 19347 stopped >>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >>>>> frame #0: 0x0000000140103f79 >>>>> -> 0x140103f79: int3 >>>>> 0x140103f7a: int3 >>>>> 0x140103f7b: int3 >>>>> 0x140103f7c: int3 >>>>> Target 0: (Pharo) stopped. >>>>> >>>>> (lldb) call dumpPrimTraceLog() >>>>> basicNew >>>>> **StackOverflow** >>>>> basicNew >>>>> @ >>>>> @ >>>>> @ >>>>> @ >>>>> basicNew >>>>> basicNew >>>>> @ >>>>> @ >>>>> @ >>>>> @ >>>>> @ >>>>> @ >>>>> signal >>>>> signal >>>>> class >>>>> basicIdentityHash >>>>> basicNew >>>>> class >>>>> bitShift: >>>>> bitAnd: >>>>> asFloat >>>>> / >>>>> asFloat >>>>> fractionPart >>>>> truncated >>>>> fractionPart >>>>> truncated >>>>> fractionPart >>>>> truncated >>>>> setAlpha: >>>>> truncated >>>>> basicIdentityHash >>>>> basicNew >>>>> basicNew >>>>> class >>>>> class >>>>> basicNew >>>>> basicNew >>>>> basicIdentityHash >>>>> basicNew >>>>> basicNew >>>>> basicNew >>>>> wait >>>>> class >>>>> tempAt: >>>>> tempAt:put: >>>>> tempAt: >>>>> terminateTo: >>>>> signal >>>>> findNextUnwindContextUpTo: >>>>> terminateTo: >>>>> wait >>>>> **StackOverflow** >>>>> signal >>>>> replaceFrom:to:with:startingAt: >>>>> wait >>>>> **StackOverflow** >>>>> class >>>>> signal >>>>> basicNew >>>>> class >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> wait >>>>> signal >>>>> basicIdentityHash >>>>> class >>>>> basicNew >>>>> basicNew >>>>> **StackOverflow** >>>>> class >>>>> class >>>>> **StackOverflow** >>>>> wait >>>>> signal >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> wait >>>>> signal >>>>> basicNew >>>>> basicNew >>>>> basicNew >>>>> signal >>>>> wait >>>>> signal >>>>> basicIdentityHash >>>>> basicIdentityHash >>>>> basicNew >>>>> basicNew >>>>> class >>>>> value:value: >>>>> basicNew >>>>> replaceFrom:to:with:startingAt: >>>>> valueWithArguments: >>>>> **StackOverflow** >>>>> basicIdentityHash >>>>> valueWithArguments: >>>>> basicNew >>>>> **StackOverflow** >>>>> class >>>>> findNextHandlerOrSignalingContext >>>>> **StackOverflow** >>>>> primitive >>>>> ~= >>>>> ~= >>>>> tempAt: >>>>> **StackOverflow** >>>>> tempAt: >>>>> basicNew >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> >>>>> >>>>> >>>>> (lldb) call printCallStack() >>>>> 0x7ffeefbe6d78 M Context(Object)>copy 0x145bbce28: a(n) Context >>>>> 0x7ffeefbe6db0 M Context>copyTo: 0x145bbce28: a(n) Context >>>>> 0x7ffeefbe6df8 M Context>copyTo: 0x145bbcd30: a(n) Context >>>>> 0x7ffeefbe6e40 M Context>copyTo: 0x145bbcc78: a(n) Context >>>>> 0x7ffeefbe6e88 M Context>copyTo: 0x145bbcbc0: a(n) Context >>>>> 0x7ffeefbe6ed0 M Context>copyTo: 0x19709adc8: a(n) Context >>>>> 0x7ffeefbe6f18 M Context>copyTo: 0x19709ad10: a(n) Context >>>>> 0x7ffeefbe37c8 M Context>copyTo: 0x19709ac58: a(n) Context >>>>> 0x7ffeefbe3810 M Context>copyTo: 0x19709aba0: a(n) Context >>>>> 0x7ffeefbe3858 M Context>copyTo: 0x19709aae8: a(n) Context >>>>> 0x7ffeefbe38a0 M Context>copyTo: 0x19709aa10: a(n) Context >>>>> 0x7ffeefbe38e8 M Context>copyTo: 0x19709a938: a(n) Context >>>>> 0x7ffeefbe3930 M Context>copyTo: 0x19709a860: a(n) Context >>>>> 0x7ffeefbe3978 M Context>copyTo: 0x19709a7a8: a(n) Context >>>>> 0x7ffeefbe39c0 M Context>copyTo: 0x19709a6f0: a(n) Context >>>>> 0x7ffeefbe3a08 M Context>copyTo: 0x19709a638: a(n) Context >>>>> 0x7ffeefbe3a50 M Context>copyTo: 0x19709a560: a(n) Context >>>>> 0x7ffeefbe3a98 M Context>copyTo: 0x19709a4a8: a(n) Context >>>>> 0x7ffeefbe3ae0 M Context>copyTo: 0x19709a3f0: a(n) Context >>>>> 0x7ffeefbe3b28 M Context>copyTo: 0x19709a338: a(n) Context >>>>> 0x7ffeefbe3b70 M Context>copyTo: 0x19709a280: a(n) Context >>>>> 0x7ffeefbe3bb8 M Context>copyTo: 0x19709a1c8: a(n) Context >>>>> 0x7ffeefbe3c00 M Context>copyTo: 0x19709a0e0: a(n) Context >>>>> 0x7ffeefbe3c48 M Context>copyTo: 0x197099ff8: a(n) Context >>>>> 0x7ffeefbe3c90 M Context>copyTo: 0x197099ee0: a(n) Context >>>>> 0x7ffeefbe3cd8 M Context>copyTo: 0x197099e28: a(n) Context >>>>> 0x7ffeefbe3d20 M Context>copyTo: 0x140169920: a(n) Context >>>>> 0x7ffeefbe3d68 M Context>copyTo: 0x140169868: a(n) Context >>>>> 0x7ffeefbe3db0 M Context>copyTo: 0x1401697b0: a(n) Context >>>>> 0x7ffeefbe3df8 M Context>copyTo: 0x1401696f8: a(n) Context >>>>> 0x7ffeefbe3e40 M Context>copyTo: 0x140169640: a(n) Context >>>>> 0x7ffeefbe3e88 M Context>copyTo: 0x140169588: a(n) Context >>>>> 0x7ffeefbe3ed0 M Context>copyTo: 0x1401694a0: a(n) Context >>>>> 0x7ffeefbe3f18 M Context>copyTo: 0x140169390: a(n) Context >>>>> 0x7ffeefbf47c8 M Context>copyTo: 0x1401692b0: a(n) Context >>>>> 0x7ffeefbf4810 M Context>copyTo: 0x1401691f8: a(n) Context >>>>> 0x7ffeefbf4858 M Context>copyTo: 0x140169140: a(n) Context >>>>> 0x7ffeefbf48a0 M Context>copyTo: 0x140169058: a(n) Context >>>>> 0x7ffeefbf48e8 M Context>copyTo: 0x140168f80: a(n) Context >>>>> 0x7ffeefbf4930 M Context>copyTo: 0x140168ec8: a(n) Context >>>>> 0x7ffeefbf4978 M Context>copyTo: 0x140168e10: a(n) Context >>>>> 0x7ffeefbf49c0 M Context>copyTo: 0x140168d38: a(n) Context >>>>> 0x7ffeefbf4a08 M Context>copyTo: 0x140168c58: a(n) Context >>>>> 0x7ffeefbf4a50 M Context>copyTo: 0x140168b80: a(n) Context >>>>> 0x7ffeefbf4a98 M Context>copyTo: 0x140168ac8: a(n) Context >>>>> 0x7ffeefbf4ae0 M Context>copyTo: 0x140168a10: a(n) Context >>>>> 0x7ffeefbf4b28 M Context>copyTo: 0x140168900: a(n) Context >>>>> 0x7ffeefbf4b70 M Context>copyTo: 0x140168810: a(n) Context >>>>> 0x7ffeefbf4bb8 M Context>copyTo: 0x140168718: a(n) Context >>>>> 0x7ffeefbf4c00 M Context>copyTo: 0x140168640: a(n) Context >>>>> 0x7ffeefbf4c48 M Context>copyTo: 0x14039c748: a(n) Context >>>>> 0x7ffeefbf4c90 M Context>copyTo: 0x14039c5d8: a(n) Context >>>>> 0x7ffeefbf4cd8 M Context>copyTo: 0x1401684b8: a(n) Context >>>>> 0x7ffeefbf4d20 M Context>copyTo: 0x1401683d8: a(n) Context >>>>> 0x7ffeefbf4d68 M Context>copyTo: 0x14039c2f8: a(n) Context >>>>> 0x7ffeefbf4db0 M Context>copyTo: 0x140167960: a(n) Context >>>>> 0x7ffeefbf4df8 M Context>copyTo: 0x1401678a8: a(n) Context >>>>> 0x7ffeefbf4e40 M Context>copyTo: 0x140167788: a(n) Context >>>>> 0x7ffeefbf4e88 M Context>copyTo: 0x14039bf60: a(n) Context >>>>> 0x7ffeefbf4ed0 M Context>copyTo: 0x14039bd38: a(n) Context >>>>> 0x7ffeefbf4f18 M Context>copyTo: 0x14039ba58: a(n) Context >>>>> 0x7ffeefbf07c8 M Context>copyTo: 0x14039b8e8: a(n) Context >>>>> 0x7ffeefbf0810 M Context>copyTo: 0x140167578: a(n) Context >>>>> 0x7ffeefbf0858 M Context>copyTo: 0x140167478: a(n) Context >>>>> 0x7ffeefbf08a0 M Context>copyTo: 0x14039b608: a(n) Context >>>>> 0x7ffeefbf08e8 M Context>copyTo: 0x14039b498: a(n) Context >>>>> 0x7ffeefbf0930 M Context>copyTo: 0x14039b328: a(n) Context >>>>> 0x7ffeefbf0978 M Context>copyTo: 0x140167310: a(n) Context >>>>> 0x7ffeefbf09c0 M Context>copyTo: 0x1401671e8: a(n) Context >>>>> 0x7ffeefbf0a08 M Context>copyTo: 0x140167108: a(n) Context >>>>> 0x7ffeefbf0a50 M Context>copyTo: 0x14039af90: a(n) Context >>>>> 0x7ffeefbf0a98 M Context>copyTo: 0x14039ae20: a(n) Context >>>>> 0x7ffeefbf0ae0 M Context>copyTo: 0x140166fe0: a(n) Context >>>>> 0x7ffeefbf0b28 M Context>copyTo: 0x140166ec0: a(n) Context >>>>> 0x7ffeefbf0b70 M Context>copyTo: 0x14039ab40: a(n) Context >>>>> 0x7ffeefbf0bb8 M Context>copyTo: 0x14039a9d0: a(n) Context >>>>> 0x7ffeefbf0c00 M Context>copyTo: 0x14039a860: a(n) Context >>>>> 0x7ffeefbf0c48 M Context>copyTo: 0x14039a6f0: a(n) Context >>>>> 0x7ffeefbf0c90 M Context>copyTo: 0x140166ca0: a(n) Context >>>>> 0x7ffeefbf0cd8 M Context>copyTo: 0x140166bb8: a(n) Context >>>>> 0x7ffeefbf0d20 M Context>copyTo: 0x140165f60: a(n) Context >>>>> 0x7ffeefbf0d68 M Context>copyTo: 0x140165ea8: a(n) Context >>>>> 0x7ffeefbf0db0 M Context>copyTo: 0x14039a2a0: a(n) Context >>>>> 0x7ffeefbf0df8 M Context>copyTo: 0x140165d48: a(n) Context >>>>> 0x7ffeefbf0e40 M Context>copyTo: 0x140165c20: a(n) Context >>>>> 0x7ffeefbf0e88 M Context>copyTo: 0x140165b40: a(n) Context >>>>> 0x7ffeefbf0ed0 M Context>copyTo: 0x140399e50: a(n) Context >>>>> 0x7ffeefbf0f18 M Context>copyTo: 0x140399b70: a(n) Context >>>>> 0x7ffeefbee7c8 M Context>copyTo: 0x140165a18: a(n) Context >>>>> 0x7ffeefbee810 M Context>copyTo: 0x1401658f8: a(n) Context >>>>> 0x7ffeefbee858 M Context>copyTo: 0x140399890: a(n) Context >>>>> 0x7ffeefbee8a0 M Context>copyTo: 0x140399720: a(n) Context >>>>> 0x7ffeefbee8e8 M Context>copyTo: 0x1403995b0: a(n) Context >>>>> 0x7ffeefbee930 M Context>copyTo: 0x140399440: a(n) Context >>>>> 0x7ffeefbee978 M Context>copyTo: 0x1403992d0: a(n) Context >>>>> 0x7ffeefbee9c0 M Context>copyTo: 0x140399160: a(n) Context >>>>> 0x7ffeefbeea08 M Context>copyTo: 0x140398ff0: a(n) Context >>>>> 0x7ffeefbeea50 M Context>copyTo: 0x140398e80: a(n) Context >>>>> 0x7ffeefbeea98 M Context>copyTo: 0x140398d10: a(n) Context >>>>> 0x7ffeefbeeae0 M Context>copyTo: 0x140165748: a(n) Context >>>>> 0x7ffeefbeeb28 M Context>copyTo: 0x140165648: a(n) Context >>>>> 0x7ffeefbeeb70 M Context>copyTo: 0x140398a30: a(n) Context >>>>> 0x7ffeefbeebb8 M Context>copyTo: 0x1403988c0: a(n) Context >>>>> 0x7ffeefbeec00 M Context>copyTo: 0x140165530: a(n) Context >>>>> 0x7ffeefbeec48 M Context>copyTo: 0x140165458: a(n) Context >>>>> 0x7ffeefbeec90 M Context>copyTo: 0x1403985e0: a(n) Context >>>>> 0x7ffeefbeecd8 M Context>copyTo: 0x140398470: a(n) Context >>>>> 0x7ffeefbeed20 M Context>copyTo: 0x140165088: a(n) Context >>>>> 0x7ffeefbeed68 M Context>copyTo: 0x140166ae0: a(n) Context >>>>> 0x7ffeefbeedb0 M Context>copyTo: 0x140398190: a(n) Context >>>>> 0x7ffeefbeedf8 M Context>copyTo: 0x140398020: a(n) Context >>>>> 0x7ffeefbeee40 M Context>copyTo: 0x140397eb0: a(n) Context >>>>> 0x7ffeefbeee88 M Context>copyTo: 0x1401669d8: a(n) Context >>>>> 0x7ffeefbeeed0 M Context>copyTo: 0x140397c88: a(n) Context >>>>> 0x7ffeefbeef18 M Context>copyTo: 0x140394d08: a(n) Context >>>>> 0x7ffeefbea798 M Context>copyTo: 0x140394e20: a(n) Context >>>>> 0x7ffeefbea7e0 M Context>copyTo: 0x140397838: a(n) Context >>>>> 0x7ffeefbea828 M Context>copyTo: 0x1403976c8: a(n) Context >>>>> 0x7ffeefbea870 M Context>copyTo: 0x140397558: a(n) Context >>>>> 0x7ffeefbea8b8 M Context>copyTo: 0x140395000: a(n) Context >>>>> 0x7ffeefbea900 M Context>copyTo: 0x140397330: a(n) Context >>>>> 0x7ffeefbea948 M Context>copyTo: 0x1403971c0: a(n) Context >>>>> 0x7ffeefbea990 M Context>copyTo: 0x140397050: a(n) Context >>>>> 0x7ffeefbea9d8 M Context>copyTo: 0x140396ee0: a(n) Context >>>>> 0x7ffeefbeaa20 M Context>copyTo: 0x140396d70: a(n) Context >>>>> 0x7ffeefbeaa68 M Context>copyTo: 0x1403958f8: a(n) Context >>>>> 0x7ffeefbeaab0 M Context>copyTo: 0x140396b48: a(n) Context >>>>> 0x7ffeefbeaaf8 M Context>copyTo: 0x140396298: a(n) Context >>>>> 0x7ffeefbeab40 M Context>copyTo: 0x140396920: a(n) Context >>>>> 0x7ffeefbeab88 M Context>copyTo: 0x1403967b0: a(n) Context >>>>> 0x7ffeefbeabd0 M Context>copyTo: 0x1403961e0: a(n) Context >>>>> 0x7ffeefbeac18 M Context>copyTo: 0x140396128: a(n) Context >>>>> 0x7ffeefbeac60 M Context>copyTo: 0x140396070: a(n) Context >>>>> 0x7ffeefbeacb8 I Context>copyTo: 0x140395e28: a(n) Context >>>>> 0x7ffeefbead00 I ZeroDivide(Exception)>freezeUpTo: 0x140395de8: a(n) ZeroDivide >>>>> 0x7ffeefbead48 I ZeroDivide(Exception)>freeze 0x140395de8: a(n) ZeroDivide >>>>> 0x7ffeefbead88 I BrDebugglableElementStencil>freeze: 0x140396408: a(n) BrDebugglableElementStencil >>>>> 0x7ffeefbeadd8 I ZeroDivide(Exception)>asDebuggableElement 0x140395de8: a(n) ZeroDivide >>>>> 0x7ffeefbeae18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn >>>>> 0x7ffeefbeae50 M BlockClosure>cull: 0x1403959f0: a(n) BlockClosure >>>>> 0x7ffeefbeaea0 I Context>evaluateSignal: 0x140396298: a(n) Context >>>>> 0x7ffeefbeaed8 M Context>handleSignal: 0x140396298: a(n) Context >>>>> 0x7ffeefbeaf20 I ZeroDivide(Exception)>signal 0x140395de8: a(n) ZeroDivide >>>>> 0x7ffeefbe7840 I ZeroDivide(Exception)>signal: 0x140395de8: a(n) ZeroDivide >>>>> 0x7ffeefbe7888 I ZeroDivide class(Exception class)>signal: 0x1409f9490: a(n) ZeroDivide class >>>>> 0x7ffeefbe78c0 M [] in GtPhlowColumnedListViewExamples>gtErrorInColumnDoDataBinderFor: 0x140168630: a(n) GtPhlowColumnedListViewExamples >>>>> 0x7ffeefbe7908 M BlockClosure>glamourValueWithArgs: 0x140174180: a(n) BlockClosure >>>>> 0x7ffeefbe7960 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn >>>>> 0x7ffeefbe7990 M BlockClosure>on:do: 0x1403959b0: a(n) BlockClosure >>>>> 0x7ffeefbe79d0 M GtPhlowColumn>performBlock:onException: 0x140169e48: a(n) GtPhlowColumn >>>>> 0x7ffeefbe7a18 M [] in GtPhlowColumn>errorTreatedCellDataBinderFor: 0x140169e48: a(n) GtPhlowColumn >>>>> 0x7ffeefbe7a60 M BlockClosure>glamourValueWithArgs: 0x1401701c0: a(n) BlockClosure >>>>> 0x7ffeefbe7a98 M BrStencilValuableExecutor>execute 0x140174230: a(n) BrStencilValuableExecutor >>>>> 0x7ffeefbe7ad8 M BrColumnCellDataBinder(BrStencilBuilder)>build 0x140170448: a(n) BrColumnCellDataBinder >>>>> 0x7ffeefbe7b38 I [] in BrColumnedListDataSource>onBindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource >>>>> 0x7ffeefbe7b98 I OrderedCollection(SequenceableCollection)>with:do: 0x140169ff8: a(n) OrderedCollection >>>>> 0x7ffeefbe7bf8 I BrColumnedListDataSource>onBindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource >>>>> 0x7ffeefbe7c48 I BrColumnedListDataSource(BlInfiniteDataSource)>onBindHolder:at:payloads: 0x140169f38: a(n) BrColumnedListDataSource >>>>> 0x7ffeefbe7ca0 M [] in BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource >>>>> 0x7ffeefbe7ce0 M BlockClosure>ensure: 0x140394df0: a(n) BlockClosure >>>>> 0x7ffeefbe7d18 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >>>>> 0x7ffeefbe7d58 M BrColumnedListDataSource(BlInfiniteDataSource)>bindHolder:at: 0x140169f38: a(n) BrColumnedListDataSource >>>>> 0x7ffeefbe7d98 M BlInfiniteRecyclerController>bindHolder:at: 0x1401662c0: a(n) BlInfiniteRecyclerController >>>>> 0x7ffeefbe7e10 M BlInfiniteRecycler>elementFor:dryRun: 0x1401652b8: a(n) BlInfiniteRecycler >>>>> 0x7ffeefbe7e50 M BlInfiniteRecycler>elementFor: 0x1401652b8: a(n) BlInfiniteRecycler >>>>> 0x7ffeefbe7e98 M [] in BlInfiniteLinearLayoutState>nextElement:in: 0x140165020: a(n) BlInfiniteLinearLayoutState >>>>> 0x7ffeefbe7ed8 M BlockClosure>ensure: 0x140166a90: a(n) BlockClosure >>>>> 0x7ffeefbe7f10 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >>>>> 0x7ffeefbe27d0 M BlInfiniteLinearLayoutState>nextElement:in: 0x140165020: a(n) BlInfiniteLinearLayoutState >>>>> 0x7ffeefbe2818 M [] in BlInfiniteLinearLayout>layoutChunkAdd 0x140165320: a(n) BlInfiniteLinearLayout >>>>> 0x7ffeefbe2858 M BlockClosure>ensure: 0x140165410: a(n) BlockClosure >>>>> 0x7ffeefbe2890 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >>>>> 0x7ffeefbe28d8 M BlInfiniteLinearLayout>layoutChunkAdd 0x140165320: a(n) BlInfiniteLinearLayout >>>>> 0x7ffeefbe2910 M [] in BlInfiniteLinearLayout>layoutChunk 0x140165320: a(n) BlInfiniteLinearLayout >>>>> 0x7ffeefbe2950 M BlockClosure>ensure: 0x140165600: a(n) BlockClosure >>>>> 0x7ffeefbe2988 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >>>>> 0x7ffeefbe29e0 M BlInfiniteLinearLayout>layoutChunk 0x140165320: a(n) BlInfiniteLinearLayout >>>>> 0x7ffeefbe2a48 I BlInfiniteLinearLayout>fillLayout: 0x140165320: a(n) BlInfiniteLinearLayout >>>>> 0x7ffeefbe2ab8 I BlInfiniteLinearLayout>layoutChildrenFillFromStart: 0x140165320: a(n) BlInfiniteLinearLayout >>>>> 0x7ffeefbe2b00 I BlInfiniteLinearLayout>layoutChildrenFill: 0x140165320: a(n) BlInfiniteLinearLayout >>>>> 0x7ffeefbe2b58 I BlInfiniteLinearLayout>layoutChildrenIn:state: 0x140165320: a(n) BlInfiniteLinearLayout >>>>> 0x7ffeefbe2ba8 I BrInfiniteListElement(BlInfiniteElement)>dispatchLayoutSecondStep 0x140165140: a(n) BrInfiniteListElement >>>>> 0x7ffeefbe2be8 I BrInfiniteListElement(BlInfiniteElement)>dispatchLayout 0x140165140: a(n) BrInfiniteListElement >>>>> 0x7ffeefbe2c18 M BrInfiniteListElement(BlInfiniteElement)>onLayout: 0x140165140: a(n) BrInfiniteListElement >>>>> 0x7ffeefbe2c58 M [] in BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: 0x140165140: a(n) BrInfiniteListElement >>>>> 0x7ffeefbe2c98 M BlockClosure>ensure: 0x1401658b0: a(n) BlockClosure >>>>> 0x7ffeefbe2cd0 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >>>>> 0x7ffeefbe2d30 M BrInfiniteListElement(BlElement)>applyLayoutSafelyIn: 0x140165140: a(n) BrInfiniteListElement >>>>> 0x7ffeefbe2d70 M [] in BrInfiniteListElement(BlElement)>applyLayoutIn: 0x140165140: a(n) BrInfiniteListElement >>>>> 0x7ffeefbe2da0 M BlockClosure>on:do: 0x140165ad0: a(n) BlockClosure >>>>> 0x7ffeefbe2de0 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x140165b28: a(n) BlCompositeErrorHandler >>>>> 0x7ffeefbe2e28 M BrInfiniteListElement(BlElement)>applyLayoutIn: 0x140165140: a(n) BrInfiniteListElement >>>>> 0x7ffeefbe2e80 M [] in BlLinearLayoutVerticalOrientation>layout:in: 0x140165d38: a(n) BlLinearLayoutVerticalOrientation >>>>> 0x7ffeefbe2ed0 M [] in BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140165e50: a(n) BlChildrenAccountedByLayout >>>>> 0x7ffeefbe2f18 M Array(SequenceableCollection)>do: 0x140165e98: a(n) Array >>>>> 0x7ffeefbe9868 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: 0x140165e50: a(n) BlChildrenAccountedByLayout >>>>> 0x7ffeefbe98a8 M BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140165e50: a(n) BlChildrenAccountedByLayout >>>>> 0x7ffeefbe9918 M BlLinearLayoutVerticalOrientation>layout:in: 0x140165d38: a(n) BlLinearLayoutVerticalOrientation >>>>> 0x7ffeefbe9958 M BlLinearLayout>layout:in: 0x140166e18: a(n) BlLinearLayout >>>>> 0x7ffeefbe9998 M BrColumnedList(BlElement)>onLayout: 0x140166d70: a(n) BrColumnedList >>>>> 0x7ffeefbe99d8 M [] in BrColumnedList(BlElement)>applyLayoutSafelyIn: 0x140166d70: a(n) BrColumnedList >>>>> 0x7ffeefbe9a18 M BlockClosure>ensure: 0x140166e78: a(n) BlockClosure >>>>> 0x7ffeefbe9a50 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >>>>> 0x7ffeefbe9ab0 M BrColumnedList(BlElement)>applyLayoutSafelyIn: 0x140166d70: a(n) BrColumnedList >>>>> 0x7ffeefbe9af0 M [] in BrColumnedList(BlElement)>applyLayoutIn: 0x140166d70: a(n) BrColumnedList >>>>> 0x7ffeefbe9b20 M BlockClosure>on:do: 0x140167098: a(n) BlockClosure >>>>> 0x7ffeefbe9b60 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401670f0: a(n) BlCompositeErrorHandler >>>>> 0x7ffeefbe9ba8 M BrColumnedList(BlElement)>applyLayoutIn: 0x140166d70: a(n) BrColumnedList >>>>> 0x7ffeefbe9c00 M [] in BlLinearLayoutVerticalOrientation>layout:in: 0x140167300: a(n) BlLinearLayoutVerticalOrientation >>>>> 0x7ffeefbe9c50 M [] in BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140167418: a(n) BlChildrenAccountedByLayout >>>>> 0x7ffeefbe9c98 M Array(SequenceableCollection)>do: 0x140167460: a(n) Array >>>>> 0x7ffeefbe9cd0 M BlChildrenAccountedByLayout(BlChildrenSubset)>do: 0x140167418: a(n) BlChildrenAccountedByLayout >>>>> 0x7ffeefbe9d10 M BlChildrenAccountedByLayout(BlChildren)>inject:into: 0x140167418: a(n) BlChildrenAccountedByLayout >>>>> 0x7ffeefbe9d80 M BlLinearLayoutVerticalOrientation>layout:in: 0x140167300: a(n) BlLinearLayoutVerticalOrientation >>>>> 0x7ffeefbe9dc0 M BlLinearLayout>layout:in: 0x1401676e0: a(n) BlLinearLayout >>>>> 0x7ffeefbe9e00 M BlElement>onLayout: 0x140167648: a(n) BlElement >>>>> 0x7ffeefbe9e40 M [] in BlElement>applyLayoutSafelyIn: 0x140167648: a(n) BlElement >>>>> 0x7ffeefbe9e80 M BlockClosure>ensure: 0x140167740: a(n) BlockClosure >>>>> 0x7ffeefbe9eb8 M BlNullTelemetry(BlTelemetry)>timeSync:during: 0x14f0f8ce0: a(n) BlNullTelemetry >>>>> 0x7ffeefbe9f18 M BlElement>applyLayoutSafelyIn: 0x140167648: a(n) BlElement >>>>> 0x7ffeefbed7e0 M [] in BlElement>applyLayoutIn: 0x140167648: a(n) BlElement >>>>> 0x7ffeefbed810 M BlockClosure>on:do: 0x140168368: a(n) BlockClosure >>>>> 0x7ffeefbed850 M BlCompositeErrorHandler(BlErrorHandler)>with:do:failed: 0x1401683c0: a(n) BlCompositeErrorHandler >>>>> 0x7ffeefbed898 M BlElement>applyLayoutIn: 0x140167648: a(n) BlElement >>>>> 0x7ffeefbed908 I BlElement>computeLayout 0x140167648: a(n) BlElement >>>>> 0x7ffeefbed948 I BlElement>forceLayout 0x140167648: a(n) BlElement >>>>> 0x7ffeefbed9a8 I GtPhlowColumnedListViewExamples>errorInColumnDoDataBinder 0x140168630: a(n) GtPhlowColumnedListViewExamples >>>>> 0x7ffeefbed9d8 M GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: 0x1401686f8: a(n) GtExampleDebugger >>>>> 0x7ffeefbeda38 M [] in GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x1401686f8: a(n) GtExampleDebugger >>>>> 0x7ffeefbeda78 M BlockClosure>ensure: 0x1401688c8: a(n) BlockClosure >>>>> 0x7ffeefbedac8 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x1401686f8: a(n) GtExampleDebugger >>>>> 0x7ffeefbedb00 M GtExampleDebugger(GtExampleProcessor)>process: 0x1401686f8: a(n) GtExampleDebugger >>>>> 0x7ffeefbedb38 M [] in GtExampleDebugger(GtExampleProcessor)>value 0x1401686f8: a(n) GtExampleDebugger >>>>> 0x7ffeefbedb68 M BlockClosure>on:do: 0x140168c38: a(n) BlockClosure >>>>> 0x7ffeefbedba8 M GtCurrentExampleContext class>use:during: 0x1446188f0: a(n) GtCurrentExampleContext class >>>>> 0x7ffeefbedbe8 M GtExampleDebugger(GtExampleProcessor)>withContextDo: 0x1401686f8: a(n) GtExampleDebugger >>>>> 0x7ffeefbedc20 M GtExampleDebugger(GtExampleProcessor)>value 0x1401686f8: a(n) GtExampleDebugger >>>>> 0x7ffeefbedc50 M [] in GtExampleDebugger(GtExampleEvaluator)>result 0x1401686f8: a(n) GtExampleDebugger >>>>> 0x7ffeefbedc80 M GtExampleDebugger>do:on:do: 0x1401686f8: a(n) GtExampleDebugger >>>>> 0x7ffeefbedcc8 M GtExampleDebugger(GtExampleEvaluator)>result 0x1401686f8: a(n) GtExampleDebugger >>>>> 0x7ffeefbedcf8 M GtExample>debug 0x19709dfc8: a(n) GtExample >>>>> 0x7ffeefbedd30 M [] in GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport >>>>> 0x7ffeefbedd60 M BlockClosure>on:do: 0x140169368: a(n) BlockClosure >>>>> 0x7ffeefbeddb0 M [] in GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport >>>>> 0x7ffeefbedde8 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time class >>>>> 0x7ffeefbede20 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time class >>>>> 0x7ffeefbede60 M BlockClosure>timeToRun 0x140169558: a(n) BlockClosure >>>>> 0x7ffeefbede98 M GtExamplesHDReport>beginExample:runBlock: 0x197099d30: a(n) GtExamplesHDReport >>>>> 0x7ffeefbedee0 M GtExamplesHDReport>runExample: 0x197099d30: a(n) GtExamplesHDReport >>>>> 0x7ffeefbedf18 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport >>>>> 0x7ffeefbdea38 M OrderedCollection>do: 0x197099e08: a(n) OrderedCollection >>>>> 0x7ffeefbdea70 M [] in GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport >>>>> 0x7ffeefbdeab0 M [] in CurrentExecutionEnvironment class>activate:for: 0x140a02930: a(n) CurrentExecutionEnvironment class >>>>> 0x7ffeefbdeaf0 M BlockClosure>ensure: 0x19709a0b0: a(n) BlockClosure >>>>> 0x7ffeefbdeb30 M CurrentExecutionEnvironment class>activate:for: 0x140a02930: a(n) CurrentExecutionEnvironment class >>>>> 0x7ffeefbdeb70 M TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x197099fb8: a(n) TestExecutionEnvironment >>>>> 0x7ffeefbdeba8 M DefaultExecutionEnvironment>runTestsBy: 0x1409f7da8: a(n) DefaultExecutionEnvironment >>>>> 0x7ffeefbdebe0 M CurrentExecutionEnvironment class>runTestsBy: 0x140a02930: a(n) CurrentExecutionEnvironment class >>>>> 0x7ffeefbdec18 M GtExamplesHDReport>runAll 0x197099d30: a(n) GtExamplesHDReport >>>>> 0x7ffeefbdec48 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport >>>>> 0x7ffeefbdec80 M Time class>microsecondsToRun: 0x1409fcff0: a(n) Time class >>>>> 0x7ffeefbdecb8 M Time class>millisecondsToRun: 0x1409fcff0: a(n) Time class >>>>> 0x7ffeefbdecf8 M BlockClosure>timeToRun 0x19709a618: a(n) BlockClosure >>>>> 0x7ffeefbded28 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport >>>>> 0x7ffeefbded68 M BlockClosure>ensure: 0x19709a918: a(n) BlockClosure >>>>> 0x7ffeefbdeda0 M [] in GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport >>>>> 0x7ffeefbdedd0 M Author>ifUnknownAuthorUse:during: 0x14102a740: a(n) Author >>>>> 0x7ffeefbdee10 M GtExamplesHDReport>run 0x197099d30: a(n) GtExamplesHDReport >>>>> 0x7ffeefbdee48 M GtExamplesHDReport class>runPackage: 0x144618008: a(n) GtExamplesHDReport class >>>>> 0x7ffeefbdee80 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x144618008: a(n) GtExamplesHDReport class >>>>> 0x7ffeefbdeed0 M [] in Set>collect: 0x145bbc4d8: a(n) Set >>>>> 0x7ffeefbdef18 M Array(SequenceableCollection)>do: 0x145bbc520: a(n) Array >>>>> 0x145bbcc78 s Set>collect: >>>>> 0x145bbcd30 s GtExamplesHDReport class(HDReport class)>runPackages: >>>>> 0x145bbce28 s [] in GtExamplesCommandLineHandler>runPackages >>>>> 0x145bbcf08 s BlockClosure>ensure: >>>>> 0x14e950710 s UIManager class>nonInteractiveDuring: >>>>> 0x14e9507c8 s GtExamplesCommandLineHandler>runPackages >>>>> 0x14e950880 s GtExamplesCommandLineHandler>activate >>>>> 0x14e950938 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>>> 0x14e9509f0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>> 0x14e950aa8 s BlockClosure>on:do: >>>>> 0x14e950b60 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>> 0x14e950c38 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>>> 0x14e950cf0 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>>> 0x14e950db8 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>> 0x14e950e90 s BlockClosure>on:do: >>>>> 0x14e950f68 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>> 0x14e951040 s [] in BlockClosure>newProcess >>>>> >>>>> >>>>> >>>>> Process 18798 stopped >>>>> * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0) >>>>> frame #0: 0x00000001481107d1 >>>>> -> 0x1481107d1: int3 >>>>> 0x1481107d2: int3 >>>>> 0x1481107d3: int3 >>>>> 0x1481107d4: int3 >>>>> Target 0: (Pharo) stopped. >>>>> >>>>> (lldb) call printAllStacks() >>>>> Process 0x15511b938 priority 40 >>>>> 0x7ffeefbf0a18 M Context(Object)>copy 0x15691cf68: a(n) Context >>>>> 0x7ffeefbf0a50 M Context>copyTo: 0x15691cf68: a(n) Context >>>>> 0x7ffeefbf0a98 M Context>copyTo: 0x15691ce78: a(n) Context >>>>> 0x7ffeefbf0ae0 M Context>copyTo: 0x15691cdc0: a(n) Context >>>>> 0x7ffeefbf0b28 M Context>copyTo: 0x15691cd08: a(n) Context >>>>> 0x7ffeefbf0b70 M Context>copyTo: 0x15691cc50: a(n) Context >>>>> 0x7ffeefbf0bb8 M Context>copyTo: 0x15691cb70: a(n) Context >>>>> 0x7ffeefbf0c00 M Context>copyTo: 0x15691ca90: a(n) Context >>>>> 0x7ffeefbf0c48 M Context>copyTo: 0x15691c998: a(n) Context >>>>> 0x7ffeefbf0c90 M Context>copyTo: 0x15691c8e0: a(n) Context >>>>> 0x7ffeefbf0cd8 M Context>copyTo: 0x15691c828: a(n) Context >>>>> 0x7ffeefbf0d20 M Context>copyTo: 0x14874a2c8: a(n) Context >>>>> 0x7ffeefbf0d68 M Context>copyTo: 0x14874a158: a(n) Context >>>>> 0x7ffeefbf0db0 M Context>copyTo: 0x148749fe8: a(n) Context >>>>> 0x7ffeefbf0df8 M Context>copyTo: 0x14816e2e8: a(n) Context >>>>> 0x7ffeefbf0e40 M Context>copyTo: 0x148749dc0: a(n) Context >>>>> 0x7ffeefbf0e88 M Context>copyTo: 0x14816e210: a(n) Context >>>>> 0x7ffeefbf0ed0 M Context>copyTo: 0x148749ae0: a(n) Context >>>>> 0x7ffeefbf0f18 M Context>copyTo: 0x14816e118: a(n) Context >>>>> 0x7ffeefbdc7c8 M Context>copyTo: 0x148749748: a(n) Context >>>>> 0x7ffeefbdc810 M Context>copyTo: 0x1487495d8: a(n) Context >>>>> 0x7ffeefbdc858 M Context>copyTo: 0x148749468: a(n) Context >>>>> 0x7ffeefbdc8a0 M Context>copyTo: 0x1487492f8: a(n) Context >>>>> 0x7ffeefbdc8e8 M Context>copyTo: 0x14816e040: a(n) Context >>>>> 0x7ffeefbdc930 M Context>copyTo: 0x1487490d0: a(n) Context >>>>> 0x7ffeefbdc978 M Context>copyTo: 0x148748f60: a(n) Context >>>>> 0x7ffeefbdc9c0 M Context>copyTo: 0x148748df0: a(n) Context >>>>> 0x7ffeefbdca08 M Context>copyTo: 0x14816df38: a(n) Context >>>>> 0x7ffeefbdca50 M Context>copyTo: 0x148748bc8: a(n) Context >>>>> 0x7ffeefbdca98 M Context>copyTo: 0x14816de20: a(n) Context >>>>> 0x7ffeefbdcae0 M Context>copyTo: 0x14816eeb8: a(n) Context >>>>> 0x7ffeefbdcb28 M Context>copyTo: 0x1487488e8: a(n) Context >>>>> 0x7ffeefbdcb70 M Context>copyTo: 0x148748778: a(n) Context >>>>> 0x7ffeefbdcbb8 M Context>copyTo: 0x14866e858: a(n) Context >>>>> 0x7ffeefbdcc00 M Context>copyTo: 0x148748550: a(n) Context >>>>> 0x7ffeefbdcc48 M Context>copyTo: 0x1487483e0: a(n) Context >>>>> 0x7ffeefbdcc90 M Context>copyTo: 0x148748270: a(n) Context >>>>> 0x7ffeefbdccd8 M Context>copyTo: 0x148748100: a(n) Context >>>>> 0x7ffeefbdcd20 M Context>copyTo: 0x148676078: a(n) Context >>>>> 0x7ffeefbdcd68 M Context>copyTo: 0x148747ed8: a(n) Context >>>>> 0x7ffeefbdcdb0 M Context>copyTo: 0x148747d68: a(n) Context >>>>> 0x7ffeefbdcdf8 M Context>copyTo: 0x148747bf8: a(n) Context >>>>> 0x7ffeefbdce40 M Context>copyTo: 0x148676280: a(n) Context >>>>> 0x7ffeefbdce88 M Context>copyTo: 0x1487479d0: a(n) Context >>>>> 0x7ffeefbdced0 M Context>copyTo: 0x1487477a8: a(n) Context >>>>> 0x7ffeefbdcf18 M Context>copyTo: 0x148676400: a(n) Context >>>>> 0x7ffeefbda7c8 M Context>copyTo: 0x148747410: a(n) Context >>>>> 0x7ffeefbda810 M Context>copyTo: 0x1486764d8: a(n) Context >>>>> 0x7ffeefbda858 M Context>copyTo: 0x1487471e8: a(n) Context >>>>> 0x7ffeefbda8a0 M Context>copyTo: 0x148747078: a(n) Context >>>>> 0x7ffeefbda8e8 M Context>copyTo: 0x148746f08: a(n) Context >>>>> 0x7ffeefbda930 M Context>copyTo: 0x14873f918: a(n) Context >>>>> 0x7ffeefbda978 M Context>copyTo: 0x148746ce0: a(n) Context >>>>> 0x7ffeefbda9c0 M Context>copyTo: 0x148746b70: a(n) Context >>>>> 0x7ffeefbdaa08 M Context>copyTo: 0x148746a00: a(n) Context >>>>> 0x7ffeefbdaa50 M Context>copyTo: 0x148746890: a(n) Context >>>>> 0x7ffeefbdaa98 M Context>copyTo: 0x148746720: a(n) Context >>>>> 0x7ffeefbdaae0 M Context>copyTo: 0x1487415b8: a(n) Context >>>>> 0x7ffeefbdab28 M Context>copyTo: 0x1487412a8: a(n) Context >>>>> 0x7ffeefbdab70 M Context>copyTo: 0x148746440: a(n) Context >>>>> 0x7ffeefbdabb8 M Context>copyTo: 0x148745088: a(n) Context >>>>> 0x7ffeefbdac00 M Context>copyTo: 0x148746218: a(n) Context >>>>> 0x7ffeefbdac48 M Context>copyTo: 0x1487414e0: a(n) Context >>>>> 0x7ffeefbdac90 M Context>copyTo: 0x148745ff0: a(n) Context >>>>> 0x7ffeefbdacd8 M Context>copyTo: 0x148741670: a(n) Context >>>>> 0x7ffeefbdad20 M Context>copyTo: 0x148744fd0: a(n) Context >>>>> 0x7ffeefbdad68 M Context>copyTo: 0x148745ba0: a(n) Context >>>>> 0x7ffeefbdadb0 M Context>copyTo: 0x148745a30: a(n) Context >>>>> 0x7ffeefbdadf8 M Context>copyTo: 0x148744bd8: a(n) Context >>>>> 0x7ffeefbdae40 M Context>copyTo: 0x148745808: a(n) Context >>>>> 0x7ffeefbdae88 M Context>copyTo: 0x148745698: a(n) Context >>>>> 0x7ffeefbdaed0 M Context>copyTo: 0x148745528: a(n) Context >>>>> 0x7ffeefbdaf18 M Context>copyTo: 0x148744f18: a(n) Context >>>>> 0x7ffeefbe0988 I Context>copyTo: 0x148744e60: a(n) Context >>>>> 0x7ffeefbe09d0 I MessageNotUnderstood(Exception)>freezeUpTo: 0x148744e10: a(n) MessageNotUnderstood >>>>> 0x7ffeefbe0a18 I MessageNotUnderstood(Exception)>freeze 0x148744e10: a(n) MessageNotUnderstood >>>>> 0x7ffeefbe0a48 M [] in GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator >>>>> 0x7ffeefbe0a80 M BlockClosure>cull: 0x1487414c0: a(n) BlockClosure >>>>> 0x7ffeefbe0ac0 M Context>evaluateSignal: 0x148745088: a(n) Context >>>>> 0x7ffeefbe0af8 M Context>handleSignal: 0x148745088: a(n) Context >>>>> 0x7ffeefbe0b30 M Context>handleSignal: 0x148744fd0: a(n) Context >>>>> 0x7ffeefbe0b68 M MessageNotUnderstood(Exception)>signal 0x148744e10: a(n) MessageNotUnderstood >>>>> 0x7ffeefbe0bb8 I GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x148744bc8: a(n) GtDummyExamplesWithInheritanceSubclassB >>>>> 0x7ffeefbe0bf0 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x148741238: a(n) GtExampleEvaluator >>>>> 0x7ffeefbe0c50 M [] in GtExampleEvaluator>basicProcess: 0x148741238: a(n) GtExampleEvaluator >>>>> 0x7ffeefbe0c90 M BlockClosure>ensure: 0x148744c90: a(n) BlockClosure >>>>> 0x7ffeefbe0ce0 M GtExampleEvaluator>basicProcess: 0x148741238: a(n) GtExampleEvaluator >>>>> 0x7ffeefbe0d18 M GtExampleEvaluator(GtExampleProcessor)>process: 0x148741238: a(n) GtExampleEvaluator >>>>> 0x7ffeefbe0d50 M [] in GtExampleEvaluator(GtExampleProcessor)>value 0x148741238: a(n) GtExampleEvaluator >>>>> 0x7ffeefbe0d80 M BlockClosure>on:do: 0x148741598: a(n) BlockClosure >>>>> 0x7ffeefbe0dc0 M GtCurrentExampleContext class>use:during: 0x14c618920: a(n) GtCurrentExampleContext class >>>>> 0x7ffeefbe0e00 M GtExampleEvaluator(GtExampleProcessor)>withContextDo: 0x148741238: a(n) GtExampleEvaluator >>>>> 0x7ffeefbe0e38 M GtExampleEvaluator(GtExampleProcessor)>value 0x148741238: a(n) GtExampleEvaluator >>>>> 0x7ffeefbe0e68 M [] in GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator >>>>> 0x7ffeefbe0e98 M BlockClosure>on:do: 0x148741360: a(n) BlockClosure >>>>> 0x7ffeefbe0ed8 M GtExampleEvaluator>do:on:do: 0x148741238: a(n) GtExampleEvaluator >>>>> 0x7ffeefbe0f20 M GtExampleEvaluator>result 0x148741238: a(n) GtExampleEvaluator >>>>> 0x7ffeefbde8b8 M GtExample>run 0x148740050: a(n) GtExample >>>>> 0x7ffeefbde8e8 M GtExample>result 0x148740050: a(n) GtExample >>>>> 0x7ffeefbde930 I GtExamplesExamplesWithInheritance>resultOfInvalidExampleWithInvalidSuperclassProvider 0x14873f908: a(n) GtExamplesExamplesWithInheritance >>>>> 0x7ffeefbde960 M GtExampleDebugger(GtExampleEvaluator)>primitiveProcessExample:withEvaluationContext: 0x148676210: a(n) GtExampleDebugger >>>>> 0x7ffeefbde9c0 M [] in GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x148676210: a(n) GtExampleDebugger >>>>> 0x7ffeefbdea00 M BlockClosure>ensure: 0x14873f9d0: a(n) BlockClosure >>>>> 0x7ffeefbdea50 M GtExampleDebugger(GtExampleEvaluator)>basicProcess: 0x148676210: a(n) GtExampleDebugger >>>>> 0x7ffeefbdea88 M GtExampleDebugger(GtExampleProcessor)>process: 0x148676210: a(n) GtExampleDebugger >>>>> 0x7ffeefbdeac0 M [] in GtExampleDebugger(GtExampleProcessor)>value 0x148676210: a(n) GtExampleDebugger >>>>> 0x7ffeefbdeaf0 M BlockClosure>on:do: 0x1486764b8: a(n) BlockClosure >>>>> 0x7ffeefbdeb30 M GtCurrentExampleContext class>use:during: 0x14c618920: a(n) GtCurrentExampleContext class >>>>> 0x7ffeefbdeb70 M GtExampleDebugger(GtExampleProcessor)>withContextDo: 0x148676210: a(n) GtExampleDebugger >>>>> 0x7ffeefbdeba8 M GtExampleDebugger(GtExampleProcessor)>value 0x148676210: a(n) GtExampleDebugger >>>>> 0x7ffeefbdebd8 M [] in GtExampleDebugger(GtExampleEvaluator)>result 0x148676210: a(n) GtExampleDebugger >>>>> 0x7ffeefbdec08 M GtExampleDebugger>do:on:do: 0x148676210: a(n) GtExampleDebugger >>>>> 0x7ffeefbdec50 M GtExampleDebugger(GtExampleEvaluator)>result 0x148676210: a(n) GtExampleDebugger >>>>> 0x7ffeefbdec80 M GtExample>debug 0x148188088: a(n) GtExample >>>>> 0x7ffeefbdecb8 M [] in GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport >>>>> 0x7ffeefbdece8 M BlockClosure>on:do: 0x148676130: a(n) BlockClosure >>>>> 0x7ffeefbded38 M [] in GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport >>>>> 0x7ffeefbded70 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time class >>>>> 0x7ffeefbdeda8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time class >>>>> 0x7ffeefbdede8 M BlockClosure>timeToRun 0x14866e910: a(n) BlockClosure >>>>> 0x7ffeefbdee20 M GtExamplesHDReport>beginExample:runBlock: 0x14816dff0: a(n) GtExamplesHDReport >>>>> 0x7ffeefbdee68 M GtExamplesHDReport>runExample: 0x14816dff0: a(n) GtExamplesHDReport >>>>> 0x7ffeefbdeea0 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport >>>>> 0x7ffeefbdeee8 M OrderedCollection>do: 0x14816ee98: a(n) OrderedCollection >>>>> 0x7ffeefbdef20 M [] in GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport >>>>> 0x7ffeefbd8ab0 M [] in CurrentExecutionEnvironment class>activate:for: 0x148a02930: a(n) CurrentExecutionEnvironment class >>>>> 0x7ffeefbd8af0 M BlockClosure>ensure: 0x14816ded8: a(n) BlockClosure >>>>> 0x7ffeefbd8b30 M CurrentExecutionEnvironment class>activate:for: 0x148a02930: a(n) CurrentExecutionEnvironment class >>>>> 0x7ffeefbd8b70 M TestExecutionEnvironment(ExecutionEnvironment)>beActiveDuring: 0x14816ddc0: a(n) TestExecutionEnvironment >>>>> 0x7ffeefbd8ba8 M DefaultExecutionEnvironment>runTestsBy: 0x1489f7da8: a(n) DefaultExecutionEnvironment >>>>> 0x7ffeefbd8be0 M CurrentExecutionEnvironment class>runTestsBy: 0x148a02930: a(n) CurrentExecutionEnvironment class >>>>> 0x7ffeefbd8c18 M GtExamplesHDReport>runAll 0x14816dff0: a(n) GtExamplesHDReport >>>>> 0x7ffeefbd8c48 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport >>>>> 0x7ffeefbd8c80 M Time class>microsecondsToRun: 0x1489fcff0: a(n) Time class >>>>> 0x7ffeefbd8cb8 M Time class>millisecondsToRun: 0x1489fcff0: a(n) Time class >>>>> 0x7ffeefbd8cf8 M BlockClosure>timeToRun 0x14816e0f8: a(n) BlockClosure >>>>> 0x7ffeefbd8d28 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport >>>>> 0x7ffeefbd8d68 M BlockClosure>ensure: 0x14816e1d0: a(n) BlockClosure >>>>> 0x7ffeefbd8da0 M [] in GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport >>>>> 0x7ffeefbd8dd0 M Author>ifUnknownAuthorUse:during: 0x14902a740: a(n) Author >>>>> 0x7ffeefbd8e10 M GtExamplesHDReport>run 0x14816dff0: a(n) GtExamplesHDReport >>>>> 0x7ffeefbd8e48 M GtExamplesHDReport class>runPackage: 0x14c618038: a(n) GtExamplesHDReport class >>>>> 0x7ffeefbd8e80 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x14c618038: a(n) GtExamplesHDReport class >>>>> 0x7ffeefbd8ed0 M [] in Set>collect: 0x15691c088: a(n) Set >>>>> 0x7ffeefbd8f18 M Array(SequenceableCollection)>do: 0x15691c188: a(n) Array >>>>> 0x15691c8e0 s Set>collect: >>>>> 0x15691c998 s GtExamplesHDReport class(HDReport class)>runPackages: >>>>> 0x15691ca90 s [] in GtExamplesCommandLineHandler>runPackages >>>>> 0x15691cb70 s BlockClosure>ensure: >>>>> 0x15691cc50 s UIManager class>nonInteractiveDuring: >>>>> 0x15691cd08 s GtExamplesCommandLineHandler>runPackages >>>>> 0x15691cdc0 s GtExamplesCommandLineHandler>activate >>>>> 0x15691ce78 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>>> 0x15691cf68 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>> 0x15691d048 s BlockClosure>on:do: >>>>> 0x15691d128 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>> 0x15691d200 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>>> 0x15691d2b8 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>>> 0x15691d380 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>> 0x15691d458 s BlockClosure>on:do: >>>>> 0x15691d530 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>> 0x15691d608 s [] in BlockClosure>newProcess >>>>> >>>>> >>>>> (lldb) call dumpPrimTraceLog() >>>>> stringHash:initialHash: >>>>> compare:with:collated: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> primitiveChangeClassTo: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> compare:with:collated: >>>>> primitiveChangeClassTo: >>>>> primitiveChangeClassTo: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> compare:with:collated: >>>>> compare:with:collated: >>>>> stringHash:initialHash: >>>>> compare:with:collated: >>>>> primitiveChangeClassTo: >>>>> primitiveChangeClassTo: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> compare:with:collated: >>>>> compare:with:collated: >>>>> primitiveChangeClassTo: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> compare:with:collated: >>>>> compare:with:collated: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> basicNew: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> perform:withArguments: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> size >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> basicNew >>>>> **StackOverflow** >>>>> perform:withArguments: >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> perform: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> perform:withArguments: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> stringHash:initialHash: >>>>> basicNew >>>>> perform:withArguments: >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> basicNew >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> class >>>>> perform:withArguments: >>>>> value: >>>>> first >>>>> basicNew >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> **StackOverflow** >>>>> basicNew >>>>> perform:withArguments: >>>>> basicNew >>>>> findNextHandlerOrSignalingContext >>>>> tempAt: >>>>> class >>>>> findNextHandlerOrSignalingContext >>>>> tempAt: >>>>> tempAt: >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> **StackOverflow** >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> shallowCopy >>>>> **CompactCode** >>>>> >>>>> >>>>> >>>>>> On 26 Sep 2020, at 23:24, Eliot Miranda wrote: >>>>>> >>>>>> Hi Andrei, >>>>>> >>>>>> fixed in commit 561b06530bbaed5f19e9d7f077a7df9eb3a8d236, VMMaker.oscog-eem.2824 >>>>>> >>>>>> >>>>>> On Fri, Sep 11, 2020 at 8:58 AM Andrei Chis wrote: >>>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> We are getting often crashes on our CI when calling `Context>copyTo:` in a GT image and a vm build from https://github.com/feenkcom/opensmalltalk-vm. >>>>>>> >>>>>>> To sum up during `Context>copyTo:`, `Object>>#copy` is called on a context leading to a segmentation fault crash. Looking at that context in lldb the pc looks off. It has the value `0xfffffffffea7f6e1`. >>>>>>> >>>>>>> (lldb) call (void *) printOop(0x1206b6990) >>>>>>> 0x1206b6990: a(n) Context >>>>>>> 0x1206b6a48 0xfffffffffea7f6e1 0x9 0x1146b2e08 0x1206b6b00 >>>>>>> 0x1206b6b28 0x1206b6b50 >>>>>>> >>>>>>> Can this indicate some corruption or is it expected to have such values? `CoInterpreter>>ensureContextHasBytecodePC:` has code that also handles negative values for the pc which suggests that this might be expected. >>>>>>> >>>>>>> Changing `Context>copyTo:` by adding a `self pc` before calling `self copy` leads to no more crashes. Not sure if there is a reason for that or just plain luck. >>>>>>> >>>>>>> A simple reduced stack is below (more details in this issue [1]). The crash happens always with contexts reified as objects (in this case 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages). >>>>>>> Could this suggest some kind of issue in the vm when reifying contexts, or just some other problem with memory corruption? >>>>>>> >>>>>>> >>>>>>> 0x7ffeefbb4380 M Context(Object)>copy 0x1206b6990: a(n) Context >>>>>>> 0x7ffeefbb43b8 M Context>copyTo: 0x1206b6990: a(n) Context >>>>>>> 0x7ffeefbb4400 M Context>copyTo: 0x1206b5ae0: a(n) Context >>>>>>> ... >>>>>>> 0x7ffeefba6078 M Context>copyTo: 0x110548b28: a(n) Context >>>>>>> 0x7ffeefba60d0 I Context>copyTo: 0x110548a70: a(n) Context >>>>>>> 0x7ffeefba6118 I MessageNotUnderstood(Exception)>freezeUpTo: 0x110548a20: a(n) MessageNotUnderstood >>>>>>> 0x7ffeefba6160 I MessageNotUnderstood(Exception)>freeze 0x110548a20: a(n) MessageNotUnderstood >>>>>>> 0x7ffeefba6190 M [] in GtExampleEvaluator>result 0x110544fb8: a(n) GtExampleEvaluator >>>>>>> 0x7ffeefba61c8 M BlockClosure>cull: 0x110545188: a(n) BlockClosure >>>>>>> 0x7ffeefba6208 M Context>evaluateSignal: 0x110548c98: a(n) Context >>>>>>> 0x7ffeefba6240 M Context>handleSignal: 0x110548c98: a(n) Context >>>>>>> 0x7ffeefba6278 M Context>handleSignal: 0x110548be0: a(n) Context >>>>>>> 0x7ffeefba62b0 M MessageNotUnderstood(Exception)>signal 0x110548a20: a(n) MessageNotUnderstood >>>>>>> 0x7ffeefba62f0 M GtDummyExamplesWithInheritanceSubclassB(Object)>doesNotUnderstand: exampleH 0x1105487d8: a(n) GtDummyExamplesWithInheritanceSubclassB >>>>>>> 0x7ffeefba6328 M GtExampleEvaluator>primitiveProcessExample:withEvaluationContext: 0x110544fb8: a(n) GtExampleEvaluator >>>>>>> ... >>>>>>> 0x7ffeefbe64d0 M [] in GtExamplesHDReport class(HDReport class)>runPackages: 0x1145e41c8: a(n) GtExamplesHDReport class >>>>>>> 0x7ffeefbe6520 M [] in Set>collect: 0x1206b5ab0: a(n) Set >>>>>>> 0x7ffeefbe6568 M Array(SequenceableCollection)>do: 0x1206b5c50: a(n) Array >>>>>>> 0x1206b5b98 s Set>collect: >>>>>>> 0x1206b5ae0 s GtExamplesHDReport class(HDReport class)>runPackages: >>>>>>> 0x1206b6990 s [] in GtExamplesCommandLineHandler>runPackages >>>>>>> 0x1206b6a48 s BlockClosure>ensure: >>>>>>> 0x1206b6b68 s UIManager class>nonInteractiveDuring: >>>>>>> 0x1206b6c48 s GtExamplesCommandLineHandler>runPackages >>>>>>> 0x1206b6d98 s GtExamplesCommandLineHandler>activate >>>>>>> 0x1206b75d0 s GtExamplesCommandLineHandler class(CommandLineHandler class)>activateWith: >>>>>>> 0x1207d2f00 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>>>> 0x1207e6620 s BlockClosure>on:do: >>>>>>> 0x1207f7ab8 s PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: >>>>>>> 0x120809d40 s PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand >>>>>>> 0x12082ca60 s PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: >>>>>>> 0x120789938 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>>>> 0x1207a83e0 s BlockClosure>on:do: >>>>>>> 0x1207b57a0 s [] in PharoCommandLineHandler(BasicCommandLineHandler)>activate >>>>>>> 0x1207bf830 s [] in BlockClosure>newProcess >>>>>>> Cheers, >>>>>>> Andrei >>>>>>> >>>>>>> >>>>>>> [1] https://github.com/feenkcom/gtoolkit/issues/1440 >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> _,,,^..^,,,_ >>>>>> best, Eliot >>>>> >>>> >>>> >>>> -- >>>> _,,,^..^,,,_ >>>> best, Eliot >>> >> >> >> -- >> _,,,^..^,,,_ >> best, Eliot > -------------- next part -------------- An HTML attachment was scrubbed... URL: