Closed
      
        Bug 1502797
      
      
        Opened 7 years ago
          Closed 6 years ago
      
        
    
  
Reimplement BigInt in terms of JSC/V8 code instead of GMP 
    Categories
(Core :: JavaScript Engine, enhancement, P2)
        Core
          
        
        
      
        
    
        JavaScript Engine
          
        
        
      
        
    Tracking
()
        RESOLVED
        FIXED
        
    
  
        
            mozilla66
        
    
  
People
(Reporter: wingo, Assigned: wingo)
References
Details
Attachments
(3 files)
Patch forthcoming to reimplement bignums in terms of JSC/V8 code.  Besides absolving us of a dependency, this has a couple more advantages:
 * Better out-of-memory handling; allocations can fail and will be handled by standard JSC mechanisms.
 * Inline digit storage for 64-bit values.
| Assignee | ||
| Comment 1•7 years ago
           | ||
(See https://bugzilla.mozilla.org/show_bug.cgi?id=1494346 for more discussion.)
| Assignee | ||
| Comment 2•7 years ago
           | ||
| Assignee | ||
| Comment 3•7 years ago
           | ||
Depends on D10045
| Updated•7 years ago
           | 
        Attachment #9020713 -
        Attachment description: Bug 1502797 - Reimplement BigInt using V8/JSC code instead of GMP → Bug 1502796 - Reimplement BigInt using V8/JSC code instead of GMP
| Updated•7 years ago
           | 
Assignee: nobody → wingo
Status: NEW → ASSIGNED
| Updated•7 years ago
           | 
Priority: -- → P2
| Updated•7 years ago
           | 
        Attachment #9020713 -
        Attachment description: Bug 1502796 - Reimplement BigInt using V8/JSC code instead of GMP → Bug 1502797 - Reimplement BigInt using V8/JSC code instead of GMP
| Assignee | ||
| Updated•7 years ago
           | 
        Attachment #9020712 -
        Flags: checkin?
|   | ||
| Updated•7 years ago
           | 
        Attachment #9020712 -
        Flags: checkin? → checkin+
|   | ||
| Updated•7 years ago
           | 
Keywords: leave-open
Pushed by jorendorff@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/468165ff69b2
Remove redundant forward declarations of BigInt type r=jandem
| Comment 5•7 years ago
           | ||
| bugherder | ||
| Comment 6•6 years ago
           | ||
FWIW I just landed https://hg.mozilla.org/integration/mozilla-inbound/rev/91c06aa99424f98be5d97d288216008d1c5698e9 which changes up the names of some of the FloatingPoint<double>::k* constants.  It is possible some of the constants used in the current patch, are better expressed using different idioms that rev implements.
| Comment 7•6 years ago
           | ||
...yeah yeah, I need to get to the request here.  Today, I hope?  Phabricator decided to Phabricate all over this with the initial comments all gone askew from the places that were actually changed accordingly, and when I tried to review this two weeks ago I ran into that roadblock and gave up on trying to do that review on the plane to Orlando.  :-(
|   | ||
| Comment 8•6 years ago
           | ||
git range-diff for the rebase in phabricator diff #12
| Assignee | ||
| Comment 9•6 years ago
           | ||
Setting checkin-needed based on r+ from jwalden. Subsequent revisions just rebase and fix a couple nits mentioned in the acceptance message. Woo hoo!!
Keywords: leave-open → checkin-needed
| Updated•6 years ago
           | 
Keywords: checkin-needed
| Comment 10•6 years ago
           | ||
Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/375bd8800b2d
Reimplement BigInt using V8/JSC code instead of GMP r=jwalden
| Comment 11•6 years ago
           | ||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
          status-firefox66:
          --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
| Updated•6 years ago
           | 
| Updated•4 years ago
           | 
Regressions: CVE-2020-16042
          You need to log in
          before you can comment on or make changes to this bug.
        
Description
•