Add struct for bytecode and directly associated data, and indirectly associated "per script" data
Categories
(Core :: JavaScript Engine, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: arai, Assigned: arai)
References
(Blocks 1 open bug)
Details
Attachments
(11 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
to achieve bug 1464311 (bytecode-let composition), we need a structure that represents following:
- bytecode itself, and all data directly associated with specific opcode/index inside the bytecode
this corresponds to each bytecode-let.
source notes/try notes etc are also in this struct, because it points specific opcode/index in the bytecode, and should be modified while composition.
- all data associated with bytecode but not directly to specific opcode
Data that is shared across multiple bytecode-lets.
this includes AtomIndexMap, CGNumberList, CGObjectList, CGScopeList, etc,
that is referred from the bytecode, and added while emitting bytecode.
while EmitSection is removed in bug 1284719,
I'm about to add yet another similar structure, with above rule.
Assignee | ||
Comment 1•6 years ago
|
||
WIP patch:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=2591b05cb381f58c731b9a8a62cc5b891988cd93
https://hg.mozilla.org/try/pushloghtml?changeset=2591b05cb381
will post after testing patch for bug 1536037 and bug 1464311 based on them.
Assignee | ||
Comment 2•6 years ago
|
||
Assignee | ||
Comment 3•6 years ago
|
||
Depends on D25731
Assignee | ||
Comment 4•6 years ago
|
||
Depends on D25732
Assignee | ||
Comment 5•6 years ago
|
||
Depends on D25733
Assignee | ||
Comment 6•6 years ago
|
||
Depends on D25734
Assignee | ||
Comment 7•6 years ago
|
||
Depends on D25735
Assignee | ||
Comment 8•6 years ago
|
||
Depends on D25736
Assignee | ||
Comment 9•6 years ago
|
||
Depends on D25737
Assignee | ||
Comment 10•6 years ago
|
||
Depends on D25738
Assignee | ||
Comment 11•6 years ago
|
||
Depends on D25739
Assignee | ||
Comment 12•6 years ago
|
||
Depends on D25740
Comment 13•6 years ago
|
||
Comment 14•6 years ago
|
||
Backed out 11 changesets (Bug 1535994) for BytecodeEmitter.cpp related build bustages
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=d5975f907521e4a5fe727cd52e3799b60b97beb7&selectedJob=239290488
Backout link: https://hg.mozilla.org/integration/autoland/rev/7fb3acf38591979f105306e0c8f3441e75c95bd5
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=239290488&repo=autoland&lineNumber=6788
[task 2019-04-10T09:14:41.965Z] 09:14:41 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/media/libaom'
[task 2019-04-10T09:14:41.995Z] 09:14:41 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/js/src/frontend'
[task 2019-04-10T09:14:41.996Z] 09:14:41 INFO - /builds/worker/workspace/build/src/clang/bin/clang++ -isysroot /builds/worker/workspace/build/src/MacOSX10.11.sdk --target=x86_64-darwin11 -o Unified_cpp_js_src_frontend0.o -c -flto=thin -fvisibility=hidden -fvisibility-inlines-hidden -DNDEBUG=1 -DTRIMMED=1 -DWASM_HUGE_MEMORY -DJS_CACHEIR_SPEW -DJS_STRUCTURED_SPEW -DJS_HAS_CTYPES -DFFI_BUILDING -DEXPORT_JS_API -DMOZ_HAS_MOZGLUE -I/builds/worker/workspace/build/src/js/src/frontend -I/builds/worker/workspace/build/src/obj-firefox/js/src/frontend -I/builds/worker/workspace/build/src/obj-firefox/js/src -I/builds/worker/workspace/build/src/js/src -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/js/src/js-confdefs.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-noexcept-type -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fcrash-diagnostics-dir=/builds/worker/artifacts -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-common -stdlib=libc++ -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O3 -fno-omit-frame-pointer -funwind-tables -Werror -fno-strict-aliasing -Werror=format -Wno-shadow -MD -MP -MF .deps/Unified_cpp_js_src_frontend0.o.pp /builds/worker/workspace/build/src/obj-firefox/js/src/frontend/Unified_cpp_js_src_frontend0.cpp
[task 2019-04-10T09:14:41.996Z] 09:14:41 INFO - In file included from /builds/worker/workspace/build/src/obj-firefox/js/src/frontend/Unified_cpp_js_src_frontend0.cpp:20:
[task 2019-04-10T09:14:41.996Z] 09:14:41 ERROR - /builds/worker/workspace/build/src/js/src/frontend/BytecodeEmitter.cpp:2024:28: error: no member named 'code' in 'js::frontend::BytecodeEmitter'
[task 2019-04-10T09:14:41.996Z] 09:14:41 INFO - jsbytecode* code = this->code(offset);
[task 2019-04-10T09:14:41.996Z] 09:14:41 INFO - ~~~~ ^
[task 2019-04-10T09:14:41.996Z] 09:14:41 ERROR - /builds/worker/workspace/build/src/js/src/frontend/BytecodeEmitter.cpp:2027:3: error: use of undeclared identifier 'updateDepth'
[task 2019-04-10T09:14:41.996Z] 09:14:41 INFO - updateDepth(offset);
[task 2019-04-10T09:14:41.997Z] 09:14:41 INFO - ^
[task 2019-04-10T09:14:41.997Z] 09:14:41 INFO - 2 errors generated.
[task 2019-04-10T09:14:41.997Z] 09:14:41 INFO - /builds/worker/workspace/build/src/config/rules.mk:805: recipe for target 'Unified_cpp_js_src_frontend0.o' failed
[task 2019-04-10T09:14:41.997Z] 09:14:41 ERROR - make[4]: *** [Unified_cpp_js_src_frontend0.o] Error 1
[task 2019-04-10T09:14:41.997Z] 09:14:41 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/js/src/frontend'
[task 2019-04-10T09:14:41.997Z] 09:14:41 INFO - make[4]: *** Waiting for unfinished jobs....
[task 2019-04-10T09:14:42.039Z] 09:14:42 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/config/external/icu/i18n'
[task 2019-04-10T09:14:42.043Z] 09:14:42 INFO - /builds/worker/workspace/build/src/clang/bin/clang++ -isysroot /builds/worker/workspace/build/src/MacOSX10.11.sdk --target=x86_64-darwin11 -o numparse_compositions.o -c -flto=thin -fvisibility=hidden -fvisibility-inlines-hidden -DNDEBUG=1 -DTRIMMED=1 -DU_I18N_IMPLEMENTATION -DUCONFIG_NO_TRANSLITERATION -DUCONFIG_NO_REGULAR_EXPRESSIONS -DUCONFIG_NO_LEGACY_CONVERSION -DU_USING_ICU_NAMESPACE=0 -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 -DU_CHARSET_IS_UTF8 -DU_HAVE_NL_LANGINFO_CODESET=0 -I/builds/worker/workspace/build/src/config/external/icu/i18n -I/builds/worker/workspace/build/src/obj-firefox/config/external/icu/i18n -I/builds/worker/workspace/build/src/intl/icu/source/common -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fcrash-diagnostics-dir=/builds/worker/artifacts -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -stdlib=libc++ -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O3 -fno-omit-frame-pointer -funwind-tables -frtti -MD -MP -MF .deps/numparse_compositions.o.pp /builds/worker/workspace/build/src/intl/icu/source/i18n/numparse_compositions.cpp
[task 2019-04-10T09:14:42.045Z] 09:14:42 WARNING - /builds/worker/workspace/build/src/intl/icu/source/i18n/numparse_compositions.cpp:66:5: warning: loop will run at most once (loop increment never executed) [-Wunreachable-code-loop-increment]
[task 2019-04-10T09:14:42.045Z] 09:14:42 INFO - for (auto& matcher : *this) {
[task 2019-04-10T09:14:42.046Z] 09:14:42 INFO - ^~~
[task 2019-04-10T09:14:42.046Z] 09:14:42 INFO - 1 warning generated.
Assignee | ||
Comment 15•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Comment 16•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/0a048e81c20c
https://hg.mozilla.org/mozilla-central/rev/2242a2c3e65a
https://hg.mozilla.org/mozilla-central/rev/eb9c786879f4
https://hg.mozilla.org/mozilla-central/rev/66a27a2dece1
https://hg.mozilla.org/mozilla-central/rev/5781fc07513f
https://hg.mozilla.org/mozilla-central/rev/9177ca1dd139
https://hg.mozilla.org/mozilla-central/rev/60b6dc92078e
https://hg.mozilla.org/mozilla-central/rev/1f5c5914ebfb
https://hg.mozilla.org/mozilla-central/rev/c05f903f3bfd
https://hg.mozilla.org/mozilla-central/rev/ab95e8d9d300
https://hg.mozilla.org/mozilla-central/rev/ced956a624de
Description
•