itsme213 | 1 Nov 01:47
Picon

Is there a pre-compiled 3.10 based 64-bit VM for OSX 10.5.x?

Thanks -- Sophie 

itsme213 | 1 Nov 01:49
Picon

Re: Is there a pre-compiled 3.10 based 64-bit VM for OSX10.5.x?

Specifically for Intel, on the Core-2 Duo machines ...

"itsme213" <itsme213 <at> hotmail.com> wrote in message 
news:geg8va$ql4$1 <at> ger.gmane.org...
> Thanks -- Sophie
>
>
>
> 

lists | 1 Nov 06:08

Re: OmniBrowser error

Are you using VM 3.10? It seems FreeType only works when your image is running on version 3.10 of the VM.
Just a thought.

Taun

----- Original Message -----
From: "David Röthlisberger" <squeak <at> webcitas.ch>
To: "The general-purpose Squeak developers list" <squeak-dev <at> lists.squeakfoundation.org>
Sent: Thursday, October 30, 2008 5:05:05 AM GMT -05:00 US/Canada Eastern
Subject: Re: [squeak-dev] OmniBrowser error

Hi Mark,

I'm not aware of an issue using FreeType and OmniBrowser together. Best is when you 
open a Mantis entry for the issue you encounter. Please provide precise information 
about which versions of OB and FreeType you are using. If you can upload an image 
somewhere containing the error, this would be perfect.

Cheers,
David

> When I type new code in OmniBrowser, I'm getting the error below. 
> Strange. I've been using this for over a month and never encountered 
> this before. Ah! I see something interesting now. I just installed 
> FreeType yesterday. That's in the stack trace. Is there a known issue 
> with FreeType and OmniBrowser?

Mark Volkmann | 1 Nov 16:17
Favicon
Gravatar

primitives

Where can I read about the standard primitives in Squeak? I can find  
lots of resources on writing my own primitives, but I want to know  
what the existing ones do. For example, I'm looking at the "new"  
method in Behavior and I see "<primitive: 70>". Where can I find a  
description of that does? Is there an easy way to find the  
corresponding C source code?

---
Mark Volkmann

nicolas cellier | 1 Nov 16:29

Re: primitives

Mark Volkmann a écrit :
> Where can I read about the standard primitives in Squeak? I can find 
> lots of resources on writing my own primitives, but I want to know what 
> the existing ones do. For example, I'm looking at the "new" method in 
> Behavior and I see "<primitive: 70>". Where can I find a description of 
> that does? Is there an easy way to find the corresponding C source code?
> 
> ---
> Mark Volkmann
> 
> 
> 

I forgot the links, but search for Smalltalk blue book at Stephane 
Ducasse site.

If you load VMMaker, you will have the code for most of these primitives 
in Smalltalk pseudo-C code (slang). Most of C "source" is in fact 
generated from that.

Nicolas

Yoshiki Ohshima | 1 Nov 16:41
Gravatar

Re: primitives

At Sat, 1 Nov 2008 10:17:38 -0500,
Mark Volkmann wrote:
> 
> Where can I read about the standard primitives in Squeak? I can find  
> lots of resources on writing my own primitives, but I want to know  
> what the existing ones do. For example, I'm looking at the "new"  
> method in Behavior and I see "<primitive: 70>". Where can I find a  
> description of that does?

  For "new", you would probably like to know the object and object
memory format as well.  So, reading the related sections in:

http://www.google.com/search?q=squeak+back+to+the+future

would help.  Then, the source is the best "resource".  Install the
VMMaker and look at the Interpreter class>>initializePrimitiveTable.
It says primitive 70 is primitiveNew.  So browse the implementor(s) of
primitiveNew and you see what it does.

Or, you can view the versions up to when the Interpreter was still
maintained in the image at:

http://tinlizzie.org:8080/seaside/examples/authorship2

check off the "show only existing" box, and navigate to Interpreter
and navigate to primitiveNew.  You see the code with diffs.

> Is there an easy way to find the  
> corresponding C source code?

(Continue reading)

David T. Lewis | 1 Nov 18:52
Picon
Favicon

Re: primitives

