Picon
Gravatar

Re: Igor's fast become for CompiledMethods in Cog

 



On Wed, Feb 1, 2012 at 12:28 AM, Eliot Miranda <eliot.miranda <at> gmail.com> wrote:
 


On Tue, Jan 31, 2012 at 3:13 PM, Mariano Martinez Peck <marianopeck <at> gmail.com> wrote:
 


On Tue, Jan 31, 2012 at 11:42 PM, Eliot Miranda <eliot.miranda <at> gmail.com> wrote:
 


On Tue, Jan 31, 2012 at 12:41 PM, Mariano Martinez Peck <marianopeck <at> gmail.com> wrote:
 


On Tue, Jan 31, 2012 at 9:28 PM, Eliot Miranda <eliot.miranda <at> gmail.com> wrote:
(Continue reading)

commits | 2 Feb 01:00
Favicon

VM Maker: VMMaker.oscog-eem.142.mcz


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.142.mcz

==================== Summary ====================

Name: VMMaker.oscog-eem.142
Author: eem
Time: 1 February 2012, 5:51:55.863 pm
UUID: 5b4312fa-5b57-4639-b12d-a45e13e5bbdc
Ancestors: VMMaker.oscog-eem.141

Load function pointer early in ThresdedFFIPlugin's invocation
checking sequence.  This must come early for compatibility with
 the old FFIPlugin.  Image-level code may assume the function
pointer is loaded eagerly.

=============== Diff against VMMaker.oscog-eem.141 ===============

Item was changed:
  ----- Method: ThreadedFFIPlugin>>ffiCall:ArgArrayOrNil:NumArgs: (in category 'callout support') -----
  ffiCall: externalFunction ArgArrayOrNil: argArrayOrNil NumArgs: nArgs
  	"Generic callout. Does the actual work.  If argArrayOrNil is nil it takes args from the stack
  	 and the spec from the method.  If argArrayOrNil is not nil takes args from argArrayOrNil
  	 and the spec from the receiver."
  	| flags argTypeArray address argType oop argSpec argClass err theCalloutState calloutState
requiredStackSize stackSize allocation result |
  	<inline: true>
  	<var: #theCalloutState type: #'CalloutState'>
  	<var: #calloutState type: #'CalloutState *'>
(Continue reading)

commits | 2 Feb 03:03

[commit] r2528 - Load function pointer early in threaded FFI checking sequence, for compatibility


Author: eliot
Date: 2012-02-01 18:03:33 -0800 (Wed, 01 Feb 2012)
New Revision: 2528

Added:
   branches/Cog/platforms/unix/vm/sqUnixITimerHeartbeat.c
   branches/Cog/platforms/unix/vm/sqUnixITimerTickerHeartbeat.c
Modified:
   branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
   branches/Cog/platforms/Cross/vm/sqTicker.c
   branches/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDev.c
   branches/Cog/platforms/unix/vm-display-fbdev/sqUnixFBDevMousePS2.c
   branches/Cog/platforms/unix/vm/sqUnixHeartbeat.c
   branches/Cog/src/plugins/SqueakFFIPrims/SqueakFFIPrims.c
   branches/Cog/unixbuild/bld/mvm
   branches/Cog/unixbuild/mtbld/mvm
Log:
Load function pointer early in threaded FFI checking sequence, for compatibility
with old FFIPlugin.
Make Qwaq ticker support optional, requiring VM_TICKER to enable.  This to
simplify ticker for older linuxes.
Include Michael Zeder's fixes to revive vm-display-fbdev build on linux.
Avoid assuming readlink supports -f flag on linux builds.



Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
(Continue reading)

Eliot Miranda | 2 Feb 21:23
Picon

Re: Igor's fast become for CompiledMethods in Cog

 



On Wed, Feb 1, 2012 at 8:19 AM, Mariano Martinez Peck <marianopeck <at> gmail.com> wrote:
 


On Wed, Feb 1, 2012 at 12:28 AM, Eliot Miranda <eliot.miranda <at> gmail.com> wrote:
 


On Tue, Jan 31, 2012 at 3:13 PM, Mariano Martinez Peck <marianopeck <at> gmail.com> wrote:
 


On Tue, Jan 31, 2012 at 11:42 PM, Eliot Miranda <eliot.miranda <at> gmail.com> wrote:
 


