question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Review flag NTBUILD

See original GitHub issue

The flag NTBUILD is used to guard various features included in chakra.dll but not in chakracore, I believe that most of the code behind it is not functional without additional code that is not in this repository and is unlikely to be made available.

We should therefore review and consider deleting as dead code anything wrapped with #ifdef NTBUILD. There is a possibility that some of this code could be usable for some other purpose - hence a review rather than immediate deletion.

Additionally the following flags are turned on by enabling NTBUILD - each of these should be individually reviewed and any code behind them considered for deletion as dead, again should consider in each case if the code can be repurposed or used without the additional code this repository does not contain:

  • ENABLE_PROJECTION
  • ENABLE_FOUNDATION_OBJECT
  • ENABLE_EXPERIMENTAL_FLAGS
  • ENABLE_WININET_PROFILE_DATA_CACHE
  • ENABLE_COMPRESSION_UTILITIES
  • ENABLE_BASIC_TELEMETRY
  • ENABLE_DOM_FAST_PATH
  • EDIT_AND_CONTINUE
  • ENABLE_JIT_CLAMP
  • ENABLE_SCRIPT_PROFILING

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:8 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
Penguinwizzardcommented, Jan 2, 2021

Some info off the top of my head: DOM_FAST_PATH was for stuff to speed up interactions with the Spartan DOM - I don’t think anyone will miss it. It was basically added initially due to high overhead in calls back to Spartan for DOM queries, iirc. BASIC_TELEMETRY was for integrating with a telemetry component in ChakraFull to get loose stats on how frequent use of various builtins was; it can be removed. EDIT_AND_CONTINUE is a neat debugging feature where you can modify code when stopped at a breakpoint; this should be kept for debuggers. SCRIPT_PROFILING iirc is related to getting script performance information for the Spartan debugger, but I’m not sure.

0reactions
boingoingcommented, Jan 12, 2021

ENABLE_WININET_PROFILE_DATA_CACHE is also used to control when the parser state cache is enabled in ChakraFull - for the browser it requires WININET as the state cache is stored in the WININET cache. In ChakraCore we never have this cache available and host needs to pass the state cache buffer manually. Thus can probably remove the WININET related code here as well.

ENABLE_COMPRESSION_UTILITIES is only used for the parser state cache and only supported in Windows in ChakraFull. It wasn’t much more than an experiment, ultimately, and the compression feature is not otherwise configurable. This is probably safe to delete entirely.

Read more comments on GitHub >

github_iconTop Results From Across the Web

[2111.09849] FLAG Review 2021
Abstract: We review lattice results related to pion, kaon, D-meson, B-meson, and nucleon physics with the aim of making them easily ...
Read more >
Building nt database taking very long time ...
Without this flag, would the nt build actually finish, or is there an issue when trying to build such big databases without the...
Read more >
The Return of the Jedi: Cyrix and IBM's 6x86MX CPU
flag of US ... Windows NT (Build 1381(Service Pack 2)., Matrox Millennium Driver 3.06) ... Alienware Aurora R15 Review: Playing it Cooler.
Read more >
SMB NtCreate andX with extended response sometimes ...
The decoded for SMB NtCreate andX only handles the extended response if it can find the flags field from the matching request. This...
Read more >
Actuarial Review of administration, benefits and levy rate
I am pleased to submit to you a report on my review of NT Build. ... on the period of service and the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found