Closed Bug 523175 Opened 12 years ago Closed 12 years ago
IPDL: Frontend support for shmem
Add a shmem<T> type to IPDL.
Ended up being significantly more complicated than I anticipated because IPDL actors need HANDLEs on Windows in order to share mappings.
Comment on attachment 407480 [details] [diff] [review] IPDL support for shmem Sorry for the wasted fly-over, this needs more work. See https://wiki.mozilla.org/IPDL/Proposal:Shmem_access_control#drawWindow_Example for a start.
Depends on: 523761
Attachment #407704 - Flags: review?(joe)
Comment on attachment 407704 [details] [diff] [review] backup, with bug 523761 excised Oops, crud, changed the wrong bug.
Attachment #407704 - Flags: review?(joe) → review?(bent.mozilla)
I tried extacting the above patch in the electrolysis branch (at rev 34406:6894db5c84a1), and I ran into merge problems: ~> patch -p1 <~/Download/shmem407704.patch patching file ipc/glue/ProtocolUtils.h Hunk #1 FAILED at 39. Hunk #2 FAILED at 75. 2 out of 2 hunks FAILED -- saving rejects to file ipc/glue/ProtocolUtils.h.rej patching file ipc/ipdl/ipdl/builtin.py patching file ipc/ipdl/ipdl/cxx/ast.py patching file ipc/ipdl/ipdl/cxx/cgen.py patching file ipc/ipdl/ipdl/lower.py Hunk #8 FAILED at 1128. Hunk #9 succeeded at 1375 (offset -8 lines). Hunk #11 succeeded at 2324 (offset -15 lines). Hunk #12 FAILED at 2406. Hunk #13 FAILED at 2522. 3 out of 13 hunks FAILED -- saving rejects to file ipc/ipdl/ipdl/lower.py.rej patching file ipc/ipdl/ipdl/parser.py patching file ipc/ipdl/ipdl/type.py patching file ipc/ipdl/test/cxx/Makefile.in patching file ipc/ipdl/test/cxx/PTestShmem.ipdl patching file ipc/ipdl/test/cxx/TestShmem.cpp patching file ipc/ipdl/test/cxx/TestShmem.h patching file ipc/ipdl/test/cxx/ipdl.mk patching file ipc/ipdl/test/ipdl/error/shmem.ipdl patching file ipc/ipdl/test/ipdl/ok/shmem.ipdl Is there a particular rev I should patch? Is it dependent on any other patch?
Rohit, this patch applies cleanly for me ... are you sure your e10s repo is updated to the latest version? (Try hg pull -u).
Comment on attachment 409136 [details] [diff] [review] bitrotted already >+ # bool AllocShmem(size_t size, Shmem* outmem): >+ # nsAutoPtr<shmem_t> shmem(Shmem::Alloc(size)); The code is correct but the comment neglects the autoptr.forget() that you need to make this work :)
Attachment #409136 - Flags: review?(bent.mozilla) → review+
Tried applying attachment 407704 [details] [diff] [review] against the latest rev (34549:46ebd7e439dc), but that still fails exactly as above. However, I just tried applying 409136, and that seems to work just fine. :)
Pushed http://hg.mozilla.org/projects/electrolysis/rev/82549dbf71d8 to reduce merge conflicts in later patches. Have a local followup patch, will push that when shmem is ready to land.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.