On Tue, Jan 31, 2012 at 12:41 PM, Mariano Martinez Peck <marianopeck <at> gmail.com> wrote:
(Continue reading)

commits | 2 Feb 23:45

[commit] r2529 - Enable building vm-display-fbdev on linux. Exclude fbdev in the newspeak build.


Author: eliot
Date: 2012-02-02 14:45:39 -0800 (Thu, 02 Feb 2012)
New Revision: 2529

Modified:
   branches/Cog/nscogbuild/unixbuild/bld/mvm
   branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
   branches/Cog/platforms/unix/config/configure
   branches/Cog/platforms/unix/config/configure.ac
   branches/Cog/platforms/unix/vm-display-fbdev/Makefile.in
   branches/Cog/unixbuild/HowToBuild
   branches/Cog/unixbuild/bld/mvm
   branches/Cog/unixbuild/mtbld/mvm
Log:
Enable building vm-display-fbdev on linux.  Exclude fbdev in the newspeak build.

Modified: branches/Cog/nscogbuild/unixbuild/bld/mvm
===================================================================
--- branches/Cog/nscogbuild/unixbuild/bld/mvm	2012-02-02 02:03:33 UTC (rev 2528)
+++ branches/Cog/nscogbuild/unixbuild/bld/mvm	2012-02-02 22:45:39 UTC (rev 2529)
@@ -5,7 +5,7 @@
 *)		OPT=-O2;;
 esac

-test -f config.h || ../../../platforms/unix/config/configure --with-src=nscogsrc CFLAGS="-g $OPT
-msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DDEBUGVM=0"
LIBS="-lpthread -luuid"
+test -f config.h || ../../../platforms/unix/config/configure --with-src=nscogsrc
--without-vm-display-fbdev --without-npsqueak CFLAGS="-g $OPT -msse2 -D_GNU_SOURCE -DNDEBUG
(Continue reading)

Igor Stasenko | 3 Feb 14:31
Picon

Re: Igor's fast become for CompiledMethods in Cog


On 2 February 2012 21:23, Eliot Miranda <eliot.miranda <at> gmail.com> wrote:
>
>
>
> On Wed, Feb 1, 2012 at 8:19 AM, Mariano Martinez Peck <marianopeck <at> gmail.com> wrote:
>>
>>
>>
>>
>> On Wed, Feb 1, 2012 at 12:28 AM, Eliot Miranda <eliot.miranda <at> gmail.com> wrote:
>>>
>>>
>>>
>>>
>>> On Tue, Jan 31, 2012 at 3:13 PM, Mariano Martinez Peck <marianopeck <at> gmail.com> wrote:
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Jan 31, 2012 at 11:42 PM, Eliot Miranda <eliot.miranda <at> gmail.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Jan 31, 2012 at 12:41 PM, Mariano Martinez Peck <marianopeck <at> gmail.com> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
(Continue reading)

Eliot Miranda | 3 Feb 19:04
Picon

Re: [Pharo-project] About linkedlist

 



On Fri, Feb 3, 2012 at 6:18 AM, Lukas Renggli <renggli <at> gmail.com> wrote:
>>>> what is the diff between arrayList and vectorList ?
>>>
>>> ArrayList is double ended (very much like OrderedCollection),
>>> VectorList is single ended. I was just experimenting to see if it
>>> makes a difference.
>
> ok. I like to see such kind of experiment.
> Was the name based on something that people use?

No, it is a randomly chosen and meaningless name. I guess in the end
there will only be one named ArrayList, but I am not sure which
implementation is better.

Just a note to the VM developers: The primitive
Array>>#replaceFrom:to:with:startingAt: is absolutely central to the
implementation of efficient collections. While it works well if you
copy from one array to the other, it is broken if source and
destination array are the same and the areas overlap. Would it be
possible to fix this. Even "memmove(void*, void*, size_t)" in C can
handle this situation correctly.

The problems are that the primitive is defined to be destructive, and code could be depending on the destructive update behaviour.  Would it be feasible to use a new primitive that did the right thing in the case of overlap, or do you definitely want to change primitive 105?


>>>> Do you have some kind of high level description of Container explaining the rationale, ideas and approach.
(Continue reading)

Lukas Renggli | 3 Feb 19:25
Picon
Gravatar

