Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

module runtime change #3 #432

Merged
merged 3 commits into from
Mar 5, 2016
Merged

module runtime change #3 #432

merged 3 commits into from
Mar 5, 2016

Conversation

Yongqu
Copy link
Contributor

@Yongqu Yongqu commented Mar 3, 2016

Implement the remaining operations in SourceTextModuleRecord, including mainly ResolveExport and GetExportNames operations. Start implementation of ModuleNamespace. Implemented GetModuleNamespace. Detailed namespace implementation is not in yet. Filled in some holes in earlier implementation, like error handling for top level operations, notify the parent module if the current module failed in parse or ModuleDeclarationInitialization. Export method for bytecode generator to retrieve the localexport slot information. Fixed some potential memory leak by implementing the Finalize method for SourceTextModuleRecord. Temporary disable ModuleEvaluation for non-root modules, pending bytecode generator change.

  mainly ResolveExport and GetExportNames operations.
Start implementation of ModuleNamespace. Implemented GetModuleNamespace. Detailed
  namespace implementation is not in yet.
Filled in some holes in earlier implementation, like error handling for top level operations,
  notify the parent module if the current module failed in parse or ModuleDeclarationInitialization.
  Export method for bytecode generator to retrieve the localexport slot information.
  Fixed some potential memory leak by implementing the Finalize method for SourceTextModuleRecord.
Temporary disable ModuleEvaluation for non-root modules, pending bytecode generator change.
@Yongqu
Copy link
Contributor Author

Yongqu commented Mar 3, 2016

@pleath @boingoing @abchatra can you take a look?

PropertyId exportedNameId = EnsurePropertyIdForIdentifier(exportEntry.exportName);
localNames->Prepend(exportedNameId);
});
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you feel strongly about merging these three lists of exports (indirectExportRecordList, localExportRecordList, starExportRecordList) ? Should be possible to determine which type of export without keeping them in different lists if duplicating this code becomes troublesome.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{AncestorPath = 54950339}
currently I'm not copying those lists, and it's better to keep them separate for different operations. We can change if perf becomes an issue here.

@boingoing
Copy link
Contributor

Looks good to me! Big change to module record, almost support everything besides namespace object. Cool!


//virtual int GetPropertyCount() override;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you keeping the commented lines on purpose?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are unimplemented feature. We'll uncomment these in upcoming changes.


In reply to: 55074978 [](ancestors = 55074978)

@chakrabot chakrabot merged commit d210f0d into chakra-core:master Mar 5, 2016
chakrabot pushed a commit that referenced this pull request Mar 5, 2016
Merge pull request #432 from Yongqu:module
Implement the remaining operations in SourceTextModuleRecord, including   mainly ResolveExport and GetExportNames operations. Start implementation of ModuleNamespace. Implemented GetModuleNamespace. Detailed   namespace implementation is not in yet. Filled in some holes in earlier implementation, like error handling for top level operations,   notify the parent module if the current module failed in parse or ModuleDeclarationInitialization.   Export method for bytecode generator to retrieve the localexport slot information.   Fixed some potential memory leak by implementing the Finalize method for SourceTextModuleRecord. Temporary disable ModuleEvaluation for non-root modules, pending bytecode generator change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants