Closed
Bug 572991
Opened 14 years ago
Closed 14 years ago
TM: replace JSXMLArray locals with autoclasses
Categories
(Core :: JavaScript Engine, enhancement)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: igor, Assigned: igor)
References
Details
(Whiteboard: fixed-in-tracemonkey)
Attachments
(1 file, 2 obsolete files)
20.92 KB,
patch
|
igor
:
review+
|
Details | Diff | Splinter Review |
For the bug 519949 we need to root explicitly the elements stored in JSXMLArray instances declared as local variables. Replacing that usage with an autoclass seems the simplest thing to do. gal: would you work on this?
Comment 1•14 years ago
|
||
I have a very full plate atm, but this is blocking my work, so I will have to do it if nobody else steps forward.
Assignee | ||
Updated•14 years ago
|
Assignee: general → igor
Assignee | ||
Comment 2•14 years ago
|
||
There were already an auto class to root a namespace array, AutoNamespaceArray. That class extends from an intermediate helper AutoNamespaces. I suppose that was done this way to get access to static JSXMLArray functions from jsxml.cpp. To avoid this complexity I turned few relevant functions into JSXMLArray methods which removed the need to have AutoNamespaces. Then the patch consistently uses AutoNamespaceArray when currently the code declares JSXMLArray* locals.
Attachment #452260 -
Flags: review?
Assignee | ||
Comment 3•14 years ago
|
||
Now comes a right patch
Attachment #452260 -
Attachment is obsolete: true
Attachment #452261 -
Flags: review?
Attachment #452260 -
Flags: review?
Assignee | ||
Updated•14 years ago
|
Attachment #452261 -
Flags: review? → review?(gal)
Comment 4•14 years ago
|
||
Comment on attachment 452261 [details] [diff] [review] v1 >+ *tvr.addr() = OBJECT_TO_JSVAL(ns); I think there is tvr.setObject(). Thanks a lot for doing this.
Attachment #452261 -
Flags: review?(gal) → review+
Assignee | ||
Comment 5•14 years ago
|
||
Here is the patch with the nit addressed. For some reason I cannot push it ass I get: pushing to ssh://hg.mozilla.org/tracemonkey searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 4 changes to 4 files remote: error: pretxnchangegroup.z_linearhistory hook raised an exception: column rev is not unique remote: transaction abort! remote: rollback completed remote: ** unknown exception encountered, details follow remote: ** report bug details to http://mercurial.selenic.com/bts/ remote: ** or mercurial@selenic.com remote: ** Python 2.4.3 (#1, Jun 11 2009, 14:09:58) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] remote: ** Mercurial Distributed SCM (version 1.5.4) remote: ** Extensions loaded: hgwebjson, pushlog-feed, buglink remote: Traceback (most recent call last): remote: File "/usr/bin/hg", line 27, in ? remote: mercurial.dispatch.run() remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 16, in run remote: sys.exit(dispatch(sys.argv[1:])) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 30, in dispatch remote: return _runcatch(u, args) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 50, in _runcatch remote: return _dispatch(ui, args) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 471, in _dispatch remote: return runcommand(lui, repo, cmd, fullargs, ui, options, d) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 341, in runcommand remote: ret = _runcommand(ui, options, cmd, d) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 522, in _runcommand remote: return checkargs() remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 476, in checkargs remote: return cmdfunc() remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 470, in <lambda> remote: d = lambda: util.checksignature(func)(ui, *args, **cmdoptions) remote: File "/usr/lib/python2.4/site-packages/mercurial/util.py", line 401, in check remote: return func(*args, **kwargs) remote: File "/usr/lib/python2.4/site-packages/mercurial/commands.py", line 2904, in serve remote: s.serve_forever() remote: File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 45, in serve_forever remote: while self.serve_one(): remote: File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 57, in serve_one remote: impl() remote: File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 208, in do_unbundle remote: r = self.repo.addchangegroup(fp, 'serve', self.client_url()) remote: File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 2120, in addchangegroup remote: url=url, pending=p) remote: File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 152, in hook remote: return hook.hook(self.ui, self, name, throw, **args) remote: File "/usr/lib/python2.4/site-packages/mercurial/hook.py", line 139, in hook remote: r = _pythonhook(ui, repo, name, hname, hookfn, args, throw) or r remote: File "/usr/lib/python2.4/site-packages/mercurial/hook.py", line 68, in _pythonhook remote: r = obj(ui=ui, repo=repo, hooktype=name, **args) remote: File "/usr/lib/python2.4/site-packages/mozhghooks/pushlog.py", line 56, in log remote: (pushid, ctx.rev(), hex(ctx.node()))) remote: pysqlite2.dbapi2.IntegrityError: column rev is not unique abort: unexpected response: empty string
Attachment #452261 -
Attachment is obsolete: true
Attachment #452480 -
Flags: review+
Assignee | ||
Comment 6•14 years ago
|
||
http://hg.mozilla.org/tracemonkey/rev/5596ecfb9ad2
Whiteboard: fixed-in-tracemonkey
Comment 7•14 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/5596ecfb9ad2
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•