Closed
Bug 750694
Opened 12 years ago
Closed 12 years ago
halfmoon does not compile on windows
Categories
(Tamarin Graveyard :: Optimizing JIT, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
Q3 12 - Dolores
People
(Reporter: brbaker, Assigned: wmaddox)
References
Details
Attachments
(3 files)
16.20 KB,
patch
|
Details | Diff | Splinter Review | |
18.77 KB,
patch
|
throdrig
:
review+
|
Details | Diff | Splinter Review |
1.50 KB,
patch
|
pnkfelix
:
review+
|
Details | Diff | Splinter Review |
Compiling halfmoon enabled shell on windows and windows64 fails with the following error: nanojit\Allocator.h(126) : error C2512: 'halfmoon::TypeKey' : no appropriate default constructor available build/rules.mk:62: recipe for target `halfmoon/hm-instrgraph.obj' failed This happens either with the current tip of tamarin and using the --enable-halfmoon switch, or using the initial checkin of the halfmoon code (rev 7316:a6cded0538e7) and adding -DAVMFEATURE_HALFMOON=1 to the Makefile
Reporter | ||
Updated•12 years ago
|
Flags: flashplayer-qrb?
Updated•12 years ago
|
Assignee: nobody → wmaddox
Status: NEW → ASSIGNED
Flags: flashplayer-qrb? → flashplayer-qrb+
Target Milestone: --- → Q3 12 - Dolores
Comment 1•12 years ago
|
||
changeset: 7385:7324cae3a421 user: Brent Baker <brbaker@adobe.com> summary: Bug 750694: do not try to compile halfmoon on windows in the deep phase of the build as it currently doesn't compile and is causing the build to fail (r+brbaker) http://hg.mozilla.org/tamarin-redux/rev/7324cae3a421
Reporter | ||
Comment 2•12 years ago
|
||
Bump, this needs to be fixed so that we can start building and testing the halfmoon code in the sandbox and in the main tamarin-redux Jenkins builders.
Assignee | ||
Comment 3•12 years ago
|
||
Work in progress -- builds ok in local builds of 32-bit Windows, Linux, MacOSX.
Assignee | ||
Comment 4•12 years ago
|
||
This is a bit unpolished and some follow-up is warranted, but I'd like to get this going in automated builds before messing around with it anymore.
Attachment #648596 -
Flags: review?(throdrig)
Reporter | ||
Comment 5•12 years ago
|
||
(In reply to William Maddox from comment #4) > Created attachment 648596 [details] [diff] [review] > Build fixes for Win32, Linux, and ARM-architecture platforms > > This is a bit unpolished and some follow-up is warranted, but I'd like to > get this going in automated builds before messing around with it anymore. Patch is really close to compiling release and debug-debugger on all platforms. These are the current holdouts (Android and WindowsRT): ** Android: debug-debugger build ** cc1plus: warnings being treated as errors ../halfmoon/hm-typeanalyzer.cpp: In function 'bool halfmoon::isCastCall(halfmoon::Lattice*, const halfmoon::Type*, uint32_t, const halfmoon::Type**)': ../halfmoon/hm-typeanalyzer.cpp:627: error: logical '&&' with non-zero constant will always evaluate as true cc1plus: warnings being treated as errors ../halfmoon/hm-check.cpp: In member function 'bool halfmoon::TypeChecker::do_default(halfmoon::Instr*)': ../halfmoon/hm-check.cpp:245: error: logical '&&' with non-zero constant will always evaluate as true ** WindowsRT ** ../halfmoon/hm-deoptimizer.cpp(522) : error C2220: warning treated as error - no 'object' file generated ../halfmoon/hm-deoptimizer.cpp(522) : warning C4244: 'return' : conversion from 'nanojit::NIns' to 'uint8_t', possible loss of data ../build/rules.mk:62: recipe for target `halfmoon/hm-deoptimizer.obj' failed
Comment 6•12 years ago
|
||
In NativeARM.cpp, there isn't really a bug but the optimizer isn't able to figure it out. dm may be uninitialzed if !qwordPrecision and !ARM_VFP and there's an assert that guards against case, so that path should never be reached. Initializing it seems ok to fix the warning but I think you should drop the comment. Any reason not to simply delete the FIXME stuff in Deopt-CL.cpp? Otherwise it looks like. Even without the changes it looks ok.
Comment 7•12 years ago
|
||
(In reply to Brent Baker from comment #5) > (In reply to William Maddox from comment #4) > > Created attachment 648596 [details] [diff] [review] > > Build fixes for Win32, Linux, and ARM-architecture platforms > > > > This is a bit unpolished and some follow-up is warranted, but I'd like to > > get this going in automated builds before messing around with it anymore. > > Patch is really close to compiling release and debug-debugger on all > platforms. These are the current holdouts (Android and WindowsRT): > > ** Android: debug-debugger build ** > cc1plus: warnings being treated as errors > ../halfmoon/hm-typeanalyzer.cpp: In function 'bool > halfmoon::isCastCall(halfmoon::Lattice*, const halfmoon::Type*, uint32_t, > const halfmoon::Type**)': > ../halfmoon/hm-typeanalyzer.cpp:627: error: logical '&&' with non-zero > constant will always evaluate as true This is trying to null test a GCMember which is an object. Converting it to != NULL would probably make the message go away. > cc1plus: warnings being treated as errors > ../halfmoon/hm-check.cpp: In member function 'bool > halfmoon::TypeChecker::do_default(halfmoon::Instr*)': > ../halfmoon/hm-check.cpp:245: error: logical '&&' with non-zero constant > will always evaluate as true This is trying to null check a reference, so it probably needs to be &use != NULL. > > ** WindowsRT ** > ../halfmoon/hm-deoptimizer.cpp(522) : error C2220: warning treated as error > - no 'object' file generated > ../halfmoon/hm-deoptimizer.cpp(522) : warning C4244: 'return' : conversion > from 'nanojit::NIns' to 'uint8_t', possible loss of data This should just be cast to uint8_t for the moment. There's a big abuse of NIns going here as noted in the comments. // Pointer to next byte to be written. // TODO: Fix abuse of NIns*. NIns* mdins_; I can give these a try in the shelf builder > ../build/rules.mk:62: recipe for target `halfmoon/hm-deoptimizer.obj' failed
Comment 8•12 years ago
|
||
The android build is done with these fixes but windows rt is still working. it should be done soon.
Attachment #648780 -
Flags: review?(wmaddox)
Comment 9•12 years ago
|
||
(In reply to Tom Rodriguez from comment #8) > Created attachment 648780 [details] [diff] [review] > android and windowsrt fixes > > The android build is done with these fixes but windows rt is still working. > it should be done soon. Actually I suspect it didn't build it right since it will require some configuration changes to build halfmoon by default, which I don't have. So the patch should be right but it will require confirmation.
Reporter | ||
Comment 10•12 years ago
|
||
(In reply to Tom Rodriguez from comment #9) > Actually I suspect it didn't build it right since it will require some > configuration changes to build halfmoon by default, which I don't have. So > the patch should be right but it will require confirmation. I tweaked the sandbox for you change and resubmitted the build. It looks good but I have to wait for the WIndowsRT build to finish another build to know for certain that it is compiling cleanly. I'll inform Dan Schaffer about the change that I made so that he can revert it once your build is complete (and later commit the change once the code fix is checked in)
Comment 11•12 years ago
|
||
Comment on attachment 648780 [details] [diff] [review] android and windowsrt fixes (swipe; I think even I can vouch for these changes.)
Attachment #648780 -
Flags: review?(wmaddox) → review+
Reporter | ||
Comment 12•12 years ago
|
||
(In reply to Brent Baker from comment #10) > I tweaked the sandbox for you change and resubmitted the build. It looks > good but I have to wait for the WIndowsRT build to finish another build to > know for certain that it is compiling cleanly. I'll inform Dan Schaffer > about the change that I made so that he can revert it once your build is > complete (and later commit the change once the code fix is checked in) Update: Halfmoon compilation of release and debug-debugger has completed on all supported platforms with the latest code changes.
Comment 13•12 years ago
|
||
Fixed as CL 1096510.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Comment 15•12 years ago
|
||
changeset: 7523:5b15da1e8285 user: Tom Rodriguez <throdrig@adobe.com> summary: 750694: halfmoon does not compile on windows (p=wmaddox, r=fklockii, r=throdrig) http://hg.mozilla.org/tamarin-redux/rev/5b15da1e8285
Updated•12 years ago
|
Attachment #648596 -
Flags: review?(throdrig) → review+
Comment 16•12 years ago
|
||
I enabled compiling halfmoon in jenkins for all shell platforms ( debug and release). I added running release halfmoon acceptance tests for desktop platforms. They all pass but I assume this is due to halfmoon falling back to interp.
You need to log in
before you can comment on or make changes to this bug.
Description
•