Simple project structure and dependencies:
# Prepare directory and project
mkdir answer
cd answer
npm init # answer all/most with default values
npm install jspm
test | |
<script> | |
var bin = atob( | |
"AGFzbQsAAAAEdHlwZYqAgIAAAkABAQEBQAABBAZpbXBvcnSPgICAAAEAA2VudghjYWxsYmFjawhmdW5jdGlvboKAgIAAAQEGbWVtb3J5g4CAgAAICAEGZXhwb3J0jYCAgAABAApzcXJ0T2ZTcXJzBGNvZGW5gICAAAGzgICAAAEBBAESAAAAAAAAAAAVAAIUABAAGAEAEABNBwEBFAAQAC0DABAALQMAi4kVAAYAAA+WDwRuYW1lj4CAgAABDHNxcnRfb2Zfc3FycwA="); | |
var ar = new Uint8Array(Array.prototype.map.call(bin, (ch) => ch.charCodeAt(0))); | |
var input = [3, 4]; | |
var env = {env: { callback: (resultPtr) => { | |
resultPtr |= 0; | |
if (input.length === 0) return 0|0; | |
var data = +input.shift(); |
# HG changeset patch | |
# User Yury Delendik <[email protected]> | |
# Date 1462291965 18000 | |
# Tue May 03 11:12:45 2016 -0500 | |
# Node ID 88863f30dd23ebd15831f55b73e0e6df0ec614ae | |
# Parent 77cead2cd20300623eea2416bc9bce4d5021df09 | |
Parse code annotations | |
diff --git a/js/src/asmjs/WasmBinary.h b/js/src/asmjs/WasmBinary.h | |
--- a/js/src/asmjs/WasmBinary.h |
struct z { | |
int x; | |
float y; | |
} i; | |
int main() { | |
struct z t[10]; | |
int i, j; | |
for (i = 0; i < 9; i++) | |
t[i].x = i; |
Index: lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp | |
=================================================================== | |
--- lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp (revision 270942) | |
+++ lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp (working copy) | |
@@ -164,7 +164,7 @@ | |
// Look for register defs and register masks. Register masks are | |
// typically on calls and they clobber everything not in the mask. | |
for (const MachineOperand &MO : MI.operands()) { | |
- if (MO.isReg() && MO.isDef() && MO.getReg()) { | |
+ if (MO.isReg() && MO.isDef() && TargetRegisterInfo::isPhysicalRegister(MO.getReg())) { |
<!DOCTYPE html> | |
<html dir="ltr" mozdisallowselectionprint moznomarginboxes> | |
<head> | |
<meta charset="utf-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> | |
<style> | |
* { | |
padding: 0; | |
margin: 0; | |
} |
--- a/web/viewer.js 2016-01-21 12:50:58.000000000 -0600 | |
+++ b/web/viewer.js 2016-01-21 12:51:17.000000000 -0600 | |
@@ -7154,17 +7154,17 @@ | |
function webViewerLoad(evt) { | |
configure(PDFJS); | |
PDFViewerApplication.initialize().then(webViewerInitialized); | |
} | |
function webViewerInitialized() { | |
var queryString = document.location.search.substring(1); |
function divBoundsFor(pageIndex) { | |
var page = document.querySelectorAll('.page')[pageIndex]; | |
var textLayer = page && page.querySelector('.textLayer'); | |
if (!textLayer) return null; | |
var textLayerBounds = textLayer.getBoundingClientRect(); | |
var divs = textLayer.querySelectorAll('div'); | |
var bounds = Array.prototype.map.call(divs, function (d) { | |
var r = d.getBoundingClientRect(); | |
return { | |
left: r.left - textLayerBounds.left, |
function RedBlackNode(data) { | |
this.data = data; | |
this.left = null; | |
this.right = null; | |
this.parent = null; | |
this.red = false; | |
} | |
RedBlackNode.prototype = { | |
next: function () { | |
var n = this; |
function approximateFraction(x) { | |
// shourtcuts | |
if (Math.floor(x) === x) { | |
return [x, 1]; | |
} | |
var xinv = 1 / x; | |
if (Math.floor(xinv) === xinv) { | |
return [1, xinv]; | |
} | |