100549869

Page 1


vxor r0, r0

VXOR R0, R0

vm_regs.py

class VMGeneralPurposeRegister(object):

def __init__(self): self.v = 0

def __init__(self):

VMGeneralPurposeRegister

VMInstance vm.py

self.r = [VMGeneralPurposeRegister() for _ in xrange(16)]

self.sp = self.r[14]

self.pc = self.r[15]

class VMMemory(object):

def __init__(self):

self._mem = bytearray(64 * 1024)

def fetch_byte(self, addr): if addr < 0 or addr >= len(self._mem): return None return self._mem[addr]

def store_byte(self, addr, value): if addr < 0 or addr >= len(self._mem): return False

self._mem[addr] = value return True ...

def __init__(self):

self.mem = VMMemory()

def VMOV(vm, args): vm.reg(args[0]).v = vm.reg(args[1]).v

def VSET(vm, args): vm.reg(args[0]).v = to_dd(args[1:1 + 4])

C _Atomic

atomic_compare_exchange_strong atomic_compare_exchange_weak atomic_fetch_add atomic_fetch_add_explicit -

std::atomic<T> std::atomic_flag

C

Boost.Atomic<T>

InterlockedIncrement InterlockedExchange InterlockedAnd ...

stdatomic.h__STDC_NO_ATOMICS__

std::atomic -

std::atomic_flag jest -

std::atomic<T>

__sync_synchronize __sync_lock_test_and_set __sync_lock_release

_ReadBarrier

_WriteBarrier _ReadWriteBarrier

atomic_thread_fence

MemoryBarrierspinning

static volatile LONG g_poor_mans_lock; ...

InterlockedIncrement(&g_poor_mans_lock); while (g_poor_mans_lock != THREAD_COUNT); ...

g_poor_mans_lock THREAD_COUNT

InterlockedIncrement

if (g_poor_mans_lock != THREAD_COUNT) { while(1); }

volatile

margin: 0; padding: 0; }

#chat-text p span.person { color: #636cc8; }

#chat-text p span.text { color: blue; }

#chat-input-window { background-color: #c1b8ff; text-align: center; border-radius: 1em; }

#chat-input { width: 95%; background-color: #d3d4ff; border: 1px solid #8d88ff; }

/chat/messages

Document Object Model -

$(function() { pole // tekstowe. $('#chat-input') .focus() .keypress(function(ev) { if (ev.which != 13) { // Klawisz ENTER. return; } ev.preventDefault();

var text = $(this).val(); $(this).val('');

var text_json = JSON.stringify({ "text": text }); $.ajax({

Asynchronous JavaScript and XML

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.