OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 define(function() { | 5 define(function() { |
6 | 6 |
7 // Memory ------------------------------------------------------------------- | 7 // Memory ------------------------------------------------------------------- |
8 | 8 |
9 function store8(memory, pointer, val) { | 9 function store8(memory, pointer, val) { |
10 memory[pointer] = val; | 10 memory[pointer] = val; |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
43 (memory[pointer + 2] << 16) + | 43 (memory[pointer + 2] << 16) + |
44 (memory[pointer + 3] << 24); | 44 (memory[pointer + 3] << 24); |
45 } | 45 } |
46 | 46 |
47 function load64(memory, pointer) { | 47 function load64(memory, pointer) { |
48 var low = load32(memory, pointer); | 48 var low = load32(memory, pointer); |
49 var high = load32(memory, pointer + 4); | 49 var high = load32(memory, pointer + 4); |
50 return low + high * 0x10000; | 50 return low + high * 0x10000; |
51 } | 51 } |
52 | 52 |
53 var kAlignment = 8; | |
54 | |
55 function align(size) { | |
56 return size + (kAlignment - (size % kAlignment)) % kAlignment; | |
abarth-chromium
2013/11/18 23:30:44
The last % kAlignment is needed to handle the size
| |
57 } | |
58 | |
53 // Buffer ------------------------------------------------------------------- | 59 // Buffer ------------------------------------------------------------------- |
54 | 60 |
55 function Buffer(size) { | 61 function Buffer(size) { |
56 this.memory = new Uint8Array(size); | 62 this.memory = new Uint8Array(size); |
57 this.next = 0; | 63 this.next = 0; |
58 } | 64 } |
59 | 65 |
60 Buffer.prototype.alloc = function(size) { | 66 Buffer.prototype.alloc = function(size) { |
61 var pointer = this.next; | 67 var pointer = this.next; |
62 this.next += size; | 68 this.next += size; |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
384 | 390 |
385 Handle.decode = function(decoder) { | 391 Handle.decode = function(decoder) { |
386 return decoder.decodeHandle(); | 392 return decoder.decodeHandle(); |
387 }; | 393 }; |
388 | 394 |
389 Handle.encode = function(encoder, val) { | 395 Handle.encode = function(encoder, val) { |
390 encoder.encodeHandle(val); | 396 encoder.encodeHandle(val); |
391 }; | 397 }; |
392 | 398 |
393 var exports = {}; | 399 var exports = {}; |
394 exports.load32 = load32; | 400 exports.align = align; |
abarth-chromium
2013/11/18 23:30:44
We don't need to export load32 anymore. We used t
| |
395 exports.MessageBuilder = MessageBuilder; | 401 exports.MessageBuilder = MessageBuilder; |
396 exports.MessageReader = MessageReader; | 402 exports.MessageReader = MessageReader; |
397 exports.kArrayHeaderSize = kArrayHeaderSize; | 403 exports.kArrayHeaderSize = kArrayHeaderSize; |
398 exports.kStructHeaderSize = kStructHeaderSize; | 404 exports.kStructHeaderSize = kStructHeaderSize; |
399 exports.kMessageHeaderSize = kMessageHeaderSize; | 405 exports.kMessageHeaderSize = kMessageHeaderSize; |
400 exports.Uint8 = Uint8; | 406 exports.Uint8 = Uint8; |
401 exports.Uint16 = Uint16; | 407 exports.Uint16 = Uint16; |
402 exports.Uint32 = Uint32; | 408 exports.Uint32 = Uint32; |
403 exports.Uint64 = Uint64; | 409 exports.Uint64 = Uint64; |
404 exports.PointerTo = PointerTo; | 410 exports.PointerTo = PointerTo; |
405 exports.Handle = Handle; | 411 exports.Handle = Handle; |
406 return exports; | 412 return exports; |
407 }); | 413 }); |
OLD | NEW |