Last Comment Bug 470791 - SpiderMonkey long long emulation (JSLL stuff in jslong.h) is no longer necessary
: SpiderMonkey long long emulation (JSLL stuff in jslong.h) is no longer necessary
Status: RESOLVED FIXED
fixed-in-tracemonkey
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
: -- normal (vote)
: mozilla7
Assigned To: Jeff Walden [:Waldo] (remove +bmo to email)
:
Mentors:
Depends on: 465640
Blocks:
  Show dependency treegraph
 
Reported: 2008-12-22 10:27 PST by Jim Blandy :jimb
Modified: 2011-06-20 17:06 PDT (History)
3 users (show)
bob: in‑testsuite-
bob: in‑litmus-
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Rewrite all JSLL_* macro users, remove jslong.h and all its #includes (15.44 KB, patch)
2011-06-08 16:50 PDT, Jeff Walden [:Waldo] (remove +bmo to email)
jimb: review+
Details | Diff | Review
Adjust PRMJ_Now to be readable (1.30 KB, patch)
2011-06-08 16:51 PDT, Jeff Walden [:Waldo] (remove +bmo to email)
jimb: review+
Details | Diff | Review

Description Jim Blandy :jimb 2008-12-22 10:27:33 PST
js/src/jslong.h defines a bunch of macros named JSLL_* that define an abstraction for working with 64-bit values that works even when the compiler doesn't provide a 64-bit long long type.  We don't support such targets any more, so this code should be removed, and the macro uses replaced with code that uses int64_t and uint64_t directly.

We need something like bug 465640, so that we can use {,u}int64_t with impunity.
Comment 1 Jeff Walden [:Waldo] (remove +bmo to email) 2011-06-08 16:50:49 PDT
Created attachment 538149 [details] [diff] [review]
Rewrite all JSLL_* macro users, remove jslong.h and all its #includes

The JSLL_* macros make the PRMJ_Now code unreadable enough that I'm translating it in one patch, then rearranging it to be readable in a second.
Comment 2 Jeff Walden [:Waldo] (remove +bmo to email) 2011-06-08 16:51:21 PDT
Created attachment 538150 [details] [diff] [review]
Adjust PRMJ_Now to be readable
Comment 3 Jim Blandy :jimb 2011-06-14 07:32:08 PDT
Comment on attachment 538149 [details] [diff] [review]
Rewrite all JSLL_* macro users, remove jslong.h and all its #includes

Review of attachment 538149 [details] [diff] [review]:
-----------------------------------------------------------------
Comment 4 Jim Blandy :jimb 2011-06-14 07:33:43 PDT
Comment on attachment 538150 [details] [diff] [review]
Adjust PRMJ_Now to be readable

Review of attachment 538150 [details] [diff] [review]:
-----------------------------------------------------------------
Comment 5 Nicholas Nethercote [:njn] (on vacation until July 11) 2011-06-14 20:04:50 PDT
I butted my head against that JSLL stuff, once.  Good riddance!
Comment 6 Brendan Eich [:brendan] 2011-06-14 22:08:10 PDT
(In reply to comment #5)
> I butted my head against that JSLL stuff, once.  Good riddance!

It was from a long time ago, in a galaxy far, far away...

(Windows 3.1 with a 16-bit C/C++ compiler Microsoft had stopped supporting in 1995, which crashed randomly until you reordered declarations just right; Mac PowerPlant; ancient GCC, from the EGCS fork days and even earlier...)

/be
Comment 7 Jeff Walden [:Waldo] (remove +bmo to email) 2011-06-16 13:14:05 PDT
http://hg.mozilla.org/tracemonkey/rev/5da430ecfdd7
Comment 8 Jeff Walden [:Waldo] (remove +bmo to email) 2011-06-16 13:14:27 PDT
and http://hg.mozilla.org/tracemonkey/rev/159fedddb24c
Comment 9 Chris Leary [:cdleary] (not checking bugmail) 2011-06-20 17:06:07 PDT
cdleary-bot mozilla-central merge info:
http://hg.mozilla.org/mozilla-central/rev/5da430ecfdd7
http://hg.mozilla.org/mozilla-central/rev/159fedddb24c

Note You need to log in before you can comment on or make changes to this bug.