Closed Bug 513909 Opened 11 years ago Closed 8 years ago

Make JS build with VC7.1

Categories

(Core :: JavaScript Engine, defect)

x86
Windows XP
defect
Not set

Tracking

()

RESOLVED WONTFIX

People

(Reporter: neil, Assigned: neil)

Details

Attachments

(4 files, 1 obsolete file)

...by working around VC7.1's lack of support for varadic macros again.
* In jscntxt.h, define and use LabelMap
* In jsscan.cpp, fallback on getc
* In jstracer.h, define js_LogController
* In nanojit.h, define Nano* macros outside of the namespace
* In nanojit.h, don't include commas in macro arguments
Attached patch Proposed patchSplinter Review
I considered making verbose_arg add the comma i.e.
#define verbose_arg(x) , x
compile(foo, bar, baz verbose_arg(x));
I also wasn't sure whether my changes from DEBUG to JS_JIT_SPEW were correct.
Assignee: general → neil
Status: NEW → ASSIGNED
Attachment #397855 - Flags: review?(graydon)
It turns out that VC7 can't explicitly construct arrays. This isn't a problem except in one edge case - compiling a completely empty function body (for instance, the body of the "fireActiveItemEvent" in richlistbox.xml). In this case the token stream never gets initialised which confuses the compiler.
Attachment #398212 - Flags: review?(graydon)
Sorry for extra patch... this affects VC7.1 debug only; the value is set in a debug_only_stmt (which is commented out for varadic macro reasons) and JS_ASSERT is compiled out in release builds which is why nobody else hits it.
Attachment #398219 - Flags: review?(graydon)
Attached patch proposed patch (obsolete) — Splinter Review
(with cygwin patch of Bug 456924 mixed but it should not affect those not using cygwin build environment, sorry about that.)
Attachment #408382 - Flags: review?(graydon)
(with cygwin patch of Bug 456924 mixed but it should not affect those not using
cygwin build environment, sorry about that.)
Attachment #408382 - Attachment is obsolete: true
Attachment #408382 - Flags: review?(graydon)
Neil, are you still working on this?
(In reply to Ryan VanderMeulen from comment #6)
> Neil, are you still working on this?

This was only targeted at Gecko 1.9.x anyway.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
Comment on attachment 397855 [details] [diff] [review]
Proposed patch

Long dead, clearing out queue.
Attachment #397855 - Flags: review?(graydon)
Comment on attachment 398212 [details] [diff] [review]
Fix compilation of empty functions

Long dead, clearing out queue.
Attachment #398212 - Flags: review?(graydon)
Comment on attachment 398219 [details] [diff] [review]
Don't test debug_only_stmt assertion

Long dead, clearing out queue.
Attachment #398219 - Flags: review?(graydon)
You need to log in before you can comment on or make changes to this bug.