From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,LOTS_OF_MONEY autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,78b2880bc7e78e39 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-03-22 01:39:56 PST From: "Martin Dowie" Newsgroups: comp.lang.ada References: <98qumf$5sf$1@nh.pace.co.uk> <98r4g1$7r1$1@nh.pace.co.uk> <3ab1d090$1@pull.gecm.com> <98t8la$rc$1@nh.pace.co.uk> <3ab72c8f$1@pull.gecm.com> <997pq4$i35$1@nh.pace.co.uk> <3ab9c0e9$1@pull.gecm.com> Subject: Re: RISC - largish (code listed) Date: Thu, 22 Mar 2001 09:34:06 -0000 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 NNTP-Posting-Host: sg2c11210.dsge.edinbr.gmav.gecm.com Message-ID: <3ab9c526$1@pull.gecm.com> X-Trace: 22 Mar 2001 09:25:58 GMT, sg2c11210.dsge.edinbr.gmav.gecm.com Path: supernews.google.com!sn-xit-02!supernews.com!news.gv.tsc.tdk.com!hub.org!hub.org!fr.clara.net!heighliner.fr.clara.net!grolier!btnet-peer0!btnet-feed5!btnet!newreader.ukcore.bt.net!pull.gecm.com!sg2c11210.dsge.edinbr.gmav.gecm.com Xref: supernews.google.com comp.lang.ada:5987 Date: 2001-03-22T09:34:06+00:00 List-Id: oops forgot the assembler for the instantiation.. still not a lot extra for these 2 routines. Martin Dowie wrote in message news:3ab9c0e9$1@pull.gecm.com... > Something like this? Seems _well_ dangerous but also seems to produce very > little code... > > Ted Dennison wrote in message > news:LWKt6.1865$94.2578@www.newsranger.com... > > That's why if the object is largish I typically use unchecked_conversion > on > > pointers to the object instead. Depending on the smarts of the compiler, > that > > might not generate any code at all. > > > > I don't like "for use at" overlays. For one thing, initializations get > (re)done > > when the overlay happens, which could wipe out important stuff. For > another, the > > aliasing is (generally) given a much wider scope than is achievable with > > unchecked conversion. Ltext2: .stabn 68,0,3,LM19-_test_unchecked_access_conversion__my_conversions__to_object1_po inter$2.8 LM19: pushl %ebp movl %esp,%ebp subl $4,%esp movl %ecx,-4(%ebp) .stabn 68,0,5,LM20-_test_unchecked_access_conversion__my_conversions__to_object1_po inter$2.8 LM20: movl 8(%ebp),%eax pushl %eax movl -4(%ebp),%ecx call _test_unchecked_access_conversion__string_conversions__to_address.7 addl $4,%esp movl %eax,%eax pushl %eax movl -4(%ebp),%ecx call _test_unchecked_access_conversion__record_conversions__to_pointer.4 addl $4,%esp movl %eax,%edx movl %edx,%eax jmp L10 .align 2,0x90 .stabn 68,0,5,LM21-_test_unchecked_access_conversion__my_conversions__to_object1_po inter$2.8 LM21: L10: movl %ebp,%esp popl %ebp ret Lscope4: .stabs "",36,0,0,Lscope4-_test_unchecked_access_conversion__my_conversions__to_obje ct1_pointer$2.8 .align 4 .stabs "test_unchecked_access_conversion__my_conversions__to_object2_pointer$2:f(0, 46),test_unchecked_access_conversion__my_conversions__to_object2_pointer$2,t est_unchecked_access_conversion",36,0,8,_test_unchecked_access_conversion__m y_conversions__to_object2_pointer$2.9 .stabs "obj1_ptr:p(0,29)",160,0,15,8 _test_unchecked_access_conversion__my_conversions__to_object2_pointer$2.9: .stabn 68,0,8,LM22-_test_unchecked_access_conversion__my_conversions__to_object2_po inter$2.9 LM22: pushl %ebp movl %esp,%ebp subl $4,%esp movl %ecx,-4(%ebp) .stabn 68,0,10,LM23-_test_unchecked_access_conversion__my_conversions__to_object2_p ointer$2.9 LM23: movl 8(%ebp),%eax pushl %eax movl -4(%ebp),%ecx call _test_unchecked_access_conversion__record_conversions__to_address.5 addl $4,%esp movl %eax,%eax pushl %eax movl -4(%ebp),%ecx call _test_unchecked_access_conversion__string_conversions__to_pointer.6 addl $4,%esp movl %eax,%edx movl %edx,%eax jmp L11 .align 2,0x90 .stabn 68,0,10,LM24-_test_unchecked_access_conversion__my_conversions__to_object2_p ointer$2.9 LM24: L11: movl %ebp,%esp popl %ebp ret