Closed Bug 1608183 Opened 3 months ago Closed 2 months ago

Move ScopeCreationData into js::frontend namespace

Categories

(Core :: JavaScript Engine, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla74
Tracking Status
firefox74 --- fixed

People

(Reporter: mgaudet, Assigned: robert.m.rico, Mentored)

References

(Blocks 2 open bugs)

Details

(Keywords: good-first-bug, Whiteboard: [lang=c++])

Attachments

(1 file, 1 obsolete file)

This is a cleanup item related to Bug 1592102. When we landed ScopeCreationData it was in the js:: namespace. However, it ought to be moved to the js::frontend:: namespace to better reflect how it is used.

This Bug Is Done When:

ScopeCreationData is in the js::frontend:: namespace, and Spidermonkey compiles, and the tests pass.

Prerequisites

Before getting started, you'll want to

  • You Have a checkout of the Firefox source code
  • Read this walkthrough about how development works in Firefox
  • Make sure you can build SpiderMonkey

Getting Help

Feel free to leave comments on this bug for questions, or, if you have more synchronous questions about this bug, feel free to drop into #jsapi on irc.mozilla.org.

Priority: -- → P3
Blocks: 1608193

I'd like to solve this issue.

Flags: needinfo?(mgaudet)

Definitely feel free to produce a patch. We tend not to assign bugs until that point, just in case things happen and a contributor isn't able to get through it.

Flags: needinfo?(mgaudet)
Assignee: nobody → robert.m.rico
Status: NEW → ASSIGNED
Attachment #9120677 - Attachment is obsolete: true
Attachment #9120677 - Attachment description: Bug 1608183 - Moved js::ScopeCreationData to js::frontend::ScopeCreationData namespace r?mgaudet → Bug 1608183 - Move js::ScopeCreationData to js::frontend namespace r?mgaudet
Attachment #9120677 - Attachment is obsolete: false
Attachment #9120797 - Attachment is obsolete: true
Pushed by mgaudet@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5259dd26dcc7
Move js::ScopeCreationData to js::frontend namespace r=mgaudet

If I qualify AbstractScope and GCMarker in the friend declaration with the js:: nested name specifier will that resolve it?

class ScopeCreationData {
friend class AbstractScope;
friend class GCMarker;
...

to

class ScopeCreationData {
friend class js::AbstractScope;
friend class js::GCMarker;
...

Flags: needinfo?(robert.m.rico)

(In reply to Rob from comment #7)

If I qualify AbstractScope and GCMarker in the friend declaration with the js::frontend nested name specifier will that resolve it?

class ScopeCreationData {
friend class AbstractScope;
friend class GCMarker;
...

to

class ScopeCreationData {
friend class js::frontend::AbstractScope;
friend class js::frontend::GCMarker;
...

AbstractScope and GCMaker are part of the js::frontend namespace. Changing above to.

Found this
https://hg.mozilla.org/mozreview/gecko/file/fffb99c3715dcbe8c596f49c8c2e2f7f8f06adef/dom/canvas/WebGLProgram.h

Suggests maybe adding

frontend:: instead of js::frontend::

Thoughts?

Flags: needinfo?(mgaudet)

Interesting; I didn't catch this with our try build because I didn't run the windows jobs.

AbstractScope and GCMarker are just part of the js:: namespace.

I guess we should try friend class js::{AbstractScope,GCMarker}.

If you update the diff, I'll do a try push for you.

Flags: needinfo?(mgaudet)
Pushed by mgaudet@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/976655426e8d
Move js::ScopeCreationData to js::frontend namespace r=mgaudet
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
No longer blocks: 1608193
You need to log in before you can comment on or make changes to this bug.