On Sat, Nov 01, 2008 at 08:41:16AM -0700, Yoshiki Ohshima wrote:
> At Sat, 1 Nov 2008 10:17:38 -0500,
> Mark Volkmann wrote:
> > 
> > Is there an easy way to find the  
> > corresponding C source code?
> 
>   The best thing is to generate the C code by yourself from VMMaker,
> but just to get the feel of it, go to:
> 
> http://squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/src/vm/interp.c?rev=1870&view=auto
> 
> and search for primitiveNew.
> 

Also, if you want to browse the generated C code within the image, you can use
SlangBrowser:
   http://wiki.squeak.org/squeak/5916

This will let you view the C code directly in Squeak browsers, with and without
method inlining. In other words, you can look at the #primitiveNew method as it
is written in Smalltalk, switch to a "translate to C" view to see the same
method translated to C, then switch to a "translate inlined C" view to see the
effect of method inlining (this is how the function will appear in the generated
interp.c file).

Dave

John M McIntosh | 1 Nov 19:13

Re: primitives


On Nov 1, 2008, at 8:17 AM, Mark Volkmann wrote:

> Where can I read about the standard primitives in Squeak? I can find  
> lots of resources on writing my own primitives, but I want to know  
> what the existing ones do. For example, I'm looking at the "new"  
> method in Behavior and I see "<primitive: 70>". Where can I find a  
> description of that does? Is there an easy way to find the  
> corresponding C source code?
>
> ---
> Mark Volkmann

As mentioned the VM is built from Slang code, but it requires some  
platform specific code to interact with the
operating system, there is now some documentation at  http://isqueak.org/PlatformVMAP

Of course if you don't have an operating system http://sourceforge.net/projects/squeaknos/

--
= 
= 
= 
========================================================================
John M. McIntosh <johnmci <at> smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
= 
= 
= 
========================================================================
(Continue reading)

Eliot Miranda | 1 Nov 20:12
Picon

SparseLargeTable

Hi All,


    SparseLargeTable appears not to be sparse at all.  If you look at SparseLargeTable>>initChunkSize:size:arrayClass:base:defaultValue: you'll see tat each bin is initialized with an instance of the base class rather than being filled lazily.  Further, instead of pvtNoCheckAt:put: lazily creating an entry in each bin as needed it simply throws away the write if the bin is empty.  Instead the usage pattern is to create fully-populated instances and then make them sparse by sending zapDefaultOnlyEntries.

It seems to me that SparseLargeTable>>initChunkSize:size:arrayClass:base:defaultValue: should leave bins empty until pvtNoCheckAt:put: puts other than the default value.  Since I want to create a sparse table with 2^32 entries the existing approach won't work.

I wondered whether anyone else had already fixed this or whether there's a good reason not to lazily initialize.

Best
Eliot

Yoshiki Ohshima | 1 Nov 22:49
Gravatar

Re: SparseLargeTable

At Sat, 1 Nov 2008 12:12:21 -0700,
Eliot Miranda wrote:
> 
> [1  <multipart/alternative (7bit)>]
> [1.1  <text/plain; ISO-8859-1 (7bit)>]
> 
> [1.2  <text/html; ISO-8859-1 (7bit)>]
> Hi All,
> 
>     SparseLargeTable appears not to be sparse at all.  If you look at SparseLargeTable>>
> initChunkSize:size:arrayClass:base:defaultValue: you'll see tat each bin is initialized with an
instance of the base
> class rather than being filled lazily.  Further, instead of pvtNoCheckAt:put: lazily creating an entry
in each bin as
> needed it simply throws away the write if the bin is empty.  Instead the usage pattern is to create fully-populated
> instances and then make them sparse by sending zapDefaultOnlyEntries.

  Correct.  As you saw, it is designed for the usage pattern of
creating a read-only table once.

> It seems to me that SparseLargeTable>>initChunkSize:size:arrayClass:base:defaultValue: should
leave bins empty
> until pvtNoCheckAt:put: puts other than the default value.  Since I want to create a sparse table with 2^32
entries the
> existing approach won't work.

  Ah ha.

> I wondered whether anyone else had already fixed this or whether there's a good reason not to lazily initialize.

  I'm not aware of anybody who fixed.  Well, if you need to hold 2^32
entries, you should do whatever it takes and doing the lazy
initialization seems to be good...

-- Yoshiki


Gmane