-
Notifications
You must be signed in to change notification settings - Fork 30k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: add --v8-disable-object-print flag #45458
build: add --v8-disable-object-print flag #45458
Conversation
@@ -772,11 +772,11 @@ | |||
'memory footprint, but also implies no just-in-time compilation ' + | |||
'support, thus much slower execution)') | |||
|
|||
parser.add_argument('--v8-enable-object-print', | |||
parser.add_argument('--v8-disable-object-print', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could keep --v8-enable-object-print
as a valid option in addition to adding --v8-disable-object-print
in case anyone is using it, otherwise they'll break
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your suggestion, I keep the -v8-enable-object-print
flag and add the --v8-disable-object-print
flag.
If I specify both flags at the same time, We get an exception with a message like Only one of the --v8-enable-object-print or --v8-disable-object-print options an be specified at a time.
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this introduced a bug? I cannot use "disable" flag because "enable" flag is default True, so if I "disable" then they're both True...
Downloading the source tarball on Nodejs' website for LTS 18.13.0 yields:
python3 ./configure --prefix=/opt/base --shared-zlib --v8-disable-object-print --without-corepack --without-dtrace --without-etw --without-inspector --without-intl --without-node-code-cache --without-node-snapshot --without-npm --without-ssl
Node.js configure: Found Python 3.9.10...
Traceback (most recent call last):
File "/Users/Hames/Repos/core/contrib/node-v18.13.0/./configure", line 28, in <module>
import configure
File "/Users/Hames/Repos/core/contrib/node-v18.13.0/configure.py", line 2062, in <module>
configure_v8(output)
File "/Users/Hames/Repos/core/contrib/node-v18.13.0/configure.py", line 1547, in configure_v8
raise Exception(
Exception: Only one of the --v8-enable-object-print or --v8-disable-object-print options can be specified at a time.
Even though the enable
flag is never specified.
This is because the options
object has the argparse defaults resolved, which means the enable flag is True
if not specified... :/
parser.add_argument('--v8-enable-object-print',
action='store_true',
dest='v8_enable_object_print',
default=True, # HERE
help='compile V8 with auxiliary functions for native debuggers')
parser.add_argument('--v8-disable-object-print',
action='store_true',
dest='v8_disable_object_print',
default=False,
help='disable the V8 auxiliary functions for native debuggers')
configure.py
Outdated
help='compile V8 with auxiliar functions for native debuggers') | ||
dest='v8_disable_object_print', | ||
default=False, | ||
help='disable the V8 auxiliar functions for native debuggers') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we're editing this line, might as well fix this typo:
help='disable the V8 auxiliar functions for native debuggers') | |
help='disable the V8 auxiliary functions for native debuggers') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I will fix typo.
--v8-enable-object-print flag is set by default true. so, no way of disable this flag. add a --v8-disable-object-print flag instead that defaults to false. Fixes: nodejs#45433
c041989
to
f50e2b4
Compare
Landed in 6638f09 |
--v8-enable-object-print
flag is set by default true. so, no way of disable this flag.remove
--v8-enable-object-print
flag.add a
--v8-disable-object-print
flag instead that defaults to false.Fixes: #45433