facebookarchive/prepack

Prepack emits if-statements with no consequent or alternate code

Open

#2220 opened on Jul 6, 2018

View on GitHub
 (3 comments) (0 reactions) (0 assignees)JavaScript (14,268 stars) (520 forks)batch import
Instant Renderenhancementhelp wantedlevel 1 (super easy)priority: lowserializer

Description

This

(function () {
  let n = global.__abstract ? __abstract("number", "23") : 23;
  if (n === 42) {
    let d = Date.now(); // dead pure generator entry
  }
})();

prepacks to

if (23 === 42) {}

which is obviously suboptimal.

During its fixpoint computation, the visitor should not visit the condition until at least one generator entry cannot be omitted.

Contributor guide