1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 .file "uno_ppc64_asm.cc" 24 .machine power4 25 .abiversion 2 26 .section ".text" 27 .align 2 28 .globl callVirtualMethod 29 .type callVirtualMethod, @function 30callVirtualMethod: 31.LFB0: 32 .cfi_startproc 33.LCF0: 340: addis 2,12,.TOC.-.LCF0@ha 35 addi 2,2,.TOC.-.LCF0@l 36 .localentry callVirtualMethod,.-callVirtualMethod 37 mflr 0 38 std 0,16(1) 39 std 31,-8(1) 40 stdu 1,-208(1) 41 .cfi_def_cfa_offset 208 42 .cfi_offset 65, 16 43 .cfi_offset 31, -8 44 mr 31,1 45 .cfi_def_cfa_register 31 46 std 3,136(31) 47 std 5,128(31) 48 std 6,120(31) 49 std 7,112(31) 50 std 9,104(31) 51 mr 9,4 52 stw 9,248(31) 53 mr 9,8 54 stw 9,280(31) 55 mr 9,10 56 stw 9,296(31) 57 ld 9,304(31) 58 std 9,96(31) 59 ld 9,-28688(13) 60 std 9,184(31) 61 li 9,0 62 lwz 9,280(31) 63 cmpwi 0,9,0 64 beq 0,.L2 65 lwz 9,280(31) 66 addi 9,9,1 67 rldicl 9,9,0,32 68 rlwinm 9,9,0,0,30 69 stw 9,280(31) 70.L2: 71#ifdef __LITTLE_ENDIAN__ 72 lwz 9,312(31) 73#else 74 lwz 9,316(31) 75#endif 76 cmplwi 0,9,13 77 ble 0,.L3 78 li 9,13 79#ifdef __LITTLE_ENDIAN__ 80 stw 9,312(31) 81#else 82 stw 9,316(31) 83#endif 84.L3: 85 lwz 9,296(31) 86 cmplwi 0,9,8 87 ble 0,.L4 88 li 9,8 89 stw 9,296(31) 90.L4: 91 lwz 9,280(31) 92 slwi 9,9,3 93 rldicl 9,9,0,32 94 addi 9,9,15 95 srdi 9,9,4 96 sldi 9,9,4 97 ld 10,0(1) 98 neg 9,9 99 stdux 10,1,9 100 addi 9,1,96 101 addi 9,9,15 102 srdi 9,9,4 103 sldi 9,9,4 104 std 9,160(31) 105 lwz 9,280(31) 106 slwi 9,9,3 107 rldicl 9,9,0,32 108 mr 8,9 109 ld 10,160(31) 110 ld 9,112(31) 111 mr 5,8 112 mr 4,9 113 mr 3,10 114 bl memcpy 115 nop 116 ld 9,136(31) 117 ld 9,0(9) 118 std 9,168(31) 119 lwz 9,248(31) 120 slwi 9,9,3 121 rldicl 9,9,0,32 122 mr 10,9 123 ld 9,168(31) 124 add 9,9,10 125 std 9,168(31) 126 ld 9,168(31) 127 ld 9,0(9) 128 std 9,168(31) 129 ld 9,168(31) 130 std 9,176(31) 131 ld 9,96(31) 132#APP 133 # 123 "uno_ppc64_asm.cc" 1 134 lfd 1, 0(9) 135 lfd 2, 8(9) 136 lfd 3, 16(9) 137 lfd 4, 24(9) 138 lfd 5, 32(9) 139 lfd 6, 40(9) 140 lfd 7, 48(9) 141 lfd 8, 56(9) 142 lfd 9, 64(9) 143 lfd 10, 72(9) 144 lfd 11, 80(9) 145 lfd 12, 88(9) 146 lfd 13, 96(9) 147 148 # 0 "" 2 149#NO_APP 150 ld 9,104(31) 151 ld 3,0(9) 152 ld 9,104(31) 153 addi 9,9,8 154 ld 4,0(9) 155 ld 9,104(31) 156 addi 9,9,16 157 ld 5,0(9) 158 ld 9,104(31) 159 addi 9,9,24 160 ld 6,0(9) 161 ld 9,104(31) 162 addi 9,9,32 163 ld 7,0(9) 164 ld 9,104(31) 165 addi 9,9,40 166 ld 8,0(9) 167 ld 9,104(31) 168 addi 9,9,48 169 ld 0,0(9) 170 ld 9,104(31) 171 addi 9,9,56 172 ld 9,0(9) 173 ld 11,176(31) 174 mr 10,9 175 mr 9,0 176 std 2,24(1) 177 mr 12,11 178 mtctr 12 179 bctrl 180 ld 2,24(1) 181#APP 182 # 149 "uno_ppc64_asm.cc" 1 183 mr 3, 3 184 mr 4, 4 185 fmr 0, 1 186 187 # 0 "" 2 188#NO_APP 189 stfd 0,152(31) 190 mr 9,3 191 mr 10,4 192 lfd 0,152(31) 193 ld 7,128(31) 194 ld 6,120(31) 195 fmr 1,0 196 mr 4,10 197 mr 3,9 198 bl MapReturn 199 nop 200 nop 201 ld 9,184(31) 202 ld 10,-28688(13) 203 xor. 9,9,10 204 li 10,0 205 beq 0,.L5 206 bl __stack_chk_fail 207 nop 208.L5: 209 addi 1,31,208 210 .cfi_def_cfa 1, 0 211 ld 0,16(1) 212 mtlr 0 213 ld 31,-8(1) 214 blr 215 .long 0 216 .byte 0,9,0,1,128,1,0,1 217 .cfi_endproc 218.LFE0: 219 .size callVirtualMethod,.-callVirtualMethod 220 .section ".toc","aw" 221 .align 3 222.LC0: 223 .quad .L9 224 .section ".text" 225 .align 2 226 .globl privateSnippetExecutor 227 .type privateSnippetExecutor, @function 228privateSnippetExecutor: 229.LFB1: 230 .cfi_startproc 231.LCF1: 2320: addis 2,12,.TOC.-.LCF1@ha 233 addi 2,2,.TOC.-.LCF1@l 234 .localentry privateSnippetExecutor,.-privateSnippetExecutor 235 mflr 0 236 std 0,16(1) 237 std 31,-8(1) 238 stdu 1,-272(1) 239 .cfi_def_cfa_offset 272 240 .cfi_offset 65, 16 241 .cfi_offset 31, -8 242 mr 31,1 243 .cfi_def_cfa_register 31 244 ld 0,-28688(13) 245 std 0,248(31) 246 li 0,0 247 std 3,80(31) 248 std 4,88(31) 249 std 5,96(31) 250 std 6,104(31) 251 std 7,112(31) 252 std 8,120(31) 253 std 9,128(31) 254 mr 9,10 255 std 9,136(31) 256 addi 9,31,144 257#APP 258 # 173 "uno_ppc64_asm.cc" 1 259 stfd 1, 0(9) 260stfd 2, 8(9) 261stfd 3, 16(9) 262stfd 4, 24(9) 263stfd 5, 32(9) 264stfd 6, 40(9) 265stfd 7, 48(9) 266stfd 8, 56(9) 267stfd 9, 64(9) 268stfd 10, 72(9) 269stfd 11, 80(9) 270stfd 12, 88(9) 271stfd 13, 96(9) 272 273 # 0 "" 2 274#NO_APP 275 std 11,48(31) 276 std 1,56(31) 277 ld 9,48(31) 278 addi 7,31,64 279 addi 8,31,144 280 addi 10,31,80 281 ld 6,56(31) 282 mr 5,8 283 mr 4,10 284 mr 3,9 285 bl cpp_mediate 286 nop 287 mr 9,3 288 stw 9,44(31) 289 lwa 9,44(31) 290 cmplwi 0,9,15 291 bgt 0,.L7 292 sldi 10,9,2 293 addis 8,2,.LC0@toc@ha 294 ld 9,.LC0@toc@l(8) 295 add 9,10,9 296 lwz 10,0(9) 297 ld 9,.LC0@toc@l(8) 298 extsw 10,10 299 add 9,10,9 300 mtctr 9 301 bctr 302 .p2align 2 303 .align 2 304.L9: 305 .long .L19-.L9 306 .long .L13-.L9 307 .long .L15-.L9 308 .long .L15-.L9 309 .long .L14-.L9 310 .long .L13-.L9 311 .long .L12-.L9 312 .long .L8-.L9 313 .long .L7-.L9 314 .long .L7-.L9 315 .long .L11-.L9 316 .long .L10-.L9 317 .long .L7-.L9 318 .long .L7-.L9 319 .long .L7-.L9 320 .long .L8-.L9 321.L15: 322#APP 323 # 209 "uno_ppc64_asm.cc" 1 324 lbz 3,64(31) 325 326 # 0 "" 2 327#NO_APP 328 b .L17 329.L13: 330#APP 331 # 214 "uno_ppc64_asm.cc" 1 332 lhz 3,64(31) 333 334 # 0 "" 2 335#NO_APP 336 b .L17 337.L14: 338#APP 339 # 218 "uno_ppc64_asm.cc" 1 340 lha 3,64(31) 341 342 # 0 "" 2 343#NO_APP 344 b .L17 345.L8: 346#APP 347 # 223 "uno_ppc64_asm.cc" 1 348 lwz 3,64(31) 349 350 # 0 "" 2 351#NO_APP 352 b .L17 353.L12: 354#APP 355 # 227 "uno_ppc64_asm.cc" 1 356 lwa 3,64(31) 357 358 # 0 "" 2 359#NO_APP 360 b .L17 361.L11: 362 addi 9,31,64 363#APP 364 # 231 "uno_ppc64_asm.cc" 1 365 lfs 1,0(9) 366 367 # 0 "" 2 368#NO_APP 369 b .L17 370.L10: 371 addi 9,31,64 372#APP 373 # 235 "uno_ppc64_asm.cc" 1 374 lfd 1,0(9) 375 376 # 0 "" 2 377#NO_APP 378 b .L17 379.L7: 380#APP 381 # 239 "uno_ppc64_asm.cc" 1 382 ld 3,64(31) 383 384 # 0 "" 2 385 # 241 "uno_ppc64_asm.cc" 1 386 ld 4,72(31) 387 388 # 0 "" 2 389#NO_APP 390 b .L17 391.L19: 392 nop 393.L17: 394 nop 395 ld 9,248(31) 396 ld 10,-28688(13) 397 xor. 9,9,10 398 li 10,0 399 beq 0,.L18 400 bl __stack_chk_fail 401 nop 402.L18: 403 addi 1,31,272 404 .cfi_def_cfa 1, 0 405 ld 0,16(1) 406 mtlr 0 407 ld 31,-8(1) 408 blr 409 .long 0 410 .byte 0,9,0,1,128,1,0,1 411 .cfi_endproc 412.LFE1: 413 .size privateSnippetExecutor,.-privateSnippetExecutor 414 .section .rodata 415 .align 2 416 .type _ZL15codeSnippetSize, @object 417 .size _ZL15codeSnippetSize, 4 418_ZL15codeSnippetSize: 419 .long 32 420 .section ".text" 421 .align 2 422 .globl codeSnippet 423 .type codeSnippet, @function 424codeSnippet: 425.LFB2: 426 .cfi_startproc 427.LCF2: 4280: addis 2,12,.TOC.-.LCF2@ha 429 addi 2,2,.TOC.-.LCF2@l 430 .localentry codeSnippet,.-codeSnippet 431 std 31,-8(1) 432 stdu 1,-96(1) 433 .cfi_def_cfa_offset 96 434 .cfi_offset 31, -8 435 mr 31,1 436 .cfi_def_cfa_register 31 437 std 3,56(31) 438 mr 9,4 439 mr 8,5 440 mr 10,6 441 stw 9,52(31) 442 mr 9,8 443 stw 9,48(31) 444 mr 9,10 445 stb 9,47(31) 446 lwa 9,48(31) 447 sldi 10,9,32 448 lwa 9,52(31) 449 or 9,10,9 450 std 9,64(31) 451 lbz 9,47(31) 452 cmpwi 0,9,0 453 beq 0,.L21 454 ld 9,64(31) 455 oris 9,9,0x8000 456 std 9,64(31) 457.L21: 458 ld 9,56(31) 459 std 9,72(31) 460 ld 9,72(31) 461 lis 10,0xe96c 462 ori 10,10,0x18 463 stw 10,0(9) 464 ld 9,72(31) 465 addi 9,9,4 466 lis 10,0xe98c 467 ori 10,10,0x10 468 stw 10,0(9) 469 ld 9,72(31) 470 addi 9,9,8 471 lis 10,0x7d89 472 ori 10,10,0x3a6 473 stw 10,0(9) 474 ld 9,72(31) 475 addi 9,9,12 476 lis 10,0x4e80 477 ori 10,10,0x420 478 stw 10,0(9) 479 ld 9,72(31) 480 addi 9,9,16 481 addis 10,2,privateSnippetExecutor@toc@ha 482 addi 10,10,privateSnippetExecutor@toc@l 483 std 10,0(9) 484 ld 9,72(31) 485 addi 9,9,24 486 ld 10,64(31) 487 std 10,0(9) 488 ld 9,56(31) 489 addi 9,9,32 490 mr 3,9 491 addi 1,31,96 492 .cfi_def_cfa 1, 0 493 ld 31,-8(1) 494 blr 495 .long 0 496 .byte 0,9,0,0,128,1,0,1 497 .cfi_endproc 498.LFE2: 499 .size codeSnippet,.-codeSnippet 500 .section .note.GNU-stack,"",@progbits 501