Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!news.glorb.com!feeder.erje.net!feeder.news-service.com!aioe.org!.POSTED!not-for-mail From: Roedy Green Newsgroups: comp.lang.java.programmer Subject: Re: virtual method lookup and accessibility Date: Fri, 12 Aug 2011 14:43:18 -0700 Organization: Canadian Mind Products Lines: 24 Message-ID: References: <81218f19-7d4f-49b2-a83b-888d2eea284a@a4g2000yqg.googlegroups.com> Reply-To: Roedy Green NNTP-Posting-Host: RCd/Ul4tyxGUBII8WGwa5g.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org X-Notice: Filtered by postfilter v. 0.8.2 X-Newsreader: Forte Agent 6.00/32.1186 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:7060 On Fri, 12 Aug 2011 02:21:00 -0700 (PDT), Jay Foad wrote, quoted or indirectly quoted someone who said : >The language spec section 15.12.4.4 "Locate Method to Invoke" (http:// >java.sun.com/docs/books/jls/third_edition/html/ Gosling tried to leave as scope as possible for innovation, so the spec is pretty vague and abstract. To understand how a concrete implementation might work, try reading some of Bjarne Stroustrup's books. His Design and Evolution of C++ and the tech ref manual explain how virtual methods can be implemented. Look for VTBL in the index. I had an orgasmic Ah Ha moment when VTBLs suddenly clicked. I had tried to invented them on my own unsuccessfully for my own language. A further technique I used earlier was studying assembler listings from the Jet compiler. They no longer let you see the code. Customers were worried it might make binaries easier to crack. -- Roedy Green Canadian Mind Products http://mindprod.com Most of computer code is for telling the computer what do if some very particular thing goes wrong.