• kmillikin@chromium.org's avatar
    Added support for assignments to global variables in the toplevel code · 4dfd4447
    kmillikin@chromium.org authored
    generator.  We use the normal store IC mechanism with the global
    object as the receiver.  The following code is generated for 'x=true'
    at toplevel.
    
    ======== IA32:
    
    27  mov eax,0xf5d06161          ;; object: 0xf5d06161 <true>
    32  mov ecx,0xf5d09c35          ;; object: 0xf5d09c35 <String[1]: x>
    37  push [esi+0x17]
    40  call StoreIC_Initialize  (0xf5ce75c0)    ;; code: STORE_IC, UNINITIALIZED
    45  mov [esp],eax
    
    ======== X64:
    
    25  movq rax,0x7f867a7b6199    ;; object: 0x7f867a7b6199 <true>
    35  movq rcx,0x7f867a7bae71    ;; object: 0x7f867a7bae71 <String[1]: x>
    45  push [rsi+0x2f]
    49  call StoreIC_Initialize  (0x7f8655929ac0)    ;; code: STORE_IC, UNINITIALIZED
    54  movq [rsp],rax
    
    ======== ARM:
    
    32  e59f0054       ldr r0, [pc, #+84]          ;; object: 0xf5b78161 <true>
    36  e59f2054       ldr r2, [pc, #+84]          ;; object: 0xf5b7bc35 <String[1]: x>
    40  e598c017       ldr ip, [r8, #+23]
    44  e52dc004       str ip, [sp, #-4]!
    48  e1a0e00f       mov lr, pc
    52  e59ff048       ldr pc, [pc, #+72]          ;; debug: statement 0
                                                   ;; code: STORE_IC, UNINITIALIZED
    56  e58d0000       str r0, [sp, #+0]
    
    Review URL: http://codereview.chromium.org/305005
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    4dfd4447
Name
Last commit
Last update
..
assembler-ia32-inl.h Loading commit data...
assembler-ia32.cc Loading commit data...
assembler-ia32.h Loading commit data...
builtins-ia32.cc Loading commit data...
codegen-ia32-inl.h Loading commit data...
codegen-ia32.cc Loading commit data...
codegen-ia32.h Loading commit data...
cpu-ia32.cc Loading commit data...
debug-ia32.cc Loading commit data...
disasm-ia32.cc Loading commit data...
fast-codegen-ia32.cc Loading commit data...
frames-ia32.cc Loading commit data...
frames-ia32.h Loading commit data...
ic-ia32.cc Loading commit data...
jump-target-ia32.cc Loading commit data...
macro-assembler-ia32.cc Loading commit data...
macro-assembler-ia32.h Loading commit data...
regexp-macro-assembler-ia32.cc Loading commit data...
regexp-macro-assembler-ia32.h Loading commit data...
register-allocator-ia32-inl.h Loading commit data...
register-allocator-ia32.cc Loading commit data...
register-allocator-ia32.h Loading commit data...
simulator-ia32.cc Loading commit data...
simulator-ia32.h Loading commit data...
stub-cache-ia32.cc Loading commit data...
virtual-frame-ia32.cc Loading commit data...
virtual-frame-ia32.h Loading commit data...