Closed Bug 1668330 Opened 5 years ago Closed 4 years ago

Prepare for implementing the Import Assertions proposal

Categories

(Core :: JavaScript Engine, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
89 Branch

People

(Reporter: alex.fdm, Assigned: jon4t4n)

References

(Blocks 1 open bug, )

Details

(Keywords: dev-doc-needed)

Attachments

(2 files, 9 obsolete files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

The proposal is already on Stage 3: https://github.com/tc39/proposal-import-assertions

Severity: -- → N/A
Priority: -- → P3

Jonatan is prototyping this right now

Assignee: nobody → jonatan.r.klemets
Attachment #9206320 - Attachment description: Bug 1668330 - Implement ModuleRequest changes for import-assertions. r=mgaudet,yulia! → Bug 1668330 - Part 1: Implement ModuleRequest changes for import-assertions. r=mgaudet,yulia!
Attachment #9211011 - Attachment description: Bug 1668330 - Part 2: Modify the ScriptLoader to work with the API changes for import-assertions. r=mgaudet!,yulia! → Bug 1668330 - Part 2: Modify the ScriptLoader to work with the API changes for import-assertions. r=yulia
Pushed by mgaudet@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ac4f085c9f32 Part 1: Implement ModuleRequest changes for import-assertions. r=mgaudet,yulia https://hg.mozilla.org/integration/autoland/rev/2d76323e5c0c Part 2: Modify the ScriptLoader to work with the API changes for import-assertions. r=yulia

Backed out 2 changesets (bug 1668330) for GlobalObject.h related bustage and spidermonkey failures.

Push with failures:
https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&selectedTaskRun=A_U5UP4NRfKA8g7FCpDkWA.0&fromchange=2d76323e5c0c96b2d54722f99ceaa3b1860b83d2&searchStr=build&tochange=ac28bdc164a877365a9d9bde0bd39b022b074729
https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&fromchange=2d76323e5c0c96b2d54722f99ceaa3b1860b83d2&searchStr=spidermonkey&selectedTaskRun=EMyqvi9cSaK1qrZTsUOd_A.0&tochange=ac28bdc164a877365a9d9bde0bd39b022b074729

Backout link: https://hg.mozilla.org/integration/autoland/rev/ac28bdc164a877365a9d9bde0bd39b022b074729

Failure log: https://treeherder.mozilla.org/logviewer?job_id=336510227&repo=autoland&lineNumber=48378

[task 2021-04-14T15:36:43.810Z] 15:36:43     INFO -  make[4]: Entering directory '/builds/worker/workspace/obj-build/js/src/frontend'
[task 2021-04-14T15:36:43.813Z] 15:36:43     INFO -  /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ --sysroot /builds/worker/fetches/sysroot -std=gnu++17 -o Parser.o -c  -I/builds/worker/workspace/obj-build/dist/system_wrappers -include /builds/worker/checkouts/gecko/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -ftrivial-auto-var-init=pattern -DDEBUG=1 -DWASM_SUPPORTS_HUGE_MEMORY -DJS_CACHEIR_SPEW -DJS_STRUCTURED_SPEW -DJS_HAS_CTYPES -DFFI_BUILDING -DEXPORT_JS_API -DMOZ_HAS_MOZGLUE -I/builds/worker/checkouts/gecko/js/src/frontend -I/builds/worker/workspace/obj-build/js/src/frontend -I/builds/worker/workspace/obj-build/js/src -I/builds/worker/checkouts/gecko/js/src -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -DMOZILLA_CLIENT -include /builds/worker/workspace/obj-build/js/src/js-confdefs.h -Qunused-arguments -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 -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Wunused-function -Wunused-variable -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-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 -Wno-error=deprecated-copy -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-psabi -Wno-unknown-warning-option -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fcrash-diagnostics-dir=/builds/worker/artifacts -fPIC -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -g -Xclang -load -Xclang /builds/worker/workspace/obj-build/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 -fexperimental-new-pass-manager  -MD -MP -MF .deps/Parser.o.pp   /builds/worker/checkouts/gecko/js/src/frontend/Parser.cpp
[task 2021-04-14T15:36:43.813Z] 15:36:43     INFO -  In file included from /builds/worker/checkouts/gecko/js/src/frontend/Parser.cpp:20:
[task 2021-04-14T15:36:43.814Z] 15:36:43     INFO -  In file included from /builds/worker/checkouts/gecko/js/src/frontend/Parser.h:180:
[task 2021-04-14T15:36:43.814Z] 15:36:43     INFO -  In file included from /builds/worker/checkouts/gecko/js/src/frontend/CompilationStencil.h:37:
[task 2021-04-14T15:36:43.814Z] 15:36:43    ERROR -  /builds/worker/checkouts/gecko/js/src/vm/GlobalObject.h:138:3: error: static_assert failed due to requirement 'JSCLASS_GLOBAL_SLOT_COUNT == RESERVED_SLOTS' "global object slot counts are inconsistent"
[task 2021-04-14T15:36:43.814Z] 15:36:43     INFO -    static_assert(JSCLASS_GLOBAL_SLOT_COUNT == RESERVED_SLOTS,
[task 2021-04-14T15:36:43.814Z] 15:36:43     INFO -    ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[task 2021-04-14T15:36:43.814Z] 15:36:43     INFO -  1 error generated.
[task 2021-04-14T15:36:43.814Z] 15:36:43    ERROR -  make[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:676: Parser.o] Error 1
[task 2021-04-14T15:36:43.814Z] 15:36:43     INFO -  make[4]: Leaving directory '/builds/worker/workspace/obj-build/js/src/frontend'
[task 2021-04-14T15:36:43.814Z] 15:36:43    ERROR -  make[3]: *** [/builds/worker/checkouts/gecko/config/recurse.mk:72: js/src/frontend/target-objects] Error 2
[task 2021-04-14T15:36:43.814Z] 15:36:43     INFO -  make[3]: *** Waiting for unfinished jobs....
Flags: needinfo?(jonatan.r.klemets)
Flags: needinfo?(jonatan.r.klemets)
Pushed by mgaudet@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/be113df2bd10 Part 1: Implement ModuleRequest changes for import-assertions. r=mgaudet,yulia https://hg.mozilla.org/integration/autoland/rev/2690ae6050e4 Part 2: Modify the ScriptLoader to work with the API changes for import-assertions. r=yulia
Depends on: 1722355
Attachment #9219769 - Attachment is obsolete: true

Depends on D126047

Attachment #9241947 - Attachment description: WIP: Bug 1668330 - Part 3: Add option for import assertions. r=mgaudet!,yulia! → Bug 1668330 - Part 3: Add option for import assertions. r=mgaudet!,yulia!
Attachment #9241948 - Attachment description: WIP: Bug 1668330 - Part 4: Implement stencil changes for import assertions. r=mgaudet!,yulia! → Bug 1668330 - Part 4: Implement stencil changes for import assertions. r=mgaudet!,yulia!
Attachment #9241949 - Attachment description: WIP: Bug 1668330 - Part 5: Extend ModuleRequestObject to hold assertions. r=mgaudet!,yulia! → Bug 1668330 - Part 5: Extend ModuleRequestObject to hold assertions. r=mgaudet!,yulia!
Attachment #9241950 - Attachment description: WIP: Bug 1668330 - Part 6: Implement HostGetSupportedImportAssertions. r=mgaudet!,yulia! → Bug 1668330 - Part 6: Implement HostGetSupportedImportAssertions. r=mgaudet!,yulia!
Attachment #9241951 - Attachment description: WIP: Bug 1668330 - Part 7: Implement import assertions for static imports. r=mgaudet!,yulia! → Bug 1668330 - Part 7: Implement import assertions for static imports. r=mgaudet!,yulia!
Attachment #9241952 - Attachment description: WIP: Bug 1668330 - Part 8: Implement import assertions for dynamic imports. r=mgaudet!,yulia! → Bug 1668330 - Part 8: Implement import assertions for dynamic imports. r=mgaudet!,yulia!
Attachment #9241953 - Attachment description: WIP: Bug 1668330 - Part 9: Implement Reflect.parse for import assertions. r=mgaudet!,yulia! → Bug 1668330 - Part 9: Implement Reflect.parse for import assertions. r=mgaudet!,yulia!
Attachment #9241954 - Attachment description: WIP: Bug 1668330 - Part 10: Add JIT support for dynamic imports. r=mgaudet → Bug 1668330 - Part 10: Add JIT support for dynamic imports. r=mgaudet
Regressions: 1735695

I think I goofed a bit my letting this bug have patches land on it: Probably should have marked it as a [meta] bug, and then landed partial patches as children.

I'm going to clean this up a bit (which will require Jonatan to move some patches. Sorry!)

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Summary: Implement the Import Assertions proposal → Prepare for implementing the Import Assertions proposal
See Also: 1736059
No longer depends on: 1722355

Comment on attachment 9241947 [details]
Bug 1668330 - Part 3: Add option for import assertions. r=mgaudet!,yulia!

Revision D126041 was moved to bug 1736060. Setting attachment 9241947 [details] to obsolete.

Attachment #9241947 - Attachment is obsolete: true

Comment on attachment 9241948 [details]
Bug 1668330 - Part 4: Implement stencil changes for import assertions. r=mgaudet!,yulia!

Revision D126042 was moved to bug 1736060. Setting attachment 9241948 [details] to obsolete.

Attachment #9241948 - Attachment is obsolete: true

Comment on attachment 9241949 [details]
Bug 1668330 - Part 5: Extend ModuleRequestObject to hold assertions. r=mgaudet!,yulia!

Revision D126043 was moved to bug 1736060. Setting attachment 9241949 [details] to obsolete.

Attachment #9241949 - Attachment is obsolete: true

Comment on attachment 9241950 [details]
Bug 1668330 - Part 6: Implement HostGetSupportedImportAssertions. r=mgaudet!,yulia!

Revision D126044 was moved to bug 1736060. Setting attachment 9241950 [details] to obsolete.

Attachment #9241950 - Attachment is obsolete: true

Comment on attachment 9241951 [details]
Bug 1668330 - Part 7: Implement import assertions for static imports. r=mgaudet!,yulia!

Revision D126045 was moved to bug 1736060. Setting attachment 9241951 [details] to obsolete.

Attachment #9241951 - Attachment is obsolete: true

Comment on attachment 9241952 [details]
Bug 1668330 - Part 8: Implement import assertions for dynamic imports. r=mgaudet!,yulia!

Revision D126046 was moved to bug 1736060. Setting attachment 9241952 [details] to obsolete.

Attachment #9241952 - Attachment is obsolete: true

Comment on attachment 9241953 [details]
Bug 1668330 - Part 9: Implement Reflect.parse for import assertions. r=mgaudet!,yulia!

Revision D126047 was moved to bug 1736060. Setting attachment 9241953 [details] to obsolete.

Attachment #9241953 - Attachment is obsolete: true
Attachment #9241954 - Attachment is obsolete: true
Blocks: 1736060
No longer blocks: es-proposals-stage-3
Target Milestone: --- → 89 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: