Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
October 2014
- 94 participants
- 1300 messages
compiled method inspector
by Nicolai Hess
The new inspector extensions for compiled methods are GREAT.
I noticed some of them are in package GT-Inspector-Extensions-Core
and some are in OpalTools.
With the symbolic bytecode tab the other bytecode tab is not needed
anymore, right?
nicolai
Oct. 16, 2014
Playground and its current usability in Pharo4.0 Latest update: #40307
by Torsten Bergmann
While I like that GTTools are in Pharo 4 now (thanks!!!) and allow all kind of neat
things I basically ask myself if we forgot to remember usability on a few
places:
1. the world menu item "Workspace" opens a window "Playground" including also
a tab with the same name "Playground".
=> CONFUSING
I would suggest that we rename the window "Workspace" and keep "Playground"
for the initial tab. This is easy to fix and would also fulfill the expectation
when a beginner grabbed an existing Smalltalk or Pharo book.
2. While in all UI interfaces (Windows, Linux, Mac) the order in the context menu
is "Cut", "Copy", "Paste" the playground menu uses a different order "Copy", "Cut" "Paste".
=> CONFUSING again
I would suggest to use the well known order "Cut","Copy","Paste".
3. When one uses "Inspect it" from the context menu it means
- to run the code
- and the resulting object is then "inspectable" in a new window
On the other side "Do it and go" from the context menu means
- to run the code
- and the resulting object is then "inspectable" in a new pane (but same window)
The intention of both menu items and also the result is the same, but the naming
is different ("go" vs. "inspect"). But the only notable difference is that in one case the
inspectable object is opening right to the existing pane in the other case a new
window is opened.
=> CONFUSING and inconsistent
This is harder to solve. Possible solutions are:
3a. We keep the "inspect" concept and name the menu items "Do and Inspect it" and "Inspect in new window"
3b. We keep "Do it" as before to run the code, also "Inspect it" which opens the new pane to the
left in the same window. If someone wants to open a new inspector window he should keep SHIFT key pressed
while running "Inspect it". This is a concept known from web browsers and other tools today, clicking on
a link while pressing SHIFT opens a new window.
4. The icons in the context menu of Playground are not the same as the ones in the Pharo browsers.
=> CONFUSING and inconsistent
They are just black and if one switches to the Pharo dark theme they stay black and therefore
looking ugly and make nearly no sense on the dark grey menu background.
For now we should use the known icons that we already have. Maybe currently they are hardcoded and may
conflict with Moose vs. Pharo icons - but this could be solved with the Icon Theming.
(In the long term I would like to see scalable icons in Pharo menues (instead of bitmaps) similar to
"Fontawesome" in web browsers (two colors) or SVG based ones (more colors) as currently the icon does
not scale when changing the menue font size).
Sorry if it sound like a rant - but the intention of this mail is that we discuss
(and hopefully fix) in order to improve.
Maybe it is written too early after the initial integration, but I think the mentioned
points should be easy to address. Unfortunately I'm additionally confused with the changed
contribution process that has exceptions for specific packages like GT to fix it
myself with the usualy bugs/slice cycle.
Thanks
T.
Oct. 16, 2014
Re: [Pharo-dev] Context variables?
by J.F. Rick
Thanks. Will do.
Jeff
On Wed, Oct 15, 2014 at 11:34 AM, Camille Teruel <camille.teruel(a)gmail.com>
wrote:
> Hi Jeff,
>
> I think you should look at DynamicVariable and ProcessSpecificVariable
> classes. The first one is a read-only while the second is writable.
> You have to subclass these class for each variable you want.
>
> Ex:
> DynamicVariable subclass: #MyVar.
> MyVar value: 4 during: [ MyVar value ]
>
> HTH,
> Camiile
>
>
> On 15 oct. 2014, at 17:09, J.F. Rick <self(a)je77.com> wrote:
>
> I remember there was some discussion on the list about support for
> variables tied to the context rather than to the instance or class. This
> seems particularly useful for a web application where you might want to
> access the request and response from the context. What is the proper name
> for these kind of variables and where can I read about how to use them?
>
> Cheers,
>
> Jeff
>
> --
> Jochen "Jeff" Rick, Ph.D.
> http://www.je77.com/
> Skype ID: jochenrick
>
>
>
--
Jochen "Jeff" Rick, Ph.D.
http://www.je77.com/
Skype ID: jochenrick
Oct. 16, 2014
Re: [Pharo-dev] Some methods missing in Behavior
by Marcus Denker
This is is fixed in Pharo4... is this important enough for a back port?
If yes, please submit a slice...
On Sat, Oct 11, 2014 at 10:22 AM, Marcus Denker <marcus.denker(a)inria.fr>
wrote:
>
> On 10 Oct 2014, at 15:25, Marcus Denker <marcus.denker(a)inria.fr> wrote:
>
>
> On 10 Oct 2014, at 14:36, jdelgado(a)lsi.upc.edu wrote:
>
> Yes, evaluate:
>
> (Behavior new) compile: 'thisIsATest ^2'
>
> ah, that indeed should work⦠I will check and fix it in Pharo3 and Pharo4
>
>
> For Pharo4:
>
> https://pharo.fogbugz.com/f/cases/14215/Fix-for-Behavior-new-compile
>
--
--
Marcus Denker -- denker(a)acm.org
http://www.marcusdenker.de
Oct. 16, 2014
[pharo-project/pharo-core]
by GitHub
Branch: refs/tags/40308
Home: https://github.com/pharo-project/pharo-core
Oct. 16, 2014
[pharo-project/pharo-core] 59c34d: 40308
by GitHub
Branch: refs/heads/4.0
Home: https://github.com/pharo-project/pharo-core
Commit: 59c34db35428e6688d27a182ab1bc4195fb13d53
https://github.com/pharo-project/pharo-core/commit/59c34db35428e6688d27a182…
Author: Jenkins Build Server <board(a)pharo-project.org>
Date: 2014-10-16 (Thu, 16 Oct 2014)
Changed paths:
M OpalCompiler-Core.package/AbstractCompiler.class/class/settings/compilerSettingsOn_.st
M OpalCompiler-Core.package/CCompilationContext.class/class/initialize/initialize.st
M OpalCompiler-Core.package/CCompilationContext.class/instance/accessing/bytecodeGeneratorClass.st
M OpalCompiler-Core.package/CompilationContext.class/class/initialize/initialize.st
M OpalCompiler-Core.package/CompilationContext.class/instance/accessing/bytecodeGeneratorClass.st
A OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/results/addProperties_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/README.md
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/class/initialize/bytecodeTableFrom_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/class/initialize/initializeBytecodeTable.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/class/initialize/initializeSpecialConstants.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/class/initialize/specialConstants.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/definition.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/blockReturnTop.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/popTop.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushConsArray_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushDup.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushInstVar_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushLiteralVariable_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushLiteral_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushNewArray_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushReceiver.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushRemoteTemp_inVectorAt_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushTemp_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushThisContext.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/returnConstant_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/returnInstVar_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/returnReceiver.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/returnTop.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/send_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/send_toSuperOf_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storeInstVar_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storeIntoLiteralVariable_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storePopInstVar_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storePopIntoLiteralVariable_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storePopRemoteTemp_inVectorAt_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storePopTemp_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storeRemoteTemp_inVectorAt_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storeTemp_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/private/closureFrom_to_copyNumCopiedValues_numArgs_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/private/jumpBackward_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/private/jumpForward_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/private/jump_if_.st
A OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/instance/results/quickMethodPrim.st
M OpalCompiler-Core.package/IRBytecodeDecompiler.class/instance/quick methods/quickMethod.st
M OpalCompiler-Core.package/IRSistaV1BytecodeGenerator.class/instance/results/compiledMethodWith_.st
A OpalCompiler-Core.package/IRSpurSqueakV3PlusClosuresBytecodeGenerator.class/README.md
A OpalCompiler-Core.package/IRSpurSqueakV3PlusClosuresBytecodeGenerator.class/definition.st
A OpalCompiler-Core.package/IRSpurSqueakV3PlusClosuresBytecodeGenerator.class/instance/accessing/hasPrimitive.st
A OpalCompiler-Core.package/IRSpurSqueakV3PlusClosuresBytecodeGenerator.class/instance/initialize/initialize.st
A OpalCompiler-Core.package/IRSpurSqueakV3PlusClosuresBytecodeGenerator.class/instance/initialize/irPrimitive_.st
A OpalCompiler-Core.package/IRSpurSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/checkTooManyLiterals_.st
A OpalCompiler-Core.package/IRSpurSqueakV3PlusClosuresBytecodeGenerator.class/instance/results/compiledMethodWith_.st
M OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/README.md
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/class/initialize/bytecodeTableFrom_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/class/initialize/initializeBytecodeTable.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/class/initialize/initializeSpecialConstants.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/class/initialize/specialConstants.st
M OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/definition.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/blockReturnTop.st
A OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/checkTooManyLiterals_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/popTop.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushConsArray_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushDup.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushInstVar_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushLiteralVariable_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushLiteral_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushNewArray_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushReceiver.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushRemoteTemp_inVectorAt_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushTemp_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/pushThisContext.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/returnConstant_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/returnInstVar_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/returnReceiver.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/returnTop.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/send_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/send_toSuperOf_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storeInstVar_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storeIntoLiteralVariable_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storePopInstVar_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storePopIntoLiteralVariable_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storePopRemoteTemp_inVectorAt_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storePopTemp_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storeRemoteTemp_inVectorAt_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/instructions/storeTemp_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/private/closureFrom_to_copyNumCopiedValues_numArgs_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/private/jumpBackward_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/private/jumpForward_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/private/jump_if_.st
M OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/results/compiledMethodWith_.st
R OpalCompiler-Core.package/IRSqueakV3PlusClosuresBytecodeGenerator.class/instance/results/quickMethodPrim.st
A OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/helper/newBytecodeGen.st
A OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/helper/testMethod_against_.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - errors/testPushRemoteTempInVectorAtOutOfRange.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - errors/testPushRemoteTempOutOfRangeInVectorAt.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - errors/testStoreRemoteTempInVectorAtOutOfRange.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - errors/testStoreRemoteTempOutOfRangeInVectorAt.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - execution/testClosureExample.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - execution/testExample.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - execution/testExample2.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testBlockReturnTop.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testGoTo.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testGoToIf.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testIfGoTo.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testIfGoToOtherWise.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testLabel.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPopTop.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPushClosureCopyNumCopiedValuesNumArgsTo.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPushConsArray.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPushDup.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPushInstVar.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPushLiteral.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPushLiteralVariable.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPushNewArray.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPushReceiver.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPushRemoteTempInVectorAt.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPushTemp.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testPushThisContext.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testReturnConstant.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testReturnInstVar.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testReturnReceiver.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testReturnTop.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testSend.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testSendToSuperOf.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testStoreInstVar.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testStoreIntoLiteralVariable.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testStoreLiteralVariable.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testStorePopInstVar.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testStorePopIntoLiteralVariable.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testStorePopRemoteTempInVectorAt.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testStorePopTemp.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testStoreRemoteTempInVectorAt.st
M OpalCompiler-Tests.package/OCBytecodeGeneratorTest.class/instance/tests - instructions/testStoreTemp.st
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - scripts/script308.st
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - updates/update40308.st
M ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
Log Message:
-----------
40308
14218 Opal should be able to compile methods for SqueakV3PlusClosure and Spur
https://pharo.fogbugz.com/f/cases/14218
http://files.pharo.org/image/40/40308.zip
Oct. 16, 2014
Re: [Pharo-dev] [squeak-dev] Re: [Pharo-users] Trouble opening large files
by Nicolai Hess
done: 14250 <https://pharo.fogbugz.com/default.asp?14250> Enable large file
support on linux
2014-10-16 9:03 GMT+02:00 Nicolai Hess <nicolaihess(a)web.de>:
> I'll open an issue.
>
>
>
> 2014-10-15 8:46 GMT+02:00 stepharo <stepharo(a)free.fr>:
>
>> Do we create an issue for the Pharo-vm?
>>
>> Stef
>>
>>
>> On 14/10/14 21:29, Nicolai Hess wrote:
>>
>> Ah, good to know. At least for squeak,
>> bug 7522 can be closed :)
>>
>> Nicolai
>>
>> 2014-10-14 20:49 GMT+02:00 Eliot Miranda <eliot.miranda(a)gmail.com>:
>>
>>> Hi Nicolai,
>>>
>>> On Tue, Oct 14, 2014 at 11:26 AM, Nicolai Hess <nicolaihess(a)web.de>
>>> wrote:
>>>
>>>> There is a bug report on mantis for squeaks unix vm.
>>>> I think this applies to pharo too, although I don't know if this
>>>> bug is still valid on recent squeak vm.
>>>>
>>>> http://bugs.squeak.org/view.php?id=7522
>>>>
>>>
>>> yes, one must compile with -D_FILE_OFFSET_BITS=64. The Cog VMs are
>>> also built with -D_GNU_SOURCE.
>>>
>>> Here's a line from a Squeak file list on the current Cog VM:
>>>
>>> (2014.10.11 07:00:46 7,115,143,880)
>>> Formula1.2014.Round16.Russia.Qualifying.BBCOneHD.1080i.H264.English-wserhkzt.ts
>>>
>>> No 32-bit limit here.
>>>
>>>
>>>>
>>>> 2014-10-14 17:43 GMT+02:00 Evan Donahue <emdonahu(a)gmail.com>:
>>>>
>>>>> The OS is Arch Linux.
>>>>>
>>>>> I can read the file with less.
>>>>>
>>>>> The problem, insofar as I can trace it, seems to stem from this line
>>>>> in UnixStore:
>>>>>
>>>>> Primitives lookupDirectory: encodedPath filename: encodedBasename
>>>>>
>>>>> When I have my 57G file there this line returns nil. If I move the
>>>>> 57G file and create a small file with the same name, the same command
>>>>> successfully finds the file. I am not sure how large a file must be to
>>>>> cause this issue, but A 1.5G file works fine.
>>>>>
>>>>> On Tue, Oct 14, 2014 at 8:17 AM, Nicolai Hess <nicolaihess(a)web.de>
>>>>> wrote:
>>>>>
>>>>>> 2014-10-14 6:38 GMT+02:00 Evan Donahue <emdonahu(a)gmail.com>:
>>>>>>
>>>>>>> Hi, thanks for the reply.
>>>>>>>
>>>>>>> The response is the same: "MessageNotUnderstood:
>>>>>>> False>>humanReadableSIByteSize."
>>>>>>>
>>>>>>> This happens both to print-it as well as to do-it-and-go. Running
>>>>>>> the command on the neighboring "wiki.torrent" torrent file yields the
>>>>>>> correct 54kb.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Evan
>>>>>>>
>>>>>>> On Tue, Oct 14, 2014 at 12:24 AM, Tudor Girba <tudor(a)tudorgirba.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> If I understand correctly, the failure occurs while navigating in
>>>>>>>> the "Items" presentation.
>>>>>>>>
>>>>>>>> I cannot reproduce this problem because I do not have enough disk
>>>>>>>> space for such a large file :). But, could you do the following and let me
>>>>>>>> know what the outcome is:
>>>>>>>>
>>>>>>>> 'path/to/your/large/file.xml' asFileReference humanReadableSize
>>>>>>>>
>>>>>>>> ?
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Doru
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Oct 14, 2014 at 2:27 AM, Evan Donahue <emdonahu(a)gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hello, I've run into some odd behavior and wanted to check
>>>>>>>>> whether I might be missing something:
>>>>>>>>>
>>>>>>>>> I have downloaded a copy of the english wikipedia as an xml file
>>>>>>>>> and am hoping to (sax) parse it. However, I can't even seem to get pharo to
>>>>>>>>> recognize that the file exists.
>>>>>>>>>
>>>>>>>>> If I open FileSystem disk root in the playground and naigate,
>>>>>>>>> attempting to enter the folder containing the (57G) xml file fails with
>>>>>>>>> "MessageNotUnderstood: False>>humanReadableSIByteSize." Likewise if I get a
>>>>>>>>> FileReference with FileSystem disk root / 'path' / 'to' / 'file' then self
>>>>>>>>> exists returns false and the parser fails.
>>>>>>>>>
>>>>>>>>> Am I doing something wrong? Should I be able to do this?
>>>>>>>>>
>>>>>>>>> The version number is #40283
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Evan
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> www.tudorgirba.com
>>>>>>>>
>>>>>>>> "Every thing has its own flow"
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> Which OS ?
>>>>>> Can you check with other programs if this file is readable at all?
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Nicolai
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> best,
>>> Eliot
>>>
>>
>>
>>
>
Oct. 16, 2014
Re: [Pharo-dev] [squeak-dev] Re: [Pharo-users] Trouble opening large files
by Nicolai Hess
I'll open an issue.
2014-10-15 8:46 GMT+02:00 stepharo <stepharo(a)free.fr>:
> Do we create an issue for the Pharo-vm?
>
> Stef
>
>
> On 14/10/14 21:29, Nicolai Hess wrote:
>
> Ah, good to know. At least for squeak,
> bug 7522 can be closed :)
>
> Nicolai
>
> 2014-10-14 20:49 GMT+02:00 Eliot Miranda <eliot.miranda(a)gmail.com>:
>
>> Hi Nicolai,
>>
>> On Tue, Oct 14, 2014 at 11:26 AM, Nicolai Hess <nicolaihess(a)web.de>
>> wrote:
>>
>>> There is a bug report on mantis for squeaks unix vm.
>>> I think this applies to pharo too, although I don't know if this
>>> bug is still valid on recent squeak vm.
>>>
>>> http://bugs.squeak.org/view.php?id=7522
>>>
>>
>> yes, one must compile with -D_FILE_OFFSET_BITS=64. The Cog VMs are
>> also built with -D_GNU_SOURCE.
>>
>> Here's a line from a Squeak file list on the current Cog VM:
>>
>> (2014.10.11 07:00:46 7,115,143,880)
>> Formula1.2014.Round16.Russia.Qualifying.BBCOneHD.1080i.H264.English-wserhkzt.ts
>>
>> No 32-bit limit here.
>>
>>
>>>
>>> 2014-10-14 17:43 GMT+02:00 Evan Donahue <emdonahu(a)gmail.com>:
>>>
>>>> The OS is Arch Linux.
>>>>
>>>> I can read the file with less.
>>>>
>>>> The problem, insofar as I can trace it, seems to stem from this line
>>>> in UnixStore:
>>>>
>>>> Primitives lookupDirectory: encodedPath filename: encodedBasename
>>>>
>>>> When I have my 57G file there this line returns nil. If I move the 57G
>>>> file and create a small file with the same name, the same command
>>>> successfully finds the file. I am not sure how large a file must be to
>>>> cause this issue, but A 1.5G file works fine.
>>>>
>>>> On Tue, Oct 14, 2014 at 8:17 AM, Nicolai Hess <nicolaihess(a)web.de>
>>>> wrote:
>>>>
>>>>> 2014-10-14 6:38 GMT+02:00 Evan Donahue <emdonahu(a)gmail.com>:
>>>>>
>>>>>> Hi, thanks for the reply.
>>>>>>
>>>>>> The response is the same: "MessageNotUnderstood:
>>>>>> False>>humanReadableSIByteSize."
>>>>>>
>>>>>> This happens both to print-it as well as to do-it-and-go. Running
>>>>>> the command on the neighboring "wiki.torrent" torrent file yields the
>>>>>> correct 54kb.
>>>>>>
>>>>>> Thanks,
>>>>>> Evan
>>>>>>
>>>>>> On Tue, Oct 14, 2014 at 12:24 AM, Tudor Girba <tudor(a)tudorgirba.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> If I understand correctly, the failure occurs while navigating in
>>>>>>> the "Items" presentation.
>>>>>>>
>>>>>>> I cannot reproduce this problem because I do not have enough disk
>>>>>>> space for such a large file :). But, could you do the following and let me
>>>>>>> know what the outcome is:
>>>>>>>
>>>>>>> 'path/to/your/large/file.xml' asFileReference humanReadableSize
>>>>>>>
>>>>>>> ?
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Doru
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Oct 14, 2014 at 2:27 AM, Evan Donahue <emdonahu(a)gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hello, I've run into some odd behavior and wanted to check
>>>>>>>> whether I might be missing something:
>>>>>>>>
>>>>>>>> I have downloaded a copy of the english wikipedia as an xml file
>>>>>>>> and am hoping to (sax) parse it. However, I can't even seem to get pharo to
>>>>>>>> recognize that the file exists.
>>>>>>>>
>>>>>>>> If I open FileSystem disk root in the playground and naigate,
>>>>>>>> attempting to enter the folder containing the (57G) xml file fails with
>>>>>>>> "MessageNotUnderstood: False>>humanReadableSIByteSize." Likewise if I get a
>>>>>>>> FileReference with FileSystem disk root / 'path' / 'to' / 'file' then self
>>>>>>>> exists returns false and the parser fails.
>>>>>>>>
>>>>>>>> Am I doing something wrong? Should I be able to do this?
>>>>>>>>
>>>>>>>> The version number is #40283
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Evan
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> www.tudorgirba.com
>>>>>>>
>>>>>>> "Every thing has its own flow"
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> Which OS ?
>>>>> Can you check with other programs if this file is readable at all?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Nicolai
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>
>> --
>> best,
>> Eliot
>>
>
>
>
Oct. 16, 2014
Re: [Pharo-dev] OSProcess in 3.0
by David T. Lewis
On Tue, Oct 14, 2014 at 09:35:44PM +0200, Thierry Goubier wrote:
>
>
> Le 14/10/2014 14:15, David T. Lewis a ?crit :
> >On Tue, Oct 14, 2014 at 07:19:10AM +0200, Thierry Goubier wrote:
> >>Hi Dave,
> >>
> >>took me a while to do some testing. It seems there is an issue, but I
> >>couldn't find out where. First, the data:
> >>
> >>Loading a package from a local gitfiletree repository (get from the
> >>command a zipped git archive containing the package) :
> >>
> >>4.5.11, 4.6.8: 2132 msec.
> >>4.5.12, 4.6.9: 50847 msec.
> >>
> >>I tried to rewrite the main command, remove the closePipes, etc... No
> >>change in the runtime, so your right.
> >>
> >>Profiling doesn't help much: execution time is mostly idle time (but
> >>with a significant increase on PipeableOSProcess commands: goes from
> >>invisible to 2700 ms. A user break in the middle shows it delay waiting
> >>on output of the external process).
> >>
> >>Only hint I could see is that it seems to be linked with the size of the
> >>output of the command.
> >
> >Thierry,
> >
> >Aha! I am quite sure that you have located the problem. There must be
> >something preventing the OS process from running to completion with
> >a larger amount of output data. It definitely sounds like a bug in my
> >latest update to Pipeable OSProcess.
>
> The strange thing is that it runs to completion (i.e. I got no errors;
> if any data was missing or corrupted on output, my load would fail); but
> a lot slower than it should be.
>
> >Thank you very much for finding this. I will get it fixed as quickly
> >as I can.
>
> Thanks. I'm unable to help you much, I'm afraid :(
Thierry,
I do not yet have a solution to this, but I have been able to confirm
that the performance difference that you see is primarily associated with
the AioPlugin not being present in your VM.
When I changed PipeableOSProcess to handle pipe handle closing properly,
I used a buffered output stream that is driven by aio events. When data
is available to be read from the external OS process, an aio notification
pulls the available data into the buffered stream, and when no more data
is available, the pipe (file) handles are closed.
If the plugin is not present in the VM, I provided a polling mechanism
to read data from the external OS process. Apparently this is very
inefficient, and I am sure it could be greatly improved. That is the
cause of the extremely slow performance that you are seeing.
So in summary: The enhancement to PipeableOSProcess relies on an aio
event driven reader, and if the AIO plugin is missing, the fallback code
relies on polling, and is horribly inefficient.
More to follow, and thank you again for identifying the problem.
If you can convice your VM vendor to include AioPlugin in your VM, that
would be helpful also ;-)
Dave
Oct. 15, 2014
Re: [Pharo-dev] [Screencast] Using ZnLogEvents and GT Tools to look at HTTP traffic behind Monticello
by Sven Van Caekenberghe
On 15 Oct 2014, at 21:57, phil(a)highoctane.be wrote:
> Nice!
>
> I'll try the Announcers thing on a Seaside session.
>
> How would you do that? I mean DynamicVariables in GT.
>
> âPhil
I am not sure I understand the question.
I did/do Announcement based logging in Seaside, just firing them globally. But I did add a session ID to each log event so that you can keep them apart.
My custom WASession subclass adds its #key and #username to the log event objects.
I'll send you some example output in private.
Sven
Oct. 15, 2014