Hi Esteban,

On Wed, Dec 5, 2018 at 5:53 AM Esteban Lorenzano <esteba...@gmail.com>
wrote:

> Hi Eliot,
>
> On 5 Dec 2018, at 14:46, Eliot Miranda <eliot.mira...@gmail.com> wrote:
>
> Hi Esteban,
>
> On Aug 7, 2018, at 4:36 AM, Esteban Lorenzano <esteba...@gmail.com> wrote:
>
> I’m slowly working on that VM because we want it to be the default for
> Pharo 8.
> In our vision, it should be a responsibility of the image to start or not
> a graphical UI, so we are preparing (we have been preparing to it for
> years, actually) to achieve this behaviour.
> To make this work, we need all platforms covered (and another huge
> quantity of changes here and there).
> Anyway, I didn’t merge because I wanted to have win64 covered, not just
> what we have now, and since no-one was using that VM I didn’t feel pression
> to do it :)
>
>
> How does that answer Norbert’s question?  By doing the work in your own
> fork you risk forking.  Do you want to fork?  If not, why not do the work
> in opensmalltalk-vm?
>
>
> This is old thing (there is a pull request now, since like 3 weeks).
>

Ah, OK.  I should;d have checked the dates more carefully.


> I worked on my fork because that’s how you do it with git: you fork, you
> work, and you do a Pull Request when ready.
>

I hope you forked opensmalltalk-vm not pharo-vm/opensmalltalk-vm, that's
all.


> I was explaining why the PR was not still done: I wanted to have covered
> the three platforms before doing it.
>
> I guess the terminology is confusing you?
>

I get forking in a single repository.  I also get forking across
repositories.  These are two different things.  I had misunderstood where
you were forking.  I apologize.


>
> Cheers!
> Esteban
>
>
>
> Cheers,
> Esteban
>
>
> On 7 Aug 2018, at 08:50, Norbert Hartl <norb...@hartl.name> wrote:
>
> What keeps you from doing a pull request to opensmalltalk-vm ?
>
> Am 07.08.2018 um 07:47 schrieb Esteban Lorenzano <esteba...@gmail.com>:
>
> Hi Ben,
>
> Sorry for coming here so late, I didn’t see this thread before.
> I already have a working minheadless branch that was adapted to Eliot’s
> process.
> It was working for Pharo in Linux and Mac (Windows was ongoing but not
> finished, that’s why is not pushed).
>
> You can find this branch here:
>
> https://github.com/estebanlm/opensmalltalk-vm/tree/add-minheadless-vm
>
> Interesting part is that I didn’t tackled any of the issues you are
> working on, so the work is easily mergeable :)
>
> Cheers,
> Esteban
>
> Ps: with some changes in image, I’m using exclusively this VM since a
> couple of months and it works fine.
>
>
> On 7 Aug 2018, at 07:22, Ben Coman <b...@openinworld.com> wrote:
>
> On 7 August 2018 at 05:12, Eliot Miranda <eliot.mira...@gmail.com> wrote:
>
>>
>> Hi Ben,
>>
> Feel free to make this edit and commit
>>
>
> I'm pushing changes here...
>
> https://github.com/bencoman/opensmalltalk-vm/tree/MinimalisticHeadless-x64-msvc2017
>
> and the diff can be tracked here...
>
> https://github.com/bencoman/opensmalltalk-vm/compare/MinimalisticHeadless...bencoman:MinimalisticHeadless-x64-msvc2017
>
>
> ------------------------
> On 6 August 2018 at 13:22, Ben Coman <b...@openinworld.com> wrote:
>
>> On 6 August 2018 at 11:50, Ben Coman <b...@openinworld.com> wrote:
>>
>>
>> https://github.com/ronsaldo/opensmalltalk-vm/blob/be7b1c03/platforms/minheadless/windows/sqPlatformSpecific-Win32.c#L80
>>  typedef HRESULT WINAPI (*SetProcessDpiAwarenessFunctionPointer) (int
>> awareness);
>>     C2059 sqPlatformSpecific-Win32.c:80 syntax error: '('
>>     E0651 a calling convention may not be followed by a nested declarator.
>>
>> The following change reduces build errors to 1...
>>   typedef HRESULT (*SetProcessDpiAwarenessFunctionPointer) (int
>> awareness);
>>
>> but I'm not sure of the implications.
>
>
> I found the correct solution to this...
> "The trick is placing the [call declaration] inside the parentheses"
>
> https://stackoverflow.com/questions/4830355/function-pointer-and-calling-convention
>
> i.e. the following compiles cleanly
> typedef HRESULT (WINAPI *SetProcessDpiAwarenessFunctionPointer) (int
> awareness);
>
>
> -----------------------------
> Now running the VM (without parameters) I get...
>    Debug Assertion Failed!
>    Program: ...\x64-Debug\dist\pharo.exe
>    File: minkernel\crts\ucrt\src\appcrt\tran\amd64\ieee.c
>    Line: 106
>    Expression: (mask&~(_MCW_DN | _MCW_EM | _MCW_RC))==0
>
> at the call to _controlfp(FPU_DEFAULT, _MCW_EM | _MCW_RC | _MCW_PC |
> _MCW_IC);
>
> https://github.com/ronsaldo/opensmalltalk-vm/blob/be7b1c03/platforms/minheadless/windows/sqPlatformSpecific-Win32.c#L118
>
>
> According to https://msdn.microsoft.com/en-us/library/e9b52ceh.aspx
> x64 does not support _MCW_PC or _MCW_IC
> but I'm clueless about the implications of these FPU flags.
> Could our math guys please advise?
>
> Eliminating those two flags allows a VM run successfully without loading
> an Image.
> i.e. it successfully passes...
>    osvm_initialize();
>    osvm_parseCommandLineArguments(argc, argv);
>    osvm_initializeVM();
>
> Next is to try loading an Image.
>
> cheers -ben
>
>
>
>
>

-- 
_,,,^..^,,,_
best, Eliot

Reply via email to