HomePhabricator

Eliminate scratch memory used when generating contexts

Description

Eliminate scratch memory used when generating contexts

Summary:

  • ecmult_gen_impl: eliminate scratch memory used when generating context
    • ecmult_impl: eliminate scratch memory used when generating context
    • ecmult_impl: save one fe_inv_var
    • add secp256k1_ge_set_all_gej_var test which deals with many infinite points
    • Store z-ratios in the 'x' coord they'll recover
    • ecmult_impl: expand comment to explain how effective affine interacts with everything

This is a backport of secp256k1's PR557

Test Plan:

ninja check-secp256k1

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D4972

Details

Provenance
Andrew Poelstra <apoelstra@wpsoftware.net>Authored on Sep 20 2018, 22:24
deadalnixCommitted on Jan 17 2020, 11:49
deadalnixPushed on Jan 17 2020, 11:49
Reviewer
Restricted Project
Differential Revision
D4972: Eliminate scratch memory used when generating contexts
Parents
rABC72a05b3a0de3: Optimize secp256k1_fe_normalize_weak calls.
Branches
Unknown
Tags
Unknown