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

Fix compilation of fullblock closures #4492

Conversation

tesonep
Copy link
Collaborator

@tesonep tesonep commented Sep 4, 2019

Taking all the changes I have done to fix some of the problems.

@MarcusDenker
@StevenCostiou
@guillep

Adding number of reserved literals, as they are different between methods and blocks.
Fixing compiled code and block to have default implementations of operations in CompiledMethod.
@MarcusDenker MarcusDenker reopened this Sep 4, 2019
@Ducasse
Copy link
Member

Ducasse commented Sep 4, 2019

Ouch not build passes.

@Ducasse Ducasse closed this Sep 4, 2019
@Ducasse Ducasse reopened this Sep 4, 2019
@Ducasse
Copy link
Member

Ducasse commented Sep 4, 2019

None of the builds built.

and we have + ./pharo Pharo.image test --junit-xml-output --stage-name=Tests-osx-32 '.*'
2019-09-04 14:10:08.641 Pharo[21139:507] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to /var/folders/w0/nn_htp7n6ddcydvkv21hjzhc0000gn/T/org.pharo.Pharo.savedState
2019-09-04 14:10:08.892 Pharo[21139:507] 14:10:08.892 ERROR: [0xa146e1a8] AQMEIO.cpp:377: _FindIOUnit: error -66680
2019-09-04 14:10:08.892 Pharo[21139:507] 14:10:08.892 ERROR: [0xa146e1a8] >aq> AudioQueueObject.cpp:1590: Prime: failed (-66680); will stop (5512/0 frames)
2019-09-04 14:10:08.893 Pharo[21139:507] 14:10:08.893 ERROR: [0xa146e1a8] AQMEIO.cpp:377: _FindIOUnit: error -66680
2019-09-04 14:10:08.893 Pharo[21139:507] 14:10:08.893 ERROR: [0xa146e1a8] >aq> AudioQueueObject.cpp:1590: Prime: failed (-66680); will stop (33075/0 frames)

@MarcusDenker
Copy link
Member

There is a conflict, so the build builds the old version without the fix that was merged yesterday

@Ducasse
Copy link
Member

Ducasse commented Sep 6, 2019

ouch 99 broken tests, so what do we do?

@MarcusDenker
Copy link
Member

a lot of them are the decompiler. The decompiler does not yet support fullblock closures.

@MarcusDenker MarcusDenker added the Status: Need more work The issue is nearly ready. Waiting some last bits. label Sep 7, 2019
@Ducasse
Copy link
Member

Ducasse commented Sep 7, 2019

So how do we proceed?
Do we have a doc, comment, description of the new blockclosure?

@MarcusDenker
Copy link
Member

I will first make a list of all failing tests. (I will run the tests a couple of times, some seem to not be related)

I already saw that some tests in MethodMapTest are failing, I will look at those next

@MarcusDenker
Copy link
Member

The crash on linux might be due to a not up-to-date implementation of #rfEnsure:, I did a PR to fix it: #4542

(when it is integrated I will close/reopen this PR so we build with the fix included)

@MarcusDenker
Copy link
Member

There are more problems with this method... I will continue to debug.

@Ducasse
Copy link
Member

Ducasse commented Sep 10, 2019

It would be nice to see if we can pair program because I would like to learn the decompiler.

@MarcusDenker
Copy link
Member

Yes, let's plan do so some pair programming from next week on on this

@Ducasse
Copy link
Member

Ducasse commented Sep 11, 2019

I cannot wednesday afternoon (CST thomas)and thursday full afternoon

@MarcusDenker MarcusDenker reopened this Sep 11, 2019
@MarcusDenker
Copy link
Member

The Reflectivity related crash is now fixed. This is a cleaned up list of the failing test:

FFI:

testCqsort – Unix32.UnifiedFFI.Tests.Tests.FFICallbackTest
testCqsortWithByteArray – Unix32.UnifiedFFI.Tests.Tests.FFICallbackTest

Debugger:

testInterruptedContext – Unix32.Debugger.Tests.DebugSessionContexts2Test
testContextsAfterStepInto – Unix32.Debugger.Tests.DebugSessionContexts2Test
testStepThrough – Unix32.Debugger.Tests.StepThroughTest

Decompiler:
- FBDDecompilerTest
- OCBytecodeDecompilerExamplesTest

Fuel:
- FLBlockClosureSerializationTest

Opal (Mapping):

testExampleTempNamedTempVectorNestedBlock – Unix32.OpalCompiler.Tests.Misc.MethodMapTest
testSourceMappingBlock – Unix32.OpalCompiler.Tests.Misc.MethodMapTest
testDNU – Unix32.OpalCompiler.Tests.Misc.MustBeBooleanTest

Misc:

testAllExamples – Unix32.Hiedra.Tests.Model.HiExamplesTest
testTerminatingBlockedCriticalSectionShouldNotUnblockAnotherWaitingSection –
Unix32.Kernel.Tests.Extended.Processes.MutexTest
testClosureRestart – Unix32.Kernel.Tests.Methods.ContextTest
testMixedMethod – Unix32.Kernel.Tests.Processes.LocalRecursionStopperTest
testPointersTo – Unix32.Kernel.Tests.Objects.ProtoObjectTest
testPointersToCycle – Unix32.Kernel.Tests.Objects.ProtoObjectTest
testMixedMethod – Unix32.Kernel.Tests.Processes.RecursionStopperTest
testInCriticalWait – Unix32.Kernel.Tests.Processes.SemaphoreTest
testMethodsEnumeration – Unix32.Calypso.SystemPlugins.Traits.Queries.Tests.ClyTraitUserScopeTest
testMethodsEnumerationWhenBothMetaLevels – Unix32.Calypso.SystemPlugins.Traits.Queries.Tests.ClyTraitUserScopeTest

@stale
Copy link

stale bot commented Oct 2, 2019

It is hard to review old PRs so this PR has been marked as stale since there has been no activity the last 20 days. It will be closed in 10 days if no further activity occurs. A simple comment will reactivate the PR, but please also consider updating the PR to the latest SNAPSHOT build to make it easier for reviewers.

@stale stale bot added the stale label Oct 2, 2019
@MarcusDenker MarcusDenker removed the stale label Oct 9, 2019
@MarcusDenker
Copy link
Member

I suggest to do these things:

  1. commit all but the setup change. I will make a new PR for that.

  2. do the switch to the Sista bytemode backend first without new blocks.

  3. then we make a new PR for testing the change to new blocks

@Ducasse
Copy link
Member

Ducasse commented Oct 9, 2019

Gogogo

@MarcusDenker
Copy link
Member

I have made a PR with all the image level changes: #5076

I will close this and open a new one for actually testing making it default.

@tesonep tesonep deleted the fix-compilation-of-fullblock-closures branch August 26, 2021 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Need more work The issue is nearly ready. Waiting some last bits.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants