runVMTests on sparc (Debug build) fails in a few places. If someone
familiar with the internals could point me towards places in the
source code to look at to investigate the problems, that would be very
RelWithDbgInfo fails during creation of the world with "must cross
stacks" assertion in frame::make_full_frame_on_user_stack()
For this month's online presentation, Yoshiki Ohshima will demonstrate the
Croquet Microverse ( https://croquet.io/ ), which is a 3D collaborative
construction environment. It is an incarnation of Smalltalk-based Croquet
to collaboratively create new objects in a virtual space, and describe
their behaviors in the live programming manner that can be used by
The object extension mechanism used in the Microverse is heavily influenced
by past class and object extension mechanisms, many of which originated
from experimentation and implementation in Smalltalk. Likewise, the
architecture of the Microverse application framework draws upon other
frameworks such as Morphic and AppKit. Yoshiki will explain the connections
between those systems and the Microverse.
Yoshiki ( https://tinlizzie.org/ohshima/ ) joined Walt Disney Imagineering
R&D in 2000 as an intern while attending the graduate school of Tokyo
Institute of Technology, and helped develop prototypes of Disney's theme
park attractions. He also has been involved in Alan Kay's research group,
and participated in the research and development effort of education
programming environment Squeak Etoys and later took the leading role.
Yoshiki has worked at the Viewpoints Research Institute, SAP Labs CDG, and
Y Combinator Research, all of which Dr. Kay founded or helped found. He was
awarded his PhD. for designing and implementing a massively parallel
particle programming system from Tokyo Institute of Technology.
This will be an online meeting from home.
If you'd like to join us, please sign up in advance on the meeting's Meetup
page ( https://www.meetup.com/ukstug/events/292570084/ ) to receive the
The SPARC port required just a few trivial clean up commits and one
straightforward change to support NetBSD ucontext_t (different names)
to get built on NetBSD/sparc. Haven't tried GUI yet, but the basic
world seems to build.
There is just one serious issue - in the intervening years the SPARC
ABI reserved %g7 for system use and it's currently used for
thread-local storage block pointer. The default malloc implementation
on NetBSD always uses TLS, so it relies on that %g7 not being
clobbered. The self compiler uses %g7 for the stack limit
(SPLimitReg). I'm currently cheating by using a libc with a
different, more simple malloc implementation that doesn't use TLS.
The compiler needs to be modified to move SPLimitReg to a different
register at the cost of losing one temp, I guess.