Build Goanna without SSE2?

Talk about code development, features, specific bugzilla bugs, enhancements, patches, and other highly technical things.

Moderator: satrow

Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific referenced Bugzilla bugs, mercurial, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Most "bug reports" do not belong in this board and should initially be posted in Community Support or other relevant support boards.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
roytam1
Fanatic
Fanatic
Posts: 143
Joined: Wed, 11 Mar 2015, 07:01
Location: Hong Kong

Build Goanna without SSE2?

Unread postby roytam1 » Wed, 29 Nov 2017, 03:39

I wonder if people can build Goanna without SSE2 using MSVC?

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 22415
Joined: Sun, 28 Aug 2011, 17:27
Location: 58.5°N 15.5°E
Contact:

Re: Build Goanna without SSE2?

Unread postby Moonchild » Wed, 29 Nov 2017, 08:59

Potentially, by adding -arch:IA32 to --enable-optimize={{flags}}
Improving Mozilla code: You know you're on the right track with code changes when you spend the majority of your time deleting code.

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne

Mercury
Fanatic
Fanatic
Posts: 203
Joined: Fri, 01 Nov 2013, 23:26
Location: Toronto, Canada

Re: Build Goanna without SSE2?

Unread postby Mercury » Wed, 29 Nov 2017, 12:26

In theory, yes. From my experience with PM v26, the "--enable-optimize" option isn't quite enough. There's something deep in the build process that ignores it. I also set the "CL" variable. You can see my old .mozconfig file here. The key lines are:

Code: Select all

export CL="-O2 -arch:SSE"
ac_add_options --enable-optimize="-O2 -GL -GS- -fp:precise -Qfast_transcendentals -Qpar -arch:SSE"

roytam1
Fanatic
Fanatic
Posts: 143
Joined: Wed, 11 Mar 2015, 07:01
Location: Hong Kong

Re: Build Goanna without SSE2?

Unread postby roytam1 » Wed, 29 Nov 2017, 12:36

Mercury wrote:In theory, yes. From my experience with PM v26, the "--enable-optimize" option isn't quite enough. There's something deep in the build process that ignores it. I also set the "CL" variable. You can see my old .mozconfig file here. The key lines are:

Code: Select all

export CL="-O2 -arch:SSE"
ac_add_options --enable-optimize="-O2 -GL -GS- -fp:precise -Qfast_transcendentals -Qpar -arch:SSE"


Since pm26 is fx24esr based and pm27 is fx38esr based, I don't know if mozpeople will make use of SSE(2) with inline assembly or .asm/.s files. Some people says binary don't run on their Athlon XP/Pentium M but I can't test it as I don't have such systems now.

User avatar
New Tobin Paradigm
Knows the dark side
Knows the dark side
Posts: 4771
Joined: Tue, 09 Oct 2012, 19:37

Re: Build Goanna without SSE2?

Unread postby New Tobin Paradigm » Wed, 29 Nov 2017, 13:06

Application vs Platform unless you are talking about Quantum, This needs to be observed. Saying Pale Moon 27 is or was based on Firefox 38 is wholly incorrect because ONE Pale Moon 27's application specific code is drived from Pale Moon 26 which orginate mostly from Firefox 24esr but Pale Moon 27 builds on the platform we codenamed Tycho which is derived from Mozilla/gecko 38esr and TWO I physically obliterated Firefox 38's specific code from Tycho before I ported Pale Moon to it.

So you would properly say some platform components in Tycho are force built with sse2 as defined deeper in the codebase by the build files.

As an aside I have come to retroactively call the platform codebase that started life out as esr24, that Pale Moon 24 to 26 built on, the "liberation" codebase cause i like to name things.

Also see: http://xref.palemoon.org/palemoon-trunk/search?string=sse2
Image

== We got to install microwave ovens / Custom kitchen deliveries / We got to move these refrigerators / We got to move these color TVs ==
http://binaryoutcast.com/ | http://thereisonlyxul.org/

roytam1
Fanatic
Fanatic
Posts: 143
Joined: Wed, 11 Mar 2015, 07:01
Location: Hong Kong

Re: Build Goanna without SSE2?

Unread postby roytam1 » Wed, 29 Nov 2017, 14:14

If "based on fx38esr" hurts you, I can replace it with "based on xulrunner38esr" instead.

User avatar
New Tobin Paradigm
Knows the dark side
Knows the dark side
Posts: 4771
Joined: Tue, 09 Oct 2012, 19:37

Re: Build Goanna without SSE2?

Unread postby New Tobin Paradigm » Wed, 29 Nov 2017, 14:33

roytam1 wrote:If "based on fx38esr" hurts you, I can replace it with "based on xulrunner38esr" instead.


XUL Runner is merely an application Like Firefox, Basilisk, or Pale Moon (although nothing more than a stub it is treated as an application never the less). So that would also be incorrect. Dunno why people have such issues with the concept or take issue with me explaining it.. Maybe I should go back to obeying my soft-ban if no one is gonna find my unique insight and practical experience of any value. Nah go ahead of continue to cloud the issue and confuse people with misconceptions and falsehoods.

Peace.
Image

== We got to install microwave ovens / Custom kitchen deliveries / We got to move these refrigerators / We got to move these color TVs ==
http://binaryoutcast.com/ | http://thereisonlyxul.org/

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 22415
Joined: Sun, 28 Aug 2011, 17:27
Location: 58.5°N 15.5°E
Contact:

Re: Build Goanna without SSE2?

Unread postby Moonchild » Thu, 30 Nov 2017, 17:58

@roytam1: please take the following as gospel from now on and stop preaching anything else to your congregation:

Pale Moon 24-26 is based on our diverging fork of Firefox 24ESR, which shares ancestral code with 24ESR (but is not equal to, because of previous application code development since 4.0), and is otherwise its own development.
Pale Moon 27 is based on Tycho, which is a hybrid of a collection of code from Mozilla 24 to 42 (roughly, more is back-ported from Mozilla code up to the current nightlies). Pale Moon's application code has nothing to do with Firefox 38, nor Xulrunner (which is just a platform shell application), nor ESR of any version of Firefox from that time.
Pale Moon 28 will be based on UXP, which will be a hybrid platform as well with no direct equal to Mozilla code at any specific point in time. More will be taken here from the Mozilla book to get a coherent unit of DOM+JS, discarding some of our previous work to move forward, but it will still have NO application code from Firefox-whatever version (unlike Basilisk).
Improving Mozilla code: You know you're on the right track with code changes when you spend the majority of your time deleting code.

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne

roytam1
Fanatic
Fanatic
Posts: 143
Joined: Wed, 11 Mar 2015, 07:01
Location: Hong Kong

Re: Build Goanna without SSE2?

Unread postby roytam1 » Tue, 05 Dec 2017, 01:20

Moonchild wrote:Potentially, by adding -arch:IA32 to --enable-optimize={{flags}}

Alright I tried and it works even in emulator which has only 486-class CPU.

User avatar
Fedor2
Astronaut
Astronaut
Posts: 558
Joined: Mon, 11 Apr 2016, 01:26

Re: Build Goanna without SSE2?

Unread postby Fedor2 » Mon, 22 Jan 2018, 22:53

roytam1 did you tried arch:sse?
Once i tried to build with it and it was failing.
you may want to know that arch:ia32 was still used on firefox 45, but on 52 are became sse2.


Return to “Development (discussion)”

Who is online

Users browsing this forum: No registered users and 4 guests