Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add vector engine plugin #578

Closed
wants to merge 8 commits into from
Closed

Add vector engine plugin #578

wants to merge 8 commits into from

Conversation

dtlewis290
Copy link
Contributor

Update the VMMaker build scripts to add a repository for VectorEnginePlugin, using a squeaksource mirror of Juan's repository for convenience. Development source for VectorEnginePlugin is Packages/Features/VectorEnginePlugin.pck.st from repository https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev.

Disable compiler optimization for VectorEnginePlugin. For gcc this is not an issue, but with llvm any compiler optimization
results in a broken plugin (various symptoms). Add -O0 to XCFLAGS in makefile.inc to override any previous definition of -O in CFLAGS.

Not included in this PR: VectorEnginePlugin needs to be added to various plugin.ext files. So far I have tested only X86 Linux, so this should be the subject of separate updates.

David T. Lewis added 6 commits July 25, 2021 19:36
Update the VMMaker build scripts to add a repository for VectorEnginePlugin,
using a squeaksource mirror of Juan's repository for convenience. Development
source for VectorEnginePlugin is Packages/Features/VectorEnginePlugin.pck.st
from repository https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev.
For gcc this is not an issue, but with llvm any compiler optimization
results in a broken plugin (various symptoms). Add -O0 to XCFLAGS
in makefile.inc to override any previous definition of -O in CFLAGS.
@dtlewis290
Copy link
Contributor Author

I went ahead an added the generated source VectorEnginePlugin.c and updated the plugins.ext for most Linux configurations.

@dtlewis290
Copy link
Contributor Author

As far as I can tell this is a safe update. If no objections, I'll merge it a couple of days from now.

@KenDickey
Copy link
Contributor

Juan Vuletich reports testing with VectorEnginePLugin:

"I've tried it on MacOS, Ubuntu X64 and Windows X64, running on a fast I9 MacBook. Also tried Dave's 32 bit interpreter for Linux X64 on the same machine. I also tried Win 32 on a 2010 Atom netbook. All them run fine."

Looks good to integrate into "platforms/Cross/plugins"

@dtlewis290
Copy link
Contributor Author

Prompted by notes from Marcel, I realize that I made a mistake in the patch I did for the VMMaker build scripts. I want to withdraw those update until I can check with Eliot as to how best to handle Cuis underscore assignment characters when loading the plugin from either Cuis GitHub or the separate squeaksource mirror of the Cuis GitHub repository. For this reason I am going to close this pull request. I will cherry-pick the actual C source commits so that these will be available for general use.

@dtlewis290 dtlewis290 closed this Aug 8, 2021
@KenDickey
Copy link
Contributor

Confirm current is working with:

build.linux64ARMv8/squeak.stack.spur/build/mvm clean on Aarch64 Chromebook 2
and
build.linux32ARMv6/squeak.cog.spur/build/mvm clean on Raspberry Pi 3.

Thanks much!!
-KenD

hogoww referenced this pull request in hogoww/opensmalltalk-vm Dec 25, 2021
hogoww referenced this pull request in hogoww/opensmalltalk-vm Dec 25, 2021
…thod [ markAndShouldScan: ] KILLED by 1/10 test cases.
eliotmiranda added a commit that referenced this pull request Feb 11, 2022
Primitive suspend: revert the semantics of #88 to Andreas' revision in the early
2000's.  #88 removes a process from a condition variable, allowing subsequently
resumed processes to get past their condition variable.  This is a bug, but
there are images (noably Qwaq/Teleplace/Virtend) which depend on this behaviour.
Provide #568 (primitiveSuspendBackingUpV1) which backs up a process waiting on a
condition variable to the send that invoked the wait primitive, and which
answers that list. Provide #578 (primitiveSuspendBackingUpV2) which backs up a
process waiting on a condition variable to the send that invoked the wait
primitive, but in which case answers nil. The presence of the three primitives
is indicated by bit 5 of the cogVMFeatureFlags.

DeflatePlugin: the update primitives can run on the Smalltalk stack.

Add the FileDialogPlugin from Qwaq/Teleplace/Virtend.
hogoww referenced this pull request in hogoww/opensmalltalk-vm Feb 26, 2022
hogoww referenced this pull request in hogoww/opensmalltalk-vm Feb 26, 2022
…thod [ attemptToShrink ] 4/10 Test Cases are NOT EQUIVALENT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants