New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 415 users

Comments by non-members will not trigger notification emails to users who starred this issue.

Issue metadata

Status: Fixed
Owner:
out for Q2
Closed: Dec 19
Cc:
HW: ----
NextAction: ----
OS: ----
Priority: 2
Type: FeatureRequest


Sign in to add a comment

Implement Harmony Modules

Reported by d...@deanlandolt.com, Jul 23 2011 Back to list

Issue description

Showing comments 119 - 218 of 218 Older
Project Member

Comment 120 by bugdroid1@chromium.org, Oct 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f95abf2b3c1abe81d27893a0f66ba0cc83368558

commit f95abf2b3c1abe81d27893a0f66ba0cc83368558
Author: neis <neis@chromium.org>
Date: Tue Oct 11 18:52:35 2016

[modules] Create own section in runtime.h.

Forgot to do that in 4ff5c2a72fefb7d8d645672df46d3b5802902129.

TBR=adamk@chromium.org
BUG= v8:1569 
NOTRY=true

Review-Url: https://codereview.chromium.org/2411013002
Cr-Commit-Position: refs/heads/master@{#40185}

[modify] https://crrev.com/f95abf2b3c1abe81d27893a0f66ba0cc83368558/src/runtime/runtime.h

Project Member

Comment 121 by bugdroid1@chromium.org, Oct 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9d2051fc2896bcb771cfb41b2864601c6c40e299

commit 9d2051fc2896bcb771cfb41b2864601c6c40e299
Author: adamk <adamk@chromium.org>
Date: Tue Oct 11 19:22:03 2016

[modules] Store Module metadata in per-Context EmbedderData

This is a re-land of https://codereview.chromium.org/2393303002/ with
an additional call to DisposeModuleEmbedderData() added to fix lsan failures.

Unifies the approaches used for storing the specifier -> module mapping
and the module -> directory mapping, using std::unordered_maps for both
and storing them per-Context.

This requires adding a method to the v8::Module API to get a hash code
for a Module, but allows slimming down the API in return: gone are
SetEmbedderData/GetEmbedderData, along with the fourth argument
to ResolveModuleCallback.

Besides a simpler API, this allows d8 to get closer to the HTML loader,
which requires each Realm to have a persistent module map (though this
capability is not yet exercised by any tests).

BUG= v8:1569 
TBR=neis@chromium.org,jochen@chromium.org

Review-Url: https://codereview.chromium.org/2405313002
Cr-Commit-Position: refs/heads/master@{#40186}

[modify] https://crrev.com/9d2051fc2896bcb771cfb41b2864601c6c40e299/include/v8.h
[modify] https://crrev.com/9d2051fc2896bcb771cfb41b2864601c6c40e299/src/api.cc
[modify] https://crrev.com/9d2051fc2896bcb771cfb41b2864601c6c40e299/src/d8.cc
[modify] https://crrev.com/9d2051fc2896bcb771cfb41b2864601c6c40e299/src/d8.h
[modify] https://crrev.com/9d2051fc2896bcb771cfb41b2864601c6c40e299/src/factory.cc
[modify] https://crrev.com/9d2051fc2896bcb771cfb41b2864601c6c40e299/src/objects-debug.cc
[modify] https://crrev.com/9d2051fc2896bcb771cfb41b2864601c6c40e299/src/objects-inl.h
[modify] https://crrev.com/9d2051fc2896bcb771cfb41b2864601c6c40e299/src/objects-printer.cc
[modify] https://crrev.com/9d2051fc2896bcb771cfb41b2864601c6c40e299/src/objects.cc
[modify] https://crrev.com/9d2051fc2896bcb771cfb41b2864601c6c40e299/src/objects.h
[modify] https://crrev.com/9d2051fc2896bcb771cfb41b2864601c6c40e299/test/cctest/test-modules.cc

Project Member

Comment 122 by bugdroid1@chromium.org, Oct 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/dafe6867f33ab95cb113159e9088da905c8de37b

commit dafe6867f33ab95cb113159e9088da905c8de37b
Author: neis <neis@chromium.org>
Date: Thu Oct 13 13:34:50 2016

[modules] Implement @@iterator on namespace objects.

As part of this, introduce a new JSObject for iterating over the elements of a
FixedArray.

R=adamk@chromium.org,bmeurer@chromium.org
TBR=ulan@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2407423002
Cr-Commit-Position: refs/heads/master@{#40265}

[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/ast/ast-types.cc
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/bootstrapper.cc
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/builtins/builtins-iterator.cc
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/builtins/builtins.h
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/compiler/types.cc
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/contexts.h
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/factory.cc
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/factory.h
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/heap/objects-visiting.cc
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/objects-body-descriptors-inl.h
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/objects-debug.cc
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/objects-inl.h
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/objects-printer.cc
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/src/objects.h
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/test/cctest/interpreter/bytecode_expectations/CallRuntime.golden
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/test/mjsunit/modules-namespace1.js
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/test/mjsunit/modules-namespace2.js
[modify] https://crrev.com/dafe6867f33ab95cb113159e9088da905c8de37b/test/test262/test262.status

Blockedon: 5547
Project Member

Comment 125 by bugdroid1@chromium.org, Oct 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/dd614f55ce36f9bd12f429bd8b69f24e974d0547

commit dd614f55ce36f9bd12f429bd8b69f24e974d0547
Author: neis <neis@chromium.org>
Date: Fri Oct 21 13:39:28 2016

[modules] Check more invariants for Module objects in heap verifier.

R=adamk@chromium.org
BUG= v8:1569 

Review-Url: https://chromiumcodereview.appspot.com/2442723002
Cr-Commit-Position: refs/heads/master@{#40508}

[modify] https://crrev.com/dd614f55ce36f9bd12f429bd8b69f24e974d0547/src/objects-debug.cc

Project Member

Comment 126 by bugdroid1@chromium.org, Oct 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/cadfe092a25fd052294a45a2c5aabe34b475f534

commit cadfe092a25fd052294a45a2c5aabe34b475f534
Author: neis <neis@chromium.org>
Date: Fri Oct 21 14:23:58 2016

[modules] Fix bugs in assignments to exported variables.

- Add hole check if needed.
- Preserve the accumulator so that the result is the rhs.

R=adamk@chromium.org
BUG= v8:1569 , v8:5547 

Review-Url: https://chromiumcodereview.appspot.com/2438653003
Cr-Commit-Position: refs/heads/master@{#40510}

[modify] https://crrev.com/cadfe092a25fd052294a45a2c5aabe34b475f534/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/cadfe092a25fd052294a45a2c5aabe34b475f534/test/mjsunit/modules-init3.js
[modify] https://crrev.com/cadfe092a25fd052294a45a2c5aabe34b475f534/test/mjsunit/modules-skip-init3.js

Project Member

Comment 127 by bugdroid1@chromium.org, Oct 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/3107fd0788271296cf51207c5eecd8d068f5aa40

commit 3107fd0788271296cf51207c5eecd8d068f5aa40
Author: neis <neis@chromium.org>
Date: Mon Oct 24 15:48:56 2016

[modules] Update test262.status after test262 upstream fix.

R=littledan@chromium.org,adamk@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2440103002
Cr-Commit-Position: refs/heads/master@{#40537}

[modify] https://crrev.com/3107fd0788271296cf51207c5eecd8d068f5aa40/test/test262/test262.status

Blockedon: 5563
Project Member

Comment 130 by bugdroid1@chromium.org, Oct 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/de52faf948a9fac550f1ae3fd3f4a28fa8335652

commit de52faf948a9fac550f1ae3fd3f4a28fa8335652
Author: machenbach <machenbach@chromium.org>
Date: Tue Oct 25 12:55:25 2016

Revert of [modules] Add partial support for debug-scopes. (patchset #1 id:1 of https://codereview.chromium.org/2445683002/ )

Reason for revert:
Breaks https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/9349

Original issue's description:
> [modules] Add partial support for debug-scopes.
>
> Setting variables is not yet implemented..
>
> R=adamk@chromium.org
> BUG= v8:1569 

TBR=adamk@chromium.org,yangguo@chromium.org,neis@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2449883002
Cr-Commit-Position: refs/heads/master@{#40564}

[modify] https://crrev.com/de52faf948a9fac550f1ae3fd3f4a28fa8335652/src/ast/scopeinfo.cc
[modify] https://crrev.com/de52faf948a9fac550f1ae3fd3f4a28fa8335652/src/contexts.cc
[modify] https://crrev.com/de52faf948a9fac550f1ae3fd3f4a28fa8335652/src/debug/debug-scopes.cc
[modify] https://crrev.com/de52faf948a9fac550f1ae3fd3f4a28fa8335652/src/debug/debug-scopes.h
[modify] https://crrev.com/de52faf948a9fac550f1ae3fd3f4a28fa8335652/src/debug/mirrors.js
[modify] https://crrev.com/de52faf948a9fac550f1ae3fd3f4a28fa8335652/src/objects.h
[delete] https://crrev.com/f97b28f8b9678f9529acb21551a10f466a0b722e/test/mjsunit/modules-debug-scopes1.js
[delete] https://crrev.com/f97b28f8b9678f9529acb21551a10f466a0b722e/test/mjsunit/modules-debug-scopes2.js

Project Member

Comment 132 by bugdroid1@chromium.org, Oct 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/038a81976efdfa399da1b872a349d344d1aba837

commit 038a81976efdfa399da1b872a349d344d1aba837
Author: neis <neis@chromium.org>
Date: Wed Oct 26 15:09:47 2016

[modules] Improve error messages.

For instance, when an import cannot be resolved, actually
point at the corresponding import statement.

BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2451153002
Cr-Commit-Position: refs/heads/master@{#40594}

[modify] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/src/ast/modules.cc
[modify] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/src/ast/modules.h
[modify] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/src/ast/scopeinfo.cc
[modify] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/src/messages.h
[modify] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/src/objects-inl.h
[modify] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/src/objects.cc
[modify] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/src/objects.h
[modify] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/src/parsing/parser.cc
[modify] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/message.status
[rename] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-cycle1.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-cycle1.out
[rename] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-cycle2.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-cycle2.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-cycle3.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-cycle3.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-cycle4.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-cycle4.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-duplicate-export1.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-duplicate-export1.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-duplicate-export2.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-duplicate-export2.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-duplicate-export3.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-duplicate-export3.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-duplicate-export4.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-duplicate-export4.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import-redeclare1.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import-redeclare1.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import-redeclare2.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import-redeclare2.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import-redeclare3.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import-redeclare3.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import1.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import1.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import2.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import2.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import3.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import3.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import4.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import4.out
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import5.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import5.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import6.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-import6.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-skip-cycle2.js
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-skip-cycle3.js
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-star-conflict1.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-star-conflict1.out
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-star-conflict2.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-star-conflict2.out
[rename] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-star-default.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-star-default.out
[rename] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-undefined-export1.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-undefined-export1.out
[copy] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-undefined-export2.js
[add] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/message/modules-undefined-export2.out
[modify] https://crrev.com/038a81976efdfa399da1b872a349d344d1aba837/test/mjsunit/mjsunit.status
[delete] https://crrev.com/35b3e01394145b4566539af0e4811e6716d765d8/test/mjsunit/modules-fail-1.js
[delete] https://crrev.com/35b3e01394145b4566539af0e4811e6716d765d8/test/mjsunit/modules-fail-2.js
[delete] https://crrev.com/35b3e01394145b4566539af0e4811e6716d765d8/test/mjsunit/modules-fail-4.js
[delete] https://crrev.com/35b3e01394145b4566539af0e4811e6716d765d8/test/mjsunit/modules-fail-5.js
[delete] https://crrev.com/35b3e01394145b4566539af0e4811e6716d765d8/test/mjsunit/modules-fail-7.js
[delete] https://crrev.com/35b3e01394145b4566539af0e4811e6716d765d8/test/mjsunit/modules-fail-8.js
[delete] https://crrev.com/35b3e01394145b4566539af0e4811e6716d765d8/test/mjsunit/modules-fail-cyclic-3.js
[delete] https://crrev.com/35b3e01394145b4566539af0e4811e6716d765d8/test/mjsunit/modules-fail-star-exports-conflict.js
[delete] https://crrev.com/35b3e01394145b4566539af0e4811e6716d765d8/test/mjsunit/modules-skip-cyclic-3.js
[delete] https://crrev.com/35b3e01394145b4566539af0e4811e6716d765d8/test/mjsunit/modules-skip-cyclic.js

Project Member

Comment 133 by bugdroid1@chromium.org, Oct 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/84bbdc7648926fc143529a04d15b57b8d1a6cb89

commit 84bbdc7648926fc143529a04d15b57b8d1a6cb89
Author: adamk <adamk@chromium.org>
Date: Thu Oct 27 12:37:22 2016

[modules] Move MODULE variable back to Scopes, before resolution

Unlike other variable allocation logic, MODULE allocation does
not depend on resolution. So in order to give hole check elimination
(which runs during resolution) access to the information "is this
variable an import", simply allocate all modules variables prior
to resolution.

BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2458653002
Cr-Commit-Position: refs/heads/master@{#40621}

[modify] https://crrev.com/84bbdc7648926fc143529a04d15b57b8d1a6cb89/src/ast/scopes.cc
[modify] https://crrev.com/84bbdc7648926fc143529a04d15b57b8d1a6cb89/src/ast/scopes.h
[modify] https://crrev.com/84bbdc7648926fc143529a04d15b57b8d1a6cb89/src/parsing/parser.cc
[modify] https://crrev.com/84bbdc7648926fc143529a04d15b57b8d1a6cb89/src/parsing/parser.h

Project Member

Comment 134 by bugdroid1@chromium.org, Oct 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a017715d1d1daabbf8fcf731cd79120411b70d4c

commit a017715d1d1daabbf8fcf731cd79120411b70d4c
Author: neis <neis@chromium.org>
Date: Fri Oct 28 14:40:46 2016

[modules] Remove outdated TODO.

R=gsathya@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2460883002
Cr-Commit-Position: refs/heads/master@{#40649}

[modify] https://crrev.com/a017715d1d1daabbf8fcf731cd79120411b70d4c/src/objects.cc

Project Member

Comment 136 by bugdroid1@chromium.org, Nov 4 2016

Project Member

Comment 137 by bugdroid1@chromium.org, Nov 4 2016

Project Member

Comment 139 by bugdroid1@chromium.org, Nov 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/21463f73e97deefe89177ce6b65a81e898c2acc6

commit 21463f73e97deefe89177ce6b65a81e898c2acc6
Author: neis <neis@chromium.org>
Date: Mon Nov 07 16:23:20 2016

[modules] Maintain array of cells for imports and local exports.

This makes use of the newly introduced cell indices to speed up variable
accesses. Imports and local exports are now directly stored in (separate)
arrays. In the future, we may merge the two arrays into a single one, or
even into the module context.

This CL also replaces the LoadImport and LoadExport runtime functions with
a single LoadVariable taking a variable index as argument (rather than a
name).

BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2465283004
Cr-Commit-Position: refs/heads/master@{#40808}

[modify] https://crrev.com/21463f73e97deefe89177ce6b65a81e898c2acc6/src/ast/modules.cc
[modify] https://crrev.com/21463f73e97deefe89177ce6b65a81e898c2acc6/src/ast/modules.h
[modify] https://crrev.com/21463f73e97deefe89177ce6b65a81e898c2acc6/src/debug/debug-scopes.cc
[modify] https://crrev.com/21463f73e97deefe89177ce6b65a81e898c2acc6/src/factory.cc
[modify] https://crrev.com/21463f73e97deefe89177ce6b65a81e898c2acc6/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/21463f73e97deefe89177ce6b65a81e898c2acc6/src/objects-inl.h
[modify] https://crrev.com/21463f73e97deefe89177ce6b65a81e898c2acc6/src/objects.cc
[modify] https://crrev.com/21463f73e97deefe89177ce6b65a81e898c2acc6/src/objects.h
[modify] https://crrev.com/21463f73e97deefe89177ce6b65a81e898c2acc6/src/runtime/runtime-module.cc
[modify] https://crrev.com/21463f73e97deefe89177ce6b65a81e898c2acc6/src/runtime/runtime.h
[modify] https://crrev.com/21463f73e97deefe89177ce6b65a81e898c2acc6/test/cctest/interpreter/bytecode_expectations/Modules.golden

Project Member

Comment 140 by bugdroid1@chromium.org, Nov 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/dd155e47bd167b4bb536493579366f8035896233

commit dd155e47bd167b4bb536493579366f8035896233
Author: neis <neis@chromium.org>
Date: Tue Nov 08 11:01:03 2016

[ignition,modules] Introduce bytecodes for loading/storing module variables.

This introduces two new bytecodes LdaModuleVariable and StaModuleVariable,
replacing the corresponding runtime calls.

Support in the bytecode graph builder exists only in the form of runtime calls.

BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2471033004
Cr-Commit-Position: refs/heads/master@{#40825}

[modify] https://crrev.com/dd155e47bd167b4bb536493579366f8035896233/src/bailout-reason.h
[modify] https://crrev.com/dd155e47bd167b4bb536493579366f8035896233/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/dd155e47bd167b4bb536493579366f8035896233/src/interpreter/bytecode-array-builder.cc
[modify] https://crrev.com/dd155e47bd167b4bb536493579366f8035896233/src/interpreter/bytecode-array-builder.h
[modify] https://crrev.com/dd155e47bd167b4bb536493579366f8035896233/src/interpreter/bytecode-generator.cc
[modify] https://crrev.com/dd155e47bd167b4bb536493579366f8035896233/src/interpreter/bytecodes.h
[modify] https://crrev.com/dd155e47bd167b4bb536493579366f8035896233/src/interpreter/interpreter.cc
[modify] https://crrev.com/dd155e47bd167b4bb536493579366f8035896233/test/cctest/interpreter/bytecode_expectations/Modules.golden
[modify] https://crrev.com/dd155e47bd167b4bb536493579366f8035896233/test/unittests/interpreter/bytecode-array-builder-unittest.cc

Project Member

Comment 141 by bugdroid1@chromium.org, Nov 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/cc3195abda56e56b05cf92c41b493055e9ba52ad

commit cc3195abda56e56b05cf92c41b493055e9ba52ad
Author: neis <neis@chromium.org>
Date: Tue Nov 08 11:45:04 2016

[modules] Disable Crankshaft for functions referencing module variables.

Also add a primitive mjsunit test that uses such a function optimized by
Turbofan.

R=mstarzinger@chromium.org
CC=adamk@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2472143002
Cr-Commit-Position: refs/heads/master@{#40826}

[modify] https://crrev.com/cc3195abda56e56b05cf92c41b493055e9ba52ad/src/ast/ast-numbering.cc
[modify] https://crrev.com/cc3195abda56e56b05cf92c41b493055e9ba52ad/src/bailout-reason.h
[add] https://crrev.com/cc3195abda56e56b05cf92c41b493055e9ba52ad/test/mjsunit/modules-turbo.js

Project Member

Comment 142 by bugdroid1@chromium.org, Nov 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a9f593ef6ba936f07c034ce74e93a1bd9507df5f

commit a9f593ef6ba936f07c034ce74e93a1bd9507df5f
Author: neis <neis@chromium.org>
Date: Thu Nov 10 10:21:04 2016

[compiler,modules] Introduce JS operators for module loads and stores.

With this CL, the bytecode graph builder no longer translates module
loads/stores as runtime calls but in terms of two new JS operators.  These are
lowered in typed-lowering to a sequence of LoadField's.

R=bmeurer@chromium.org
CC=adamk@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2489863003
Cr-Commit-Position: refs/heads/master@{#40881}

[modify] https://crrev.com/a9f593ef6ba936f07c034ce74e93a1bd9507df5f/src/compiler/access-builder.cc
[modify] https://crrev.com/a9f593ef6ba936f07c034ce74e93a1bd9507df5f/src/compiler/access-builder.h
[modify] https://crrev.com/a9f593ef6ba936f07c034ce74e93a1bd9507df5f/src/compiler/bytecode-graph-builder.cc
[modify] https://crrev.com/a9f593ef6ba936f07c034ce74e93a1bd9507df5f/src/compiler/js-generic-lowering.cc
[modify] https://crrev.com/a9f593ef6ba936f07c034ce74e93a1bd9507df5f/src/compiler/js-operator.cc
[modify] https://crrev.com/a9f593ef6ba936f07c034ce74e93a1bd9507df5f/src/compiler/js-operator.h
[modify] https://crrev.com/a9f593ef6ba936f07c034ce74e93a1bd9507df5f/src/compiler/js-typed-lowering.cc
[modify] https://crrev.com/a9f593ef6ba936f07c034ce74e93a1bd9507df5f/src/compiler/js-typed-lowering.h
[modify] https://crrev.com/a9f593ef6ba936f07c034ce74e93a1bd9507df5f/src/compiler/opcodes.h
[modify] https://crrev.com/a9f593ef6ba936f07c034ce74e93a1bd9507df5f/src/compiler/typer.cc
[modify] https://crrev.com/a9f593ef6ba936f07c034ce74e93a1bd9507df5f/src/compiler/verifier.cc

Project Member

Comment 143 by bugdroid1@chromium.org, Nov 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2e5a90fd024f9cf70b8fc5b55aee2c1f574288d3

commit 2e5a90fd024f9cf70b8fc5b55aee2c1f574288d3
Author: mstarzinger <mstarzinger@chromium.org>
Date: Mon Nov 21 14:18:13 2016

[test] Run module tests in all variants.

By now the compilation pipeline is flexible enough to run module tests
against all variants, we should no longer choose unsupported compilers
for modules. It also fixes the predicate checking for functions being
"resumable" in the {AstNumberingVisitor} heuristic.

R=neis@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2517143002
Cr-Commit-Position: refs/heads/master@{#41144}

[modify] https://crrev.com/2e5a90fd024f9cf70b8fc5b55aee2c1f574288d3/src/ast/ast-numbering.cc
[modify] https://crrev.com/2e5a90fd024f9cf70b8fc5b55aee2c1f574288d3/test/cctest/cctest.status
[modify] https://crrev.com/2e5a90fd024f9cf70b8fc5b55aee2c1f574288d3/test/mjsunit/mjsunit.status
[modify] https://crrev.com/2e5a90fd024f9cf70b8fc5b55aee2c1f574288d3/test/test262/test262.status

Project Member

Comment 144 by bugdroid1@chromium.org, Nov 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/ffe2fbf876836d84b0296a1486be54d68d2aed6d

commit ffe2fbf876836d84b0296a1486be54d68d2aed6d
Author: mstarzinger <mstarzinger@chromium.org>
Date: Tue Nov 22 11:35:58 2016

[test] Run module tests on the deopt fuzzer.

R=neis@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2523693002
Cr-Commit-Position: refs/heads/master@{#41171}

[modify] https://crrev.com/ffe2fbf876836d84b0296a1486be54d68d2aed6d/test/mjsunit/mjsunit.status

Project Member

Comment 145 by bugdroid1@chromium.org, Nov 23 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f77dbef1ab24c5889c8ff3f2735e65fb4fa85335

commit f77dbef1ab24c5889c8ff3f2735e65fb4fa85335
Author: mstarzinger <mstarzinger@chromium.org>
Date: Wed Nov 23 12:01:01 2016

[test] Run module message tests in all variants.

R=neis@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2528433005
Cr-Commit-Position: refs/heads/master@{#41211}

[modify] https://crrev.com/f77dbef1ab24c5889c8ff3f2735e65fb4fa85335/test/message/message.status

Project Member

Comment 146 by bugdroid1@chromium.org, Nov 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/cde9f7bfedbff818fc05e5c7f723b108de4c6a4a

commit cde9f7bfedbff818fc05e5c7f723b108de4c6a4a
Author: neis <neis@chromium.org>
Date: Thu Nov 24 10:48:39 2016

[modules] Propagate module status when creating ParseInfo from SFI.

In the ParseInfo constructor that takes a SharedFunctionInfo, we must
set the module flag when the function represents a module.

BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2525013002
Cr-Commit-Position: refs/heads/master@{#41257}

[modify] https://crrev.com/cde9f7bfedbff818fc05e5c7f723b108de4c6a4a/src/parsing/parse-info.cc
[modify] https://crrev.com/cde9f7bfedbff818fc05e5c7f723b108de4c6a4a/test/mjsunit/mjsunit.status

Cc: yosin@chromium.org

Comment 148 by neis@chromium.org, Nov 30 2016

Blockedon: 5685
Project Member

Comment 149 by bugdroid1@chromium.org, Dec 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/6505e022662d368e09e28148d24ab1d0a4887aa4

commit 6505e022662d368e09e28148d24ab1d0a4887aa4
Author: adamk <adamk@chromium.org>
Date: Thu Dec 08 08:43:32 2016

[modules] Remove outdated TODO in module namespace objects test

As of https://github.com/tc39/ecma262/commit/13906140a, the spec
now returns true when [[SetPrototypeOf]] is invoked with null
on a module namespace object.

R=neis@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2557923004
Cr-Commit-Position: refs/heads/master@{#41575}

[modify] https://crrev.com/6505e022662d368e09e28148d24ab1d0a4887aa4/test/mjsunit/modules-namespace1.js

Project Member

Comment 150 by bugdroid1@chromium.org, Dec 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e3ad4f131b9453252f77f20046427959acf8d939

commit e3ad4f131b9453252f77f20046427959acf8d939
Author: neis <neis@chromium.org>
Date: Fri Dec 16 08:57:29 2016

[modules] Remove @@iterator on namespace objects.

TC39 decided at their last meeting to remove this feature.

R=adamk@chromium.org
TBR=ulan@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2578053003
Cr-Commit-Position: refs/heads/master@{#41745}

[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/ast/ast-types.cc
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/bootstrapper.cc
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/builtins/builtins-iterator.cc
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/builtins/builtins.h
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/compiler/types.cc
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/contexts.h
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/factory.cc
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/factory.h
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/heap/objects-visiting.cc
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/objects-body-descriptors-inl.h
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/objects-debug.cc
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/objects-inl.h
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/objects-printer.cc
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/src/objects.h
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/test/cctest/interpreter/bytecode_expectations/CallRuntime.golden
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/test/mjsunit/modules-namespace1.js
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/test/mjsunit/modules-namespace2.js
[modify] https://crrev.com/e3ad4f131b9453252f77f20046427959acf8d939/test/test262/test262.status

Comment 152 by trusktr@gmail.com, Jan 10 2017

Is there a target release version yet?
v8 fully supports modules in its shell (d8) at this point; the bulk of the development now is on the Chromium side, so I'd recommend following https://bugs.chromium.org/p/chromium/issues/detail?id=594639 for ongoing work there.
Project Member

Comment 154 by bugdroid1@chromium.org, Jan 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/aee244b0e115f4c3aef56055b739777dde94c3ac

commit aee244b0e115f4c3aef56055b739777dde94c3ac
Author: ishell <ishell@chromium.org>
Date: Thu Jan 12 21:40:04 2017

[modules] Define @@toStringTag on namespace object as a field.

The constant field tracking implies data constants to be stored
in fields instead of descriptor arrays. This CL does necessary
modifications to the JSModuleNamespace map setup.

BUG= v8:1569 , v8:5495

Review-Url: https://codereview.chromium.org/2625093005
Cr-Commit-Position: refs/heads/master@{#42294}

[modify] https://crrev.com/aee244b0e115f4c3aef56055b739777dde94c3ac/src/bootstrapper.cc
[modify] https://crrev.com/aee244b0e115f4c3aef56055b739777dde94c3ac/src/factory.cc
[modify] https://crrev.com/aee244b0e115f4c3aef56055b739777dde94c3ac/src/objects-inl.h
[modify] https://crrev.com/aee244b0e115f4c3aef56055b739777dde94c3ac/src/objects-printer.cc
[modify] https://crrev.com/aee244b0e115f4c3aef56055b739777dde94c3ac/src/objects.h

Project Member

Comment 155 by bugdroid1@chromium.org, Jan 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9eb8714262ac66597d0642a3ab1a9ac1dedb9cb9

commit 9eb8714262ac66597d0642a3ab1a9ac1dedb9cb9
Author: neis <neis@chromium.org>
Date: Fri Jan 13 12:23:06 2017

[modules] Remove dead code.

TBR=adamk@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2621413009
Cr-Commit-Position: refs/heads/master@{#42325}

[modify] https://crrev.com/9eb8714262ac66597d0642a3ab1a9ac1dedb9cb9/src/objects.h

Project Member

Comment 156 by bugdroid1@chromium.org, Jan 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/01b684cf6869f52ff37b2a5d584314e07f7028a2

commit 01b684cf6869f52ff37b2a5d584314e07f7028a2
Author: rmcilroy <rmcilroy@chromium.org>
Date: Tue Jan 17 10:14:02 2017

[modules] Fix NewJSModuleNamespace to avoid GC being able to see incomplete JSModuleNamespace.

A GC could happen when creating the Module string, which would cause the
JSModuleNamespace to be seen in an incomplete state. Instead make this
string a root object so that we don't need to allocate it during
NewJSModuleNamespace construction.

BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2631223002
Cr-Commit-Position: refs/heads/master@{#42393}

[modify] https://crrev.com/01b684cf6869f52ff37b2a5d584314e07f7028a2/src/factory.cc
[modify] https://crrev.com/01b684cf6869f52ff37b2a5d584314e07f7028a2/src/heap-symbols.h

Project Member

Comment 157 by bugdroid1@chromium.org, Jan 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b0f5abbea372b0cc4d27f267de271766f5c8a11a

commit b0f5abbea372b0cc4d27f267de271766f5c8a11a
Author: neis <neis@chromium.org>
Date: Thu Jan 19 06:59:20 2017

[modules] Add an IsModule flag to ScriptOriginOptions.

Since the script origin is part of the key used in the compilation
cache, this ensures that the cache never confuses a module with a
non-module script.

BUG= v8:1569 , v8:5685 

Review-Url: https://codereview.chromium.org/2611643002
Cr-Commit-Position: refs/heads/master@{#42490}

[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/include/v8.h
[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/src/api.cc
[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/src/bootstrapper.cc
[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/src/compiler.cc
[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/src/compiler.h
[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/src/d8.cc
[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/src/objects.h
[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/test/cctest/compiler/test-linkage.cc
[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/test/cctest/interpreter/bytecode-expectations-printer.cc
[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/test/cctest/test-compiler.cc
[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/test/cctest/test-modules.cc
[modify] https://crrev.com/b0f5abbea372b0cc4d27f267de271766f5c8a11a/test/cctest/test-serialize.cc

Comment 158 Deleted

Comment 159 by trusktr@gmail.com, Jan 21 2017

Doesn't seem to work in macOS Chrome Canary. I tried

  /Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --harmony-modules

and I have an HTML file like this:

  <script type="module">
    async function main() {
      const imports = await import('./Foo.js')
      console.log(Foo)
    }
    main()
  </script>

Works in Safari Tech Preview and logs the class exported from Foo.js. How do I get it working in Chrome Canary?

Comment 160 by trusktr@gmail.com, Jan 21 2017

Oops, Sorry, I meant my HTML file looks like this:

  <script type="module">
    import Foo from './Foo.js'
    console.log(Foo)
  </script>

That one works in Safari.
Project Member

Comment 161 by bugdroid1@chromium.org, Jan 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5ed733737e0241af2bf939fec1f82af24b5a0d52

commit 5ed733737e0241af2bf939fec1f82af24b5a0d52
Author: neis <neis@chromium.org>
Date: Mon Jan 30 09:41:15 2017

[modules] Update a test and status file to reflect recent spec changes.

R=adamk@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2657773006
Cr-Commit-Position: refs/heads/master@{#42763}

[modify] https://crrev.com/5ed733737e0241af2bf939fec1f82af24b5a0d52/test/mjsunit/modules-namespace1.js
[modify] https://crrev.com/5ed733737e0241af2bf939fec1f82af24b5a0d52/test/test262/test262.status

Project Member

Comment 162 by bugdroid1@chromium.org, Jan 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d6db11fd181061f9ffce4431af5afec0dba2c82c

commit d6db11fd181061f9ffce4431af5afec0dba2c82c
Author: kozyatinskiy <kozyatinskiy@chromium.org>
Date: Tue Jan 31 00:19:41 2017

[inspector] added test infrastructure and test for es6 modules

Test just checks that all basic features are working correctly with modules.

BUG= v8:1569 
R=dgozman@chromium.org,alph@chromium.org,adamk@chromium.org

Review-Url: https://codereview.chromium.org/2663743002
Cr-Commit-Position: refs/heads/master@{#42796}

[modify] https://crrev.com/d6db11fd181061f9ffce4431af5afec0dba2c82c/src/ast/scopes.cc
[modify] https://crrev.com/d6db11fd181061f9ffce4431af5afec0dba2c82c/test/inspector/debugger/get-possible-breakpoints-array-literal.js
[modify] https://crrev.com/d6db11fd181061f9ffce4431af5afec0dba2c82c/test/inspector/debugger/get-possible-breakpoints.js
[modify] https://crrev.com/d6db11fd181061f9ffce4431af5afec0dba2c82c/test/inspector/inspector-test.cc
[modify] https://crrev.com/d6db11fd181061f9ffce4431af5afec0dba2c82c/test/inspector/protocol-test.js
[add] https://crrev.com/d6db11fd181061f9ffce4431af5afec0dba2c82c/test/inspector/runtime/es6-module-expected.txt
[add] https://crrev.com/d6db11fd181061f9ffce4431af5afec0dba2c82c/test/inspector/runtime/es6-module.js
[modify] https://crrev.com/d6db11fd181061f9ffce4431af5afec0dba2c82c/test/inspector/task-runner.cc
[modify] https://crrev.com/d6db11fd181061f9ffce4431af5afec0dba2c82c/test/inspector/task-runner.h

Project Member

Comment 163 by bugdroid1@chromium.org, Feb 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e

commit 9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e
Author: kozyatinskiy <kozyatinskiy@chromium.org>
Date: Fri Feb 03 07:17:09 2017

[inspector] added experimental is_module flag for script parsed events

This flag is true when compiled script is ES6 module.

BUG= v8:1569 
R=dgozman@chromium.org,adamk@chromium.org

Review-Url: https://codereview.chromium.org/2663973002
Cr-Commit-Position: refs/heads/master@{#42910}

[modify] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/src/api.cc
[modify] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/src/debug/debug-interface.h
[modify] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/src/inspector/js_protocol.json
[modify] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/src/inspector/v8-debugger-agent-impl.cc
[modify] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/src/inspector/v8-debugger-script.cc
[modify] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/src/inspector/v8-debugger-script.h
[add] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/test/inspector/debugger/es6-module-script-parsed-expected.txt
[add] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/test/inspector/debugger/es6-module-script-parsed.js
[modify] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/test/inspector/debugger/script-on-after-compile-expected.txt
[modify] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/test/inspector/debugger/script-parsed-for-runtime-evaluate-expected.txt
[modify] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/test/inspector/protocol-test.js
[modify] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/test/inspector/runtime/es6-module-expected.txt
[modify] https://crrev.com/9c7da663f93df1e6fa8a9e899f2bacbe2b7f8d8e/test/inspector/runtime/es6-module.js

Comment 165 Deleted

Bogdan Padalko asked me to post this comment by email:

I currently work on php-v8 (https://github.com/pinepain/php-v8) to add experimental modules support. 

Is it possible to add data as an optional third parameter to Module::Instantiate which will be then passed as a fourth parameters to  Module::ResolveCallback callback:

  V8_WARN_UNUSED_RESULT bool Instantiate(Local<Context> context,
                                         ResolveCallback callback,
                                         Local<Value> data = Local<Value>());

and

  typedef MaybeLocal<Module> (*ResolveCallback)(Local<Context> context,
                                                Local<String> specifier,
                                                Local<Module> referrer,
                                                Local<Value> data);

I'd benefit from it a lot to pass PHP callback. I guess all embedders would benefit from this.

Also, it would be quite nice for embedding purposses to be able to set internal fields on Module, like on Context to associate embedders data.
Blockedon: 5979
Thanks for posting it for me and taking care, for some reason I wasn't able to get in with 3rd party cookie disabled.

Comment 169 by neis@chromium.org, Feb 17 2017

Blockedon: 5978

Comment 170 Deleted

Project Member

Comment 171 by bugdroid1@chromium.org, Feb 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/abb9eda40d2500238432ed2c64c4491ffbaa9263

commit abb9eda40d2500238432ed2c64c4491ffbaa9263
Author: adamk <adamk@chromium.org>
Date: Tue Feb 21 18:25:18 2017

[api] Use CHECK instead of DCHECK for IsModule tests in ScriptCompiler

This is such a mis-use of the API that it's important to fail fast:
this patch was prompted by a bug report from a Node.js developer
trying to use CompileModule() without passing a properly
module-tagged ScriptOrigin.

R=jochen@chromium.org, neis@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2695713014
Cr-Commit-Position: refs/heads/master@{#43354}

[modify] https://crrev.com/abb9eda40d2500238432ed2c64c4491ffbaa9263/src/api.cc

Project Member

Comment 172 by bugdroid1@chromium.org, Feb 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/32f60470d527116be7411756c02e4709eeae410f

commit 32f60470d527116be7411756c02e4709eeae410f
Author: neis <neis@chromium.org>
Date: Thu Feb 23 17:10:15 2017

[modules] When debug-printing a module, print its origin if possible.

BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2711123002
Cr-Commit-Position: refs/heads/master@{#43392}

[modify] https://crrev.com/32f60470d527116be7411756c02e4709eeae410f/src/objects-printer.cc

Project Member

Comment 173 by bugdroid1@chromium.org, Feb 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/59c9e6ff6915f844cc26821c590001226a399846

commit 59c9e6ff6915f844cc26821c590001226a399846
Author: Georg Neis <neis@chromium.org>
Date: Tue Feb 28 19:00:58 2017

[modules] Fix bug in Module::Instantiate.

The order in which things were done wasn't quite correct and lead
to wrong behaviour for certain circular module graphs.

BUG= v8:1569 , chromium:694566 

Change-Id: I291186e261268c853a30ad891ff362904e0b28ef
Reviewed-on: https://chromium-review.googlesource.com/447399
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43497}
[modify] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/src/factory.cc
[modify] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/src/objects-debug.cc
[modify] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/src/objects-inl.h
[modify] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/src/objects.cc
[modify] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/src/objects.h
[add] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/test/message/modules-cycle5.js
[add] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/test/message/modules-cycle5.out
[add] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/test/message/modules-cycle6.js
[add] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/test/message/modules-cycle6.out
[add] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/test/message/modules-skip-cycle5.js
[add] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/test/message/modules-skip-cycle6.js
[add] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/test/mjsunit/modules-cycle.js
[add] https://crrev.com/59c9e6ff6915f844cc26821c590001226a399846/test/mjsunit/modules-skip-cycle.js

Comment 175 by jhab...@gmail.com, Mar 17 2017

Please consider upgrading priority to High. This feature request is going on 6 years now.
Labels: Priority-2
Why are we humans so bad at agreeing on specifications... of all the tech companies, the company that sells the most overpriced laptops/phone and has a site with a progressive web app score of 33/100 is releasing a ES6 module capable browser while the rest is still messing with bundlers and transpilers. Didn't we learn from shadow dom v0 that nobody will agree on anything unless somebody makes something that can be tested for real by many other people? Pen and paper modules only get you so far. Even if they released something buggy as hell they will be the one that did push everybody forward. Not saying it is easy at all just saying nobody can do this perfect on their first try.
Project Member

Comment 178 by bugdroid1@chromium.org, Mar 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/cb3174632ee246d830cce969b9abb5e2879d2f58

commit cb3174632ee246d830cce969b9abb5e2879d2f58
Author: Georg Neis <neis@chromium.org>
Date: Mon Mar 27 06:58:54 2017

[test262] Update status file w.r.t. modules.

Bug:  v8:1569 ,  v8:5401 
Change-Id: I6a223d20eb9e7e299712955a36c7b95762780604
Reviewed-on: https://chromium-review.googlesource.com/459601
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44138}
[modify] https://crrev.com/cb3174632ee246d830cce969b9abb5e2879d2f58/test/test262/test262.status

Project Member

Comment 179 by bugdroid1@chromium.org, Apr 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/486cd04f3d9a75acb4d9f929b333954b8f59cec0

commit 486cd04f3d9a75acb4d9f929b333954b8f59cec0
Author: neis <neis@chromium.org>
Date: Wed Apr 19 18:28:09 2017

[modules] Allow resolve-callback to signal failure.

When asked for a module that previously failed to compile or
instantiate, the embedder necessarily has to signal failure.  In this
case, we expect an exception to be scheduled, which we will rethrow.

BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2827733002
Cr-Commit-Position: refs/heads/master@{#44729}

[modify] https://crrev.com/486cd04f3d9a75acb4d9f929b333954b8f59cec0/include/v8.h
[modify] https://crrev.com/486cd04f3d9a75acb4d9f929b333954b8f59cec0/src/objects.cc
[modify] https://crrev.com/486cd04f3d9a75acb4d9f929b333954b8f59cec0/src/objects.h
[modify] https://crrev.com/486cd04f3d9a75acb4d9f929b333954b8f59cec0/test/cctest/test-modules.cc

Comment 181 Deleted

Project Member

Comment 183 by bugdroid1@chromium.org, May 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/24d7890151cdaae0bf373a30bc8fbd603bfbfa9a

commit 24d7890151cdaae0bf373a30bc8fbd603bfbfa9a
Author: neis <neis@chromium.org>
Date: Thu May 04 11:09:19 2017

[compiler][modules] Constant-fold loads of module cells.

1. Generalize context specialization such that the provided context
   can be any outer context of the function, not necessarily the
   immediate outer context.

2. Based on this: if function specialization is disabled, then
   specialize for the module context if there is one.

3. Extend typed lowering of module loads and stores such that if
   the operand is a Module constant, we constant-fold the cell load.
   That is, a JSLoadModule with a Module HeapConstant input becomes
   a LoadField with a Cell HeapConstant input, and similarly for
   JSStoreModule.

BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2841613002
Cr-Commit-Position: refs/heads/master@{#45083}

[modify] https://crrev.com/24d7890151cdaae0bf373a30bc8fbd603bfbfa9a/src/compiler/js-context-specialization.cc
[modify] https://crrev.com/24d7890151cdaae0bf373a30bc8fbd603bfbfa9a/src/compiler/js-context-specialization.h
[modify] https://crrev.com/24d7890151cdaae0bf373a30bc8fbd603bfbfa9a/src/compiler/js-typed-lowering.cc
[modify] https://crrev.com/24d7890151cdaae0bf373a30bc8fbd603bfbfa9a/src/compiler/node-properties.cc
[modify] https://crrev.com/24d7890151cdaae0bf373a30bc8fbd603bfbfa9a/src/compiler/node-properties.h
[modify] https://crrev.com/24d7890151cdaae0bf373a30bc8fbd603bfbfa9a/src/compiler/pipeline.cc
[modify] https://crrev.com/24d7890151cdaae0bf373a30bc8fbd603bfbfa9a/src/compiler/types.cc
[modify] https://crrev.com/24d7890151cdaae0bf373a30bc8fbd603bfbfa9a/test/cctest/compiler/test-js-context-specialization.cc

Project Member

Comment 184 by bugdroid1@chromium.org, Jun 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c1862b9f4bf3a00b5a1065584e9017eb80db47df

commit c1862b9f4bf3a00b5a1065584e9017eb80db47df
Author: Georg Neis <neis@chromium.org>
Date: Fri Jun 02 15:42:45 2017

[debug, modules] Implement ScopeIterator::SetVariableValue for exported locals.

R=jgruber@chromium.org, kozyatinskiy@chromium.org

Bug:  v8:1569 
Change-Id: Ief7d96079adc03e62c129ac2bb9d9ccd6db65102
Reviewed-on: https://chromium-review.googlesource.com/522664
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45693}
[modify] https://crrev.com/c1862b9f4bf3a00b5a1065584e9017eb80db47df/src/debug/debug-scopes.cc
[modify] https://crrev.com/c1862b9f4bf3a00b5a1065584e9017eb80db47df/src/debug/debug-scopes.h
[add] https://crrev.com/c1862b9f4bf3a00b5a1065584e9017eb80db47df/test/debugger/debug/debug-modules-set-variable-value.js

Project Member

Comment 185 by bugdroid1@chromium.org, Jun 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/90b68baabc5ba545de2a73047f9beaac8b5bc0b5

commit 90b68baabc5ba545de2a73047f9beaac8b5bc0b5
Author: neis <neis@chromium.org>
Date: Fri Jun 02 17:36:00 2017

[modules] Teach JSObject::ReferencesObject about module contexts.

A module context holds the module object in its extension slot, which should not be recursed on (it's not even a JSObject).

(I don't know how this code path can be triggered, though.)

R=adamk@chromium.org
BUG= v8:1569 

Review-Url: https://codereview.chromium.org/2919063002
Cr-Commit-Position: refs/heads/master@{#45695}

[modify] https://crrev.com/90b68baabc5ba545de2a73047f9beaac8b5bc0b5/src/objects.cc

Project Member

Comment 186 by bugdroid1@chromium.org, Jun 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e53fdff9da062457405d696796d5e93b9cfd854a

commit e53fdff9da062457405d696796d5e93b9cfd854a
Author: Georg Neis <neis@chromium.org>
Date: Thu Jun 15 15:46:48 2017

[modules] Fix setting variables via debug-scopes.

I incorrectly assumed that ScopeIterator::SetModuleVariableValue gets called
when the frame is the module function.

R=jgruber@chromium.org, kozyatinskiy@chromium.org

Bug:  v8:1569 ,  v8:6484 
Change-Id: I1fbad8ccde57280149547c78e679527f7a0c89dd
Reviewed-on: https://chromium-review.googlesource.com/535620
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45961}
[modify] https://crrev.com/e53fdff9da062457405d696796d5e93b9cfd854a/src/debug/debug-scopes.cc
[modify] https://crrev.com/e53fdff9da062457405d696796d5e93b9cfd854a/src/objects/scope-info.cc
[modify] https://crrev.com/e53fdff9da062457405d696796d5e93b9cfd854a/test/debugger/debug/debug-modules-set-variable-value.js

Project Member

Comment 187 by bugdroid1@chromium.org, Jun 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4f065cd141fede7d7249d2816778c518096e71f6

commit 4f065cd141fede7d7249d2816778c518096e71f6
Author: Georg Neis <neis@chromium.org>
Date: Wed Jun 21 14:59:47 2017

[test262] Remove outdated SKIPs from status file.

R=littledan@chromium.org

Bug:  v8:1569 
Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng
Change-Id: I9c598afca288c68a64bf15c39e1043c6c37b6add
Reviewed-on: https://chromium-review.googlesource.com/543139
Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46100}
[modify] https://crrev.com/4f065cd141fede7d7249d2816778c518096e71f6/test/test262/test262.status

Project Member

Comment 188 by bugdroid1@chromium.org, Jun 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64

commit d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64
Author: Georg Neis <neis@chromium.org>
Date: Wed Jun 28 14:24:37 2017

[modules] Implement the new semantics of instantiation and evaluation.

This implements the changes proposed at
https://github.com/tc39/ecma262/pull/916.
The API will be extended in a follow-up CL.

R=adamk@chromium.org

Bug:  v8:1569 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I79476b5b674c924fea390dff1b9bee7f86a111c6
Reviewed-on: https://chromium-review.googlesource.com/544970
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46289}
[modify] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/src/api.cc
[modify] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/src/factory.cc
[modify] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/src/objects-debug.cc
[modify] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/src/objects-inl.h
[modify] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/src/objects-printer.cc
[modify] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/src/objects.cc
[modify] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/src/objects.h
[modify] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/src/zone/zone-containers.h
[modify] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/test/cctest/interpreter/bytecode-expectations-printer.cc
[add] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/test/mjsunit/harmony/import-from-compilation-errored.js
[add] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/test/mjsunit/harmony/import-from-evaluation-errored.js
[add] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/test/mjsunit/harmony/import-from-fetch-errored.js
[add] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/test/mjsunit/harmony/import-from-instantiation-errored.js
[add] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/test/mjsunit/harmony/modules-skip-10.js
[add] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/test/mjsunit/harmony/modules-skip-11.js
[add] https://crrev.com/d02cb6f0ff7fb5b7bb818a436df7de2f7e353d64/test/mjsunit/harmony/modules-skip-12.js

Project Member

Comment 189 by bugdroid1@chromium.org, Jun 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a209dcf6a151b0bc26aace1b49507af255b948b2

commit a209dcf6a151b0bc26aace1b49507af255b948b2
Author: Georg Neis <neis@chromium.org>
Date: Wed Jun 28 15:54:57 2017

[api] Expose a module's status and exception.

V8 now takes care of recording a module's status, as proposed
in https://github.com/tc39/ecma262/pull/916.

R=adamk@chromium.org

Bug:  v8:1569 ,  chromium:594639 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Id884f1c817e1dc3eea79a5d5a7f5cd996db1dbb0
Reviewed-on: https://chromium-review.googlesource.com/548500
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46293}
[modify] https://crrev.com/a209dcf6a151b0bc26aace1b49507af255b948b2/include/v8.h
[modify] https://crrev.com/a209dcf6a151b0bc26aace1b49507af255b948b2/src/api.cc
[modify] https://crrev.com/a209dcf6a151b0bc26aace1b49507af255b948b2/test/cctest/test-modules.cc

Project Member

Comment 190 by bugdroid1@chromium.org, Jun 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5e62c1fba3195d240367ff4addd558de081740e5

commit 5e62c1fba3195d240367ff4addd558de081740e5
Author: Georg Neis <neis@chromium.org>
Date: Wed Jun 28 16:02:22 2017

[modules, cleanup] Reuse existing zone.

... instead of creating a new one in each recursive call.

R=adamk@chromium.org

Bug:  v8:1569 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Ieb2e76a5dec7bc0157b534a8b5f21acf6c86007c
Reviewed-on: https://chromium-review.googlesource.com/552548
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46294}
[modify] https://crrev.com/5e62c1fba3195d240367ff4addd558de081740e5/src/objects.cc
[modify] https://crrev.com/5e62c1fba3195d240367ff4addd558de081740e5/src/objects.h

Project Member

Comment 191 by bugdroid1@chromium.org, Jun 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/365fd6613967039e33ddc598eb65dc690f84edad

commit 365fd6613967039e33ddc598eb65dc690f84edad
Author: Georg Neis <neis@chromium.org>
Date: Thu Jun 29 10:21:40 2017

[modules, cleanup] Simplify Print().

R=adamk@chromium.org

Bug:  v8:1569 
Change-Id: Idf069e7c8dac4a064eacf6bd1db1df3314988e6a
Reviewed-on: https://chromium-review.googlesource.com/553261
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46313}
[modify] https://crrev.com/365fd6613967039e33ddc598eb65dc690f84edad/src/objects-printer.cc

Project Member

Comment 192 by bugdroid1@chromium.org, Jul 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/ddec1c4f57a94f5e0450e70c98c1b5d2d5f0d46e

commit ddec1c4f57a94f5e0450e70c98c1b5d2d5f0d46e
Author: Georg Neis <neis@chromium.org>
Date: Tue Jul 25 12:09:41 2017

[modules] Fix Object.prototype.hasOwnProperty on namespace objects.

This must throw for uninitialized properties.

R=adamk@chromium.org

Bug:  v8:1569 ,  v8:5487 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng
Change-Id: I8beb8bf6a197870eb5c038102ab474dd12f6b6eb
Reviewed-on: https://chromium-review.googlesource.com/582013
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46870}
[modify] https://crrev.com/ddec1c4f57a94f5e0450e70c98c1b5d2d5f0d46e/include/v8.h
[modify] https://crrev.com/ddec1c4f57a94f5e0450e70c98c1b5d2d5f0d46e/src/objects-inl.h
[modify] https://crrev.com/ddec1c4f57a94f5e0450e70c98c1b5d2d5f0d46e/src/objects.cc
[modify] https://crrev.com/ddec1c4f57a94f5e0450e70c98c1b5d2d5f0d46e/src/objects.h
[modify] https://crrev.com/ddec1c4f57a94f5e0450e70c98c1b5d2d5f0d46e/src/runtime/runtime-object.cc
[modify] https://crrev.com/ddec1c4f57a94f5e0450e70c98c1b5d2d5f0d46e/test/test262/test262.status
[modify] https://crrev.com/ddec1c4f57a94f5e0450e70c98c1b5d2d5f0d46e/tools/v8heapconst.py

Project Member

Comment 193 by bugdroid1@chromium.org, Jul 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a6f579eb2e51b0315e74cbd65252a297e8868626

commit a6f579eb2e51b0315e74cbd65252a297e8868626
Author: Georg Neis <neis@chromium.org>
Date: Wed Jul 26 16:14:07 2017

[modules] Add --trace-module-status for printing status transitions.

This is for debugging only.

R=adamk@chromium.org

Bug:  v8:1569 
Change-Id: I6526d3a98e96bb1267f1850268c5dc83a64587a6
Reviewed-on: https://chromium-review.googlesource.com/586590
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46906}
[modify] https://crrev.com/a6f579eb2e51b0315e74cbd65252a297e8868626/src/flag-definitions.h
[modify] https://crrev.com/a6f579eb2e51b0315e74cbd65252a297e8868626/src/objects.cc
[modify] https://crrev.com/a6f579eb2e51b0315e74cbd65252a297e8868626/src/objects.h

Project Member

Comment 194 by bugdroid1@chromium.org, Jul 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e017463189d1e7346fa24210808e30c53115fd6d

commit e017463189d1e7346fa24210808e30c53115fd6d
Author: Georg Neis <neis@chromium.org>
Date: Wed Jul 26 17:55:25 2017

[modules] Fix mapping of internal status to external status.

Internally, the module status type has one additional value, namely
PreInstantiating. I previously mapped this to Instantiating when
crossing the API boundary but it really should be mapped to
Uninstantiated. That's because when instantiation fails, typically all
modules not yet visited will remain in the PreInstantiating state, yet
they must appear Uninstantiated to the outside.

A relevant test will be added to chromium shortly.

Bug:  v8:1569 ,  chromium:748544 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Icb33c7f90db5e62375b6c09d14e3d2d5342b0879
Reviewed-on: https://chromium-review.googlesource.com/586602
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46911}
[modify] https://crrev.com/e017463189d1e7346fa24210808e30c53115fd6d/src/api.cc

Project Member

Comment 195 by bugdroid1@chromium.org, Jul 28 2017

Labels: merge-merged-6.1
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f9f392bcbe2ffe2352aff5b939d64f09740f1ff1

commit f9f392bcbe2ffe2352aff5b939d64f09740f1ff1
Author: Georg Neis <neis@chromium.org>
Date: Fri Jul 28 10:32:27 2017

Merged: [modules] Fix mapping of internal status to external status.

Revision: e017463189d1e7346fa24210808e30c53115fd6d

BUG= chromium:748544 , v8:1569 
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true
R=hablich@chromium.org

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I51eb27fdceecbaf976c9b8a7c3e369aea6676b30
Reviewed-on: https://chromium-review.googlesource.com/591108
Reviewed-by: Michael Hablich <hablich@chromium.org>
Cr-Commit-Position: refs/branch-heads/6.1@{#24}
Cr-Branched-From: 1bf2e10ddb194d4c2871a87a4732613419de892d-refs/heads/6.1.534@{#1}
Cr-Branched-From: e825c4318eb2065ffdf9044aa6a5278635c36427-refs/heads/master@{#46746}
[modify] https://crrev.com/f9f392bcbe2ffe2352aff5b939d64f09740f1ff1/src/api.cc

Project Member

Comment 196 by bugdroid1@chromium.org, Jul 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4a9718c7776b48deb4a49d66d5079f26a14c31c0

commit 4a9718c7776b48deb4a49d66d5079f26a14c31c0
Author: Georg Neis <neis@chromium.org>
Date: Fri Jul 28 19:43:36 2017

[modules] Blame correct module for ambiguous exports.

The error got attached to the module asking for the conflicting name.
This was incorrect in the case where the asking was itself via a star
export. We must attach the error to the module that explicitly asks
for the problematic name via a named import or named export statement.

Test will be added to Chromium:
https://chromium-review.googlesource.com/c/590369/

R=adamk@chromium.org

Bug:  v8:1569 
Change-Id: Ib3c297c6c5654ed1b8f2c7b2d6525202c78f87cd
Reviewed-on: https://chromium-review.googlesource.com/591307
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46983}
[modify] https://crrev.com/4a9718c7776b48deb4a49d66d5079f26a14c31c0/src/objects.cc

Project Member

Comment 197 by bugdroid1@chromium.org, Aug 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f7d41ebe2c1f9cbf0cb5f592b69b5900e4487fc0

commit f7d41ebe2c1f9cbf0cb5f592b69b5900e4487fc0
Author: Georg Neis <neis@chromium.org>
Date: Tue Aug 01 15:20:33 2017

[modules] Produce more debug output for --trace-module-status.

R=adamk@chromium.org

Bug:  v8:1569 
Change-Id: I3931418ef17a309789cbc5281a4542a20a1db94e
Reviewed-on: https://chromium-review.googlesource.com/596029
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47047}
[modify] https://crrev.com/f7d41ebe2c1f9cbf0cb5f592b69b5900e4487fc0/src/objects.cc

Project Member

Comment 198 by bugdroid1@chromium.org, Aug 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/31173f92e5b7ff94a83736f5e753eaa5f2c45368

commit 31173f92e5b7ff94a83736f5e753eaa5f2c45368
Author: Georg Neis <neis@chromium.org>
Date: Wed Aug 02 09:26:08 2017

[modules] Make Evaluate deal with errored dependencies.

Apparently it can happen that Blink calls Evaluate on a module that has
errored dependencies.

R=adamk@chromium.org

Bug:  v8:1569 ,  chromium:750024 
Change-Id: I44b6dde2d5fe5ca25ca2b8c44ede2683d1be944d
Reviewed-on: https://chromium-review.googlesource.com/596055
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47071}
[modify] https://crrev.com/31173f92e5b7ff94a83736f5e753eaa5f2c45368/src/objects.cc

Project Member

Comment 199 by bugdroid1@chromium.org, Aug 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e23b48b9f4ab60a47443718ab12c19431d1dd608

commit e23b48b9f4ab60a47443718ab12c19431d1dd608
Author: Georg Neis <neis@chromium.org>
Date: Fri Aug 04 11:10:34 2017

Merged: [modules] Blame correct module for ambiguous exports.

Revision: 4a9718c7776b48deb4a49d66d5079f26a14c31c0

BUG= v8:1569 
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true
TBR=hablich@chromium.org

Change-Id: Id47c082be89d6bd568d16979e859f8d8b8e4902f
Reviewed-on: https://chromium-review.googlesource.com/600368
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/branch-heads/6.1@{#39}
Cr-Branched-From: 1bf2e10ddb194d4c2871a87a4732613419de892d-refs/heads/6.1.534@{#1}
Cr-Branched-From: e825c4318eb2065ffdf9044aa6a5278635c36427-refs/heads/master@{#46746}
[modify] https://crrev.com/e23b48b9f4ab60a47443718ab12c19431d1dd608/src/objects.cc

Labels: -merge-merged-6.1
Project Member

Comment 201 by bugdroid1@chromium.org, Aug 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b7227dc8d2ab841802a9a2da04d3602fd88a65e4

commit b7227dc8d2ab841802a9a2da04d3602fd88a65e4
Author: Georg Neis <neis@chromium.org>
Date: Wed Aug 09 09:01:39 2017

Make ValidateAndApplyPropertyDescriptor pass on its ShouldThrow mode.

This fixes a bug affecting module namespace objects, which are currently
implemented using native accessors.

Bug:  v8:6681 ,  v8:1569 
Change-Id: I6a678652573a332c47315497d927c390d9da0926
Reviewed-on: https://chromium-review.googlesource.com/606027
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47238}
[modify] https://crrev.com/b7227dc8d2ab841802a9a2da04d3602fd88a65e4/src/objects.cc
[add] https://crrev.com/b7227dc8d2ab841802a9a2da04d3602fd88a65e4/test/mjsunit/regress/regress-6681.js

Project Member

Comment 202 by bugdroid1@chromium.org, Aug 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/7e15bf819cce5770ee525d3e7e4e15a0781abd04

commit 7e15bf819cce5770ee525d3e7e4e15a0781abd04
Author: Georg Neis <neis@chromium.org>
Date: Wed Aug 16 08:30:48 2017

[modules, api] Restrict GetModuleNamespace to evaluated modules.

Allowing GetModuleNamespace on a not-yet-evaluated module does not make a
lot of sense because accessing the namespace object before evaluation
can lead to surprising behavior.

R=adamk@chromium.org

Bug:  v8:1569 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I3e3feb344f6399bf92b3dabc97c571a61b38bd41
Reviewed-on: https://chromium-review.googlesource.com/613268
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47365}
[modify] https://crrev.com/7e15bf819cce5770ee525d3e7e4e15a0781abd04/include/v8.h
[modify] https://crrev.com/7e15bf819cce5770ee525d3e7e4e15a0781abd04/src/api.cc

Comment 203 Deleted

Comment 204 by rekt...@gmail.com, Aug 16 2017

Having tried & unexpectedly failed, a note to others that there is a separate ticket for module support in workers, and it is not yet in progress.
https://bugs.chromium.org/p/chromium/issues/detail?id=680046
Project Member

Comment 205 by bugdroid1@chromium.org, Aug 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e0ba69f59df2f1ecbb98845418e17367592e13e2

commit e0ba69f59df2f1ecbb98845418e17367592e13e2
Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org>
Date: Tue Aug 22 17:22:38 2017

[DevTools] intrumented InstantiateModule

With [1] V8 is running module instantiation code inside of InstatiateModule.
We should instrument this call to enable script first line breakpoint.

[1] https://chromium-review.googlesource.com/c/620653

R=neis@chromium.org

Bug:  v8:1569 
Change-Id: I8745b87198c79ab0648dc033804ee7df852cd8ec
Reviewed-on: https://chromium-review.googlesource.com/624189
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496345}
[modify] https://crrev.com/e0ba69f59df2f1ecbb98845418e17367592e13e2/third_party/WebKit/Source/bindings/core/v8/ScriptModule.cpp

Project Member

Comment 206 by bugdroid1@chromium.org, Aug 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0cd2ea7cd8edefac161ebc2c92df8103e5094072

commit 0cd2ea7cd8edefac161ebc2c92df8103e5094072
Author: Georg Neis <neis@chromium.org>
Date: Wed Aug 23 09:07:49 2017

[modules] Fix bug in module initialization.

The initialization code of all modules must have been run
before running any module's main code. This should have been
fixed quite a while ago as part of another CL but somehow
wasn't.

In the process of fixing it now, I'm also moving the initialization
phase out of Evaluate into Instantiatiate. This corresponds more
closely to the specification and avoids confusion.

Bug:  v8:1569 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I3ea5d6be0f5d371e6a4c641778c51762f1867dc8
Reviewed-on: https://chromium-review.googlesource.com/620653
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47537}
[modify] https://crrev.com/0cd2ea7cd8edefac161ebc2c92df8103e5094072/src/api.cc
[modify] https://crrev.com/0cd2ea7cd8edefac161ebc2c92df8103e5094072/src/objects-debug.cc
[modify] https://crrev.com/0cd2ea7cd8edefac161ebc2c92df8103e5094072/src/objects-inl.h
[modify] https://crrev.com/0cd2ea7cd8edefac161ebc2c92df8103e5094072/src/objects.cc
[modify] https://crrev.com/0cd2ea7cd8edefac161ebc2c92df8103e5094072/src/objects.h
[add] https://crrev.com/0cd2ea7cd8edefac161ebc2c92df8103e5094072/test/mjsunit/modules-init4.js
[add] https://crrev.com/0cd2ea7cd8edefac161ebc2c92df8103e5094072/test/mjsunit/modules-skip-init4a.js
[add] https://crrev.com/0cd2ea7cd8edefac161ebc2c92df8103e5094072/test/mjsunit/modules-skip-init4b.js

Project Member

Comment 207 by bugdroid1@chromium.org, Aug 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/61e700767ae04ac3772718a6e0cffc89b3c59f58

commit 61e700767ae04ac3772718a6e0cffc89b3c59f58
Author: Georg Neis <neis@chromium.org>
Date: Wed Aug 23 09:28:03 2017

[cleanup] Move modules-related code into src/objects/.

This moves Module and other module-related classes and definitions out
of src/objects{.h,-inl.h,.cc} into src/objects/module{.h,-inl.h,.cc}.

Also moves the contents of src/objects/module-info.h there.

R=marja@chromium.org

Bug:  v8:1569 , v8:5402
Change-Id: I49064bb4a5c5a6f409274c287e06e8dda351d615
Reviewed-on: https://chromium-review.googlesource.com/626818
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47540}
[modify] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/BUILD.gn
[modify] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/ast/modules.cc
[modify] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/ast/scopes.cc
[modify] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/factory.cc
[modify] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/factory.h
[modify] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/objects-debug.cc
[modify] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/objects-inl.h
[modify] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/objects.cc
[modify] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/objects.h
[delete] https://crrev.com/e26e6d8857a61d3c7454abbae7ed8dbe97346a23/src/objects/module-info.h
[add] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/objects/module-inl.h
[add] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/objects/module.cc
[add] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/objects/module.h
[modify] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/objects/scope-info.h
[modify] https://crrev.com/61e700767ae04ac3772718a6e0cffc89b3c59f58/src/v8.gyp

Project Member

Comment 208 by bugdroid1@chromium.org, Aug 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0f0e274b1b21cf18bb2f680f7c7655c928f4f834

commit 0f0e274b1b21cf18bb2f680f7c7655c928f4f834
Author: Adam Klein <adamk@chromium.org>
Date: Fri Aug 25 21:38:22 2017

[js-perf-tests] Bring basic-import and basic-export in line with basic-namespace

All microbenchmarks now add 20 variables together per iteration, rather than
just a single variable.

Also re-add a sanity check after the loop, and fix a missing variable add (a15)
from the loop.

Bug:  v8:1569 
Change-Id: Ie54357b5cedaafd85f01c699c08b24a5ee6468c9
Reviewed-on: https://chromium-review.googlesource.com/636284
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47618}
[modify] https://crrev.com/0f0e274b1b21cf18bb2f680f7c7655c928f4f834/test/js-perf-test/Modules/basic-export.js
[modify] https://crrev.com/0f0e274b1b21cf18bb2f680f7c7655c928f4f834/test/js-perf-test/Modules/basic-import.js
[modify] https://crrev.com/0f0e274b1b21cf18bb2f680f7c7655c928f4f834/test/js-perf-test/Modules/basic-namespace.js

Project Member

Comment 209 by bugdroid1@chromium.org, Aug 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/24b88776aa5159e19c5f86c841e4c288d1f0615f

commit 24b88776aa5159e19c5f86c841e4c288d1f0615f
Author: Jakob Kummerow <jkummerow@chromium.org>
Date: Sat Aug 26 00:58:02 2017

[modules] Speed up access to module exports

By adding LoadIC support for JSModuleNamespace objects. The index
of the corresponding slot in the Module's "exports" dictionary is
cached in the feedback vector, so the value can be loaded directly,
without having to call the C++ accessor.
This speeds up the "foo" property access in code like the following
snippet by about 10x:
  import * as m from "module.js"
  m.foo;

Bug:  v8:1569 
Change-Id: I152abedcbdc6f90b5bedd203cfdf97ed88d1137c
Reviewed-on: https://chromium-review.googlesource.com/631136
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47625}
[modify] https://crrev.com/24b88776aa5159e19c5f86c841e4c288d1f0615f/src/code-stub-assembler.cc
[modify] https://crrev.com/24b88776aa5159e19c5f86c841e4c288d1f0615f/src/code-stub-assembler.h
[modify] https://crrev.com/24b88776aa5159e19c5f86c841e4c288d1f0615f/src/ic/accessor-assembler.cc
[modify] https://crrev.com/24b88776aa5159e19c5f86c841e4c288d1f0615f/src/ic/handler-configuration-inl.h
[modify] https://crrev.com/24b88776aa5159e19c5f86c841e4c288d1f0615f/src/ic/handler-configuration.h
[modify] https://crrev.com/24b88776aa5159e19c5f86c841e4c288d1f0615f/src/ic/ic.cc
[modify] https://crrev.com/24b88776aa5159e19c5f86c841e4c288d1f0615f/src/objects/hash-table.h

Project Member

Comment 210 by bugdroid1@chromium.org, Aug 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/693e8ac59fd307beb8e1558569a8616eafccefa6

commit 693e8ac59fd307beb8e1558569a8616eafccefa6
Author: Jakob Kummerow <jkummerow@chromium.org>
Date: Tue Aug 29 16:50:44 2017

[js-perf-tests] Fix Modules benchmarks

The score is computed based on how often the benchmark's function can
be run within one second. Simply importing a Module repeatedly doesn't
do any work, so to make the test score meaningful, we must wrap the
payload into a function that can be called explicitly for every run.

NOTRY=true

Bug:  v8:1569 
Change-Id: Iadaed6df1f1652d8860271e327c505f0b8f20c2d
Reviewed-on: https://chromium-review.googlesource.com/639396
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47686}
[modify] https://crrev.com/693e8ac59fd307beb8e1558569a8616eafccefa6/test/js-perf-test/Modules/basic-export.js
[modify] https://crrev.com/693e8ac59fd307beb8e1558569a8616eafccefa6/test/js-perf-test/Modules/basic-import.js
[modify] https://crrev.com/693e8ac59fd307beb8e1558569a8616eafccefa6/test/js-perf-test/Modules/basic-namespace.js
[modify] https://crrev.com/693e8ac59fd307beb8e1558569a8616eafccefa6/test/js-perf-test/Modules/run.js

Project Member

Comment 212 by bugdroid1@chromium.org, Oct 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318

commit a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318
Author: Georg Neis <neis@chromium.org>
Date: Sun Oct 22 09:03:34 2017

[modules] Fix lazy parsing of functions in modules.

The information that such functions must be parsed in module mode
didn't get properly propagated.

Also refactor some related code to make it more robust. In particular,
set parsing_module_ at parser construction time only.

Bug:  v8:1569 ,  v8:6919 
Change-Id: Id136fb15c240373cad07c82025b778d0c0c43148
Reviewed-on: https://chromium-review.googlesource.com/716478
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48811}
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/src/ast/scopes.cc
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/src/ast/scopes.h
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/src/compiler.cc
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/src/debug/debug-scopes.cc
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/src/parsing/parse-info.cc
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/src/parsing/parser-base.h
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/src/parsing/parser.cc
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/src/parsing/parser.h
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/src/parsing/preparser.cc
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/src/parsing/preparser.h
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/test/cctest/test-parsing.cc
[modify] https://crrev.com/a9e70a6ffc1e0c60134c3d2e3381ed29bd98a318/test/mjsunit/harmony/modules-import-meta.js

Status: Fixed (was: Assigned)
I think it's safe to call this one "Fixed". We can open new issues for any follow-on work, now that Modules are just a normal part of JavaScript and V8.
This was a huge effort. Congrats to all involved!
v8::Module is still marked as "experimental feature". Shouldn't this comment removed?

/**
 * This is an unfinished experimental feature, and is only exposed
 * here for internal testing purposes. DO NOT USE.
 *
 * A compiled JavaScript module.
 */
class V8_EXPORT Module {
Yes, there's already a CL that includes such a change (https://chromium-review.googlesource.com/c/v8/v8/+/763369).
Project Member

Comment 217 by bugdroid1@chromium.org, Dec 22

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a067281d3910a64303dfa8ed7fdd2c9604df3149

commit a067281d3910a64303dfa8ed7fdd2c9604df3149
Author: Georg Neis <neis@chromium.org>
Date: Fri Dec 22 17:56:03 2017

[modules] Implement recent ES revisions.

- Instantiation errors are no longer recorded. If instantiation fails,
  the module(s) are reset to "uninstantiated". When instantiation is
  re-attempted, the thrown exception will be fresh.
- Instantiation can succeed even where there are modules in the graph
  that previously failed evaluation.

Bug:  v8:1569 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I429f616918afe5f8ab1a956024f0a22f464b8c44
Reviewed-on: https://chromium-review.googlesource.com/763369
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50301}
[modify] https://crrev.com/a067281d3910a64303dfa8ed7fdd2c9604df3149/include/v8.h
[modify] https://crrev.com/a067281d3910a64303dfa8ed7fdd2c9604df3149/src/objects/module.cc
[modify] https://crrev.com/a067281d3910a64303dfa8ed7fdd2c9604df3149/src/objects/module.h
[modify] https://crrev.com/a067281d3910a64303dfa8ed7fdd2c9604df3149/test/cctest/test-modules.cc

Project Member

Comment 218 by bugdroid1@chromium.org, Jan 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/493a404fb9a975817a8c8962225380219e82ae40

commit 493a404fb9a975817a8c8962225380219e82ae40
Author: Hiroshige Hayashizaki <hiroshige@chromium.org>
Date: Tue Jan 02 05:17:34 2018

[ES6 Modules] Fix test expectations for Issue 763597

As both of Blink-side and v8-side changes have landed:
- Blink: https://chromium-review.googlesource.com/698467
- V8: https://chromium-review.googlesource.com/763369
  (Auto-roll: https://chromium-review.googlesource.com/845221)

This CL re-enables the tests that were disabled for
the transitioning.

Bug: 763597,  v8:1569 
Change-Id: I27a407bac3ab8f60100ded0b7f842f9bf648620d
Reviewed-on: https://chromium-review.googlesource.com/843011
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526440}
[modify] https://crrev.com/493a404fb9a975817a8c8962225380219e82ae40/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/493a404fb9a975817a8c8962225380219e82ae40/third_party/WebKit/Source/bindings/core/v8/ScriptModuleTest.cpp

Showing comments 119 - 218 of 218 Older

Sign in to add a comment