Re: Re: [Pharo-project] About linkedlist


>> >>>> what is the diff between arrayList and vectorList ?
>> >>>
>> >>> ArrayList is double ended (very much like OrderedCollection),
>> >>> VectorList is single ended. I was just experimenting to see if it
>> >>> makes a difference.
>> >
>> > ok. I like to see such kind of experiment.
>> > Was the name based on something that people use?
>>
>> No, it is a randomly chosen and meaningless name. I guess in the end
>> there will only be one named ArrayList, but I am not sure which
>> implementation is better.
>>
>> Just a note to the VM developers: The primitive
>> Array>>#replaceFrom:to:with:startingAt: is absolutely central to the
>> implementation of efficient collections. While it works well if you
>> copy from one array to the other, it is broken if source and
>> destination array are the same and the areas overlap. Would it be
>> possible to fix this. Even "memmove(void*, void*, size_t)" in C can
>> handle this situation correctly.
>
> The problems are that the primitive is defined to be destructive, and code could be depending on the
destructive update behaviour.  Would it be feasible to use a new primitive that did the right thing in the
case of overlap, or do you definitely want to change primitive 105?

A new primitive would be prefect. Like this we can even have a nice
fallback in case the VM doesn't have the primitive yet.

Lukas
(Continue reading)

Eliot Miranda | 3 Feb 22:16
Picon

Re: [Pharo-project] Command Line Interface using FFI

 



On Tue, Jan 31, 2012 at 8:35 PM, S Krish <krishnamachari.sudhakar <at> gmail.com> wrote:
I cant get the stdin on FileStream to work. Just blocks irrespective of what I do in sending characters with enter.. or any other trials .. will check a little more

I assure you it does work with the right image-level code.  Here's an interaction with a 3.8/Qwaq derived image on Mac OS:

McStalker.macbuild$ uname -a
Darwin McStalker 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64 i386
McStalker.macbuild$ oscfvm ~/Cog/startreader.image 
squeak> DateAndTime now!
2012-02-03T13:04:24-08:00
squeak> Smalltalk quit!
McStalker.macbuild$ 

On linux:
[eliot <at> mcqfes ~]$ oscogvm/coglinux/squeak Cog/startreader.image 
squeak> Smalltalk quit!
[eliot <at> mcqfes ~]$ uname -a
Linux mcqfes 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST 2009 i686 i686 i386 GNU/Linux
[eliot <at> mcqfes ~]$ oscogvm/coglinux/squeak Cog/startreader.image 
squeak> DateAndTime now!
2012-02-03T13:05:58-08:00
squeak> Smalltalk quit!
[eliot <at> mcqfes ~]$ 
(Continue reading)

commits | 4 Feb 00:02

[commit] r2530 - Add 1007, 1008 & 1009 attribute info to version info on linux, & 1009 on Windows.


Author: eliot
Date: 2012-02-03 15:02:38 -0800 (Fri, 03 Feb 2012)
New Revision: 2530

Modified:
   branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
   branches/Cog/platforms/Mac OS/vm/sqMacMain.c
   branches/Cog/platforms/Mac OS/vm/sqMacUnixCommandLineInterface.c
   branches/Cog/platforms/unix/vm/sqUnixMain.c
   branches/Cog/platforms/win32/vm/sqWin32Intel.c
   branches/Cog/platforms/win32/vm/sqWin32PluginSupport.c
Log:
Add 1007,1008 & 1009 attribute info to version info on linux, & 1009 on Windows.
Add -version option to Mac VM (with similar info to linux).
Fix compilation warning in sqWin32PluginSupport.c

Property changes on: branches/Cog/platforms/Cross/vm/sqSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Thu Feb  2 14:44:43 PST 2012
   + Fri Feb  3 15:01:19 PST 2012

Modified: branches/Cog/platforms/Mac OS/vm/sqMacMain.c
===================================================================
--- branches/Cog/platforms/Mac OS/vm/sqMacMain.c	2012-02-02 22:45:39 UTC (rev 2529)
+++ branches/Cog/platforms/Mac OS/vm/sqMacMain.c	2012-02-03 23:02:38 UTC (rev 2530)
@@ -152,6 +152,7 @@
 extern void dumpPrimTraceLog(void);
 extern BOOL NSApplicationLoad(void);
(Continue reading)


Gmane