[haiku-bugs] Re: [Haiku] #15658: System freeze after 3-rd icon when booting

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Sun, 26 Jan 2020 10:10:32 -0000

#15658: System freeze after 3-rd icon when booting
-----------------------------+----------------------------
   Reporter:  X512           |      Owner:  nobody
       Type:  bug            |     Status:  closed
   Priority:  normal         |  Milestone:  Unscheduled
  Component:  System/Kernel  |    Version:  R1/Development
 Resolution:  fixed          |   Keywords:
 Blocked By:                 |   Blocking:
Has a Patch:  0              |   Platform:  x86
-----------------------------+----------------------------
Comment (by X512):

 Does generated code of system_time OK? It looks less efficient than older
 version. system_time is time critical function and should run as fast as
 possible.
 {{{
 00000b54 <system_time>:
  b54:   55                      push   ebp
  b55:   89 e5                   mov    ebp,esp
  b57:   83 ec 5c                sub    esp,0x5c
  b5a:   57                      push   edi
  b5b:   56                      push   esi
  b5c:   53                      push   ebx
  b5d:   e8 fc ff ff ff          call   b5e <system_time+0xa>
  b62:   89 45 c8                mov    DWORD PTR [ebp-56],eax
  b65:   89 55 cc                mov    DWORD PTR [ebp-52],edx
  b68:   89 45 f0                mov    DWORD PTR [ebp-16],eax
  b6b:   89 55 f4                mov    DWORD PTR [ebp-12],edx
  b6e:   c7 45 f8 00 00 00 00    mov    DWORD PTR [ebp-8],0x0
  b75:   c7 45 fc 00 00 00 00    mov    DWORD PTR [ebp-4],0x0
  b7c:   89 55 b0                mov    DWORD PTR [ebp-80],edx
  b7f:   c7 45 b4 00 00 00 00    mov    DWORD PTR [ebp-76],0x0
  b86:   8b 0d 00 00 00 00       mov    ecx,DWORD PTR ds:0x0
  b8c:   8b 45 b0                mov    eax,DWORD PTR [ebp-80]
  b8f:   f7 e1                   mul    ecx
  b91:   8b 75 b0                mov    esi,DWORD PTR [ebp-80]
  b94:   31 db                   xor    ebx,ebx
  b96:   0f af f3                imul   esi,ebx
  b99:   89 45 c0                mov    DWORD PTR [ebp-64],eax
  b9c:   8b 45 b4                mov    eax,DWORD PTR [ebp-76]
  b9f:   0f af c1                imul   eax,ecx
  ba2:   01 f2                   add    edx,esi
  ba4:   89 55 c4                mov    DWORD PTR [ebp-60],edx
  ba7:   8b 55 cc                mov    edx,DWORD PTR [ebp-52]
  baa:   23 15 bc 00 00 00       and    edx,DWORD PTR ds:0xbc
  bb0:   89 55 b4                mov    DWORD PTR [ebp-76],edx
  bb3:   01 45 c4                add    DWORD PTR [ebp-60],eax
  bb6:   8b 45 c8                mov    eax,DWORD PTR [ebp-56]
  bb9:   23 05 b8 00 00 00       and    eax,DWORD PTR ds:0xb8
  bbf:   89 45 b0                mov    DWORD PTR [ebp-80],eax
  bc2:   f7 e1                   mul    ecx
  bc4:   8b 75 b0                mov    esi,DWORD PTR [ebp-80]
  bc7:   0f af f3                imul   esi,ebx
  bca:   89 45 b8                mov    DWORD PTR [ebp-72],eax
  bcd:   8b 45 b4                mov    eax,DWORD PTR [ebp-76]
  bd0:   0f af c1                imul   eax,ecx
  bd3:   01 f2                   add    edx,esi
  bd5:   89 55 bc                mov    DWORD PTR [ebp-68],edx
  bd8:   8b 55 c4                mov    edx,DWORD PTR [ebp-60]
  bdb:   8b 75 c4                mov    esi,DWORD PTR [ebp-60]
  bde:   31 ff                   xor    edi,edi
  be0:   01 45 bc                add    DWORD PTR [ebp-68],eax
  be3:   8b 45 c0                mov    eax,DWORD PTR [ebp-64]
  be6:   89 c2                   mov    edx,eax
  be8:   31 c0                   xor    eax,eax
  bea:   8b 4d b8                mov    ecx,DWORD PTR [ebp-72]
  bed:   8b 5d bc                mov    ebx,DWORD PTR [ebp-68]
  bf0:   01 c1                   add    ecx,eax
  bf2:   11 d3                   adc    ebx,edx
  bf4:   39 da                   cmp    edx,ebx
  bf6:   77 06                   ja     bfe <system_time+0xaa>
  bf8:   75 0a                   jne    c04 <system_time+0xb0>
  bfa:   39 c8                   cmp    eax,ecx
  bfc:   76 06                   jbe    c04 <system_time+0xb0>
  bfe:   83 c6 01                add    esi,0x1
  c01:   83 d7 00                adc    edi,0x0
  c04:   89 4d d0                mov    DWORD PTR [ebp-48],ecx
  c07:   89 5d d4                mov    DWORD PTR [ebp-44],ebx
  c0a:   89 75 d8                mov    DWORD PTR [ebp-40],esi
  c0d:   89 7d dc                mov    DWORD PTR [ebp-36],edi
  c10:   89 d9                   mov    ecx,ebx
  c12:   31 db                   xor    ebx,ebx
  c14:   89 f0                   mov    eax,esi
  c16:   89 fa                   mov    edx,edi
  c18:   89 c2                   mov    edx,eax
  c1a:   31 c0                   xor    eax,eax
  c1c:   09 c1                   or     ecx,eax
  c1e:   09 d3                   or     ebx,edx
  c20:   89 4d e0                mov    DWORD PTR [ebp-32],ecx
  c23:   89 5d e4                mov    DWORD PTR [ebp-28],ebx
  c26:   89 7d e8                mov    DWORD PTR [ebp-24],edi
  c29:   c7 45 ec 00 00 00 00    mov    DWORD PTR [ebp-20],0x0
  c30:   89 c8                   mov    eax,ecx
  c32:   89 da                   mov    edx,ebx
  c34:   5b                      pop    ebx
  c35:   5e                      pop    esi
  c36:   5f                      pop    edi
  c37:   89 ec                   mov    esp,ebp
  c39:   5d                      pop    ebp
  c3a:   c3                      ret
  c3b:   90                      nop
 }}}
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/15658#comment:6>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: