Generated JIT code for 16-bit regular expression : Code at [0x7f2d43510000, 0x7f2d43510066): disassembly not available for range 0x7f2d43510000...0x7f2d43510066 function %entry() { L0: // predecessor blocks:(none) 1: var{%2} = closure(freeze_recur); // line: 1 column: 1 2: goto L1; // line: 1 column: 1 L1: // predecessor blocks: L0 3: return var{%2}; } function %entry() { L0: // predecessor blocks:(none) 1: var{&0} = closure(freeze_recur); // line: 1 column: 1 2: goto L1; // line: 1 column: 1 L1: // predecessor blocks: L0 3: return var{&0}; } function %entry() { L0: // predecessor blocks:(none) 1: var{&0} = closure(freeze_recur); // line: 1 column: 1 2: goto L1; // line: 1 column: 1 L1: // predecessor blocks: L0 3: return var{&0}; } function %entry() { L0: // predecessor blocks:(none) 1: var{&0} = closure(freeze_recur); // line: 1 column: 1 2: goto L1; // line: 1 column: 1 L1: // predecessor blocks: L0 3: return var{&0}; } Generated JIT code for %entry : Code at [0x7f2d4350f000, 0x7f2d4350f065): disassembly not available for range 0x7f2d4350f000...0x7f2d4350f065 function freeze_recur(obj) { var prop; var properties; L0: // predecessor blocks:(none) 1: undefined{%24} = undefined; 2: var{%25} = Qt; // line: 1 column: 35 3: var{%26} = var{%25}.isQtObject(var{#0}); // line: 1 column: 35 4: bool{%55} = bool{convert(var{%26})}; 5: if (bool{%55}) goto L1; // line: 1 column: 35 else goto L2; L1: // predecessor blocks: L0 6: goto L15; // line: 1 column: 59 L2: // predecessor blocks: L0 7: var{%30} = Function; // line: 1 column: 70 8: var{%31} = var{%30}.connect; // line: 1 column: 70 9: if (bool{var{#0} != var{%31}}) goto L6; // line: 1 column: 70 else goto L16; L6: // predecessor blocks: L2 10: var{%32} = Function; 11: var{%33} = var{%32}.disconnect; 12: if (bool{var{#0} != var{%33}}) goto L5; else goto L17; L5: // predecessor blocks: L6 13: var{%34} = Object; 14: if (bool{var{#0} instanceof var{%34}}) goto L3; else goto L18; L3: // predecessor blocks: L5 15: var{%35} = Object; // line: 1 column: 171 16: var{%36} = var{%35}.getOwnPropertyNames(var{#0}); // line: 1 column: 171 17: var{%39} = builtin_foreach_iterator_object(var{%36}); // line: 1 column: 228 18: goto L7; // line: 1 column: 228 L7: // predecessor blocks: L3 L10 L11; group start 19: var{%42} = builtin_foreach_next_property_name(var{%39}); 20: null{%43} = null; 21: if (bool{var{%42} !== null{%43}}) goto L8; else goto L9; L8: // predecessor blocks: L7; container block: L7 22: string{%45} = "connect"; // line: 1 column: 271 23: if (bool{var{%42} == string{%45}}) goto L19; // line: 1 column: 271 else goto L12; L19: // predecessor blocks: L8; container block: L7 24: goto L10; L12: // predecessor blocks: L8; container block: L7 25: string{%48} = "disconnect"; 26: if (bool{var{%42} == string{%48}}) goto L20; else goto L11; L20: // predecessor blocks: L12; container block: L7 27: goto L10; L10: // predecessor blocks: L19 L20; container block: L7 28: var{%46} = Object; // line: 1 column: 335 29: var{%47} = var{#0}[var{%42}]; // line: 1 column: 335 30: (void) var{%46}.freeze(var{%47}); // line: 1 column: 335 31: goto L7; // line: 1 column: 377 L11: // predecessor blocks: L12; container block: L7 32: var{%49} = var{#0}[var{%42}]; // line: 1 column: 411 33: (void) freeze_recur(var{%49}); // line: 1 column: 411 34: goto L7; // line: 1 column: 411 L9: // predecessor blocks: L7 35: goto L4; L18: // predecessor blocks: L5 36: goto L4; L17: // predecessor blocks: L6 37: goto L4; L16: // predecessor blocks: L2 38: goto L4; L4: // predecessor blocks: L16 L17 L18 L9 39: var{%53} = Object; // line: 1 column: 453 40: if (bool{var{#0} instanceof var{%53}}) goto L13; // line: 1 column: 453 else goto L21; L13: // predecessor blocks: L4 41: var{%54} = Object; // line: 1 column: 489 42: (void) var{%54}.freeze(var{#0}); // line: 1 column: 489 43: goto L14; // line: 1 column: 489 L21: // predecessor blocks: L4 44: goto L14; L14: // predecessor blocks: L21 L13 45: goto L15; L15: // predecessor blocks: L1 L14 46: return undefined{%24}; } function freeze_recur(obj) { var prop; var properties; L0: // predecessor blocks:(none) 1: undefined{&0} = undefined; 2: var{&1} = Qt; // line: 1 column: 35 3: var{&2} = var{&1}.isQtObject(var{#0}); // line: 1 column: 35 4: bool{&1} = bool{convert(var{&2})}; 5: if (bool{&1}) goto L1; // line: 1 column: 35 else goto L2; L1: // predecessor blocks: L0 6: goto L15; // line: 1 column: 59 L2: // predecessor blocks: L0 7: var{&1} = Function; // line: 1 column: 70 8: var{&2} = var{&1}.connect; // line: 1 column: 70 9: if (bool{var{#0} != var{&2}}) goto L6; // line: 1 column: 70 else goto L16; L6: // predecessor blocks: L2 10: var{&1} = Function; 11: var{&2} = var{&1}.disconnect; 12: if (bool{var{#0} != var{&2}}) goto L5; else goto L17; L5: // predecessor blocks: L6 13: var{&1} = Object; 14: if (bool{var{#0} instanceof var{&1}}) goto L3; else goto L18; L3: // predecessor blocks: L5 15: var{&1} = Object; // line: 1 column: 171 16: var{&2} = var{&1}.getOwnPropertyNames(var{#0}); // line: 1 column: 171 17: var{&1} = builtin_foreach_iterator_object(var{&2}); // line: 1 column: 228 18: goto L7; // line: 1 column: 228 L7: // predecessor blocks: L3 L10 L11; group start 19: var{&2} = builtin_foreach_next_property_name(var{&1}); 20: null{&3} = null; 21: if (bool{var{&2} !== null{&3}}) goto L8; else goto L9; L8: // predecessor blocks: L7; container block: L7 22: string{&3} = "connect"; // line: 1 column: 271 23: if (bool{var{&2} == string{&3}}) goto L19; // line: 1 column: 271 else goto L12; L19: // predecessor blocks: L8; container block: L7 24: goto L10; L12: // predecessor blocks: L8; container block: L7 25: string{&3} = "disconnect"; 26: if (bool{var{&2} == string{&3}}) goto L20; else goto L11; L20: // predecessor blocks: L12; container block: L7 27: goto L10; L10: // predecessor blocks: L19 L20; container block: L7 28: var{&3} = Object; // line: 1 column: 335 29: var{&4} = var{#0}[var{&2}]; // line: 1 column: 335 30: (void) var{&3}.freeze(var{&4}); // line: 1 column: 335 31: goto L7; // line: 1 column: 377 L11: // predecessor blocks: L12; container block: L7 32: var{&3} = var{#0}[var{&2}]; // line: 1 column: 411 33: (void) freeze_recur(var{&3}); // line: 1 column: 411 34: goto L7; // line: 1 column: 411 L9: // predecessor blocks: L7 35: goto L4; L18: // predecessor blocks: L5 36: goto L4; L17: // predecessor blocks: L6 37: goto L4; L16: // predecessor blocks: L2 38: goto L4; L4: // predecessor blocks: L16 L17 L18 L9 39: var{&1} = Object; // line: 1 column: 453 40: if (bool{var{#0} instanceof var{&1}}) goto L13; // line: 1 column: 453 else goto L21; L13: // predecessor blocks: L4 41: var{&1} = Object; // line: 1 column: 489 42: (void) var{&1}.freeze(var{#0}); // line: 1 column: 489 43: goto L14; // line: 1 column: 489 L21: // predecessor blocks: L4 44: goto L14; L14: // predecessor blocks: L21 L13 45: goto L15; L15: // predecessor blocks: L1 L14 46: return undefined{&0}; } function freeze_recur(obj) { var prop; var properties; L0: // predecessor blocks:(none) 1: undefined{&0} = undefined; 2: var{&1} = Qt; // line: 1 column: 35 3: var{&2} = var{&1}.isQtObject(var{#0}); // line: 1 column: 35 4: bool{&1} = bool{convert(var{&2})}; 5: if (bool{&1}) goto L1; // line: 1 column: 35 else goto L2; L1: // predecessor blocks: L0 6: goto L15; // line: 1 column: 59 L2: // predecessor blocks: L0 7: var{&1} = Function; // line: 1 column: 70 8: var{&2} = var{&1}.connect; // line: 1 column: 70 9: if (bool{var{#0} != var{&2}}) goto L6; // line: 1 column: 70 else goto L16; L6: // predecessor blocks: L2 10: var{&1} = Function; 11: var{&2} = var{&1}.disconnect; 12: if (bool{var{#0} != var{&2}}) goto L5; else goto L17; L5: // predecessor blocks: L6 13: var{&1} = Object; 14: if (bool{var{#0} instanceof var{&1}}) goto L3; else goto L18; L3: // predecessor blocks: L5 15: var{&1} = Object; // line: 1 column: 171 16: var{&2} = var{&1}.getOwnPropertyNames(var{#0}); // line: 1 column: 171 17: var{&1} = builtin_foreach_iterator_object(var{&2}); // line: 1 column: 228 18: goto L7; // line: 1 column: 228 L7: // predecessor blocks: L3 L10 L11; group start 19: var{&2} = builtin_foreach_next_property_name(var{&1}); 20: null{&3} = null; 21: if (bool{var{&2} !== null{&3}}) goto L8; else goto L9; L8: // predecessor blocks: L7; container block: L7 22: string{&3} = "connect"; // line: 1 column: 271 23: if (bool{var{&2} == string{&3}}) goto L19; // line: 1 column: 271 else goto L12; L19: // predecessor blocks: L8; container block: L7 24: goto L10; L12: // predecessor blocks: L8; container block: L7 25: string{&3} = "disconnect"; 26: if (bool{var{&2} == string{&3}}) goto L20; else goto L11; L20: // predecessor blocks: L12; container block: L7 27: goto L10; L10: // predecessor blocks: L19 L20; container block: L7 28: var{&3} = Object; // line: 1 column: 335 29: var{&4} = var{#0}[var{&2}]; // line: 1 column: 335 30: (void) var{&3}.freeze(var{&4}); // line: 1 column: 335 31: goto L7; // line: 1 column: 377 L11: // predecessor blocks: L12; container block: L7 32: var{&3} = var{#0}[var{&2}]; // line: 1 column: 411 33: (void) freeze_recur(var{&3}); // line: 1 column: 411 34: goto L7; // line: 1 column: 411 L9: // predecessor blocks: L7 35: goto L4; L18: // predecessor blocks: L5 36: goto L4; L17: // predecessor blocks: L6 37: goto L4; L16: // predecessor blocks: L2 38: goto L4; L4: // predecessor blocks: L16 L17 L18 L9 39: var{&1} = Object; // line: 1 column: 453 40: if (bool{var{#0} instanceof var{&1}}) goto L13; // line: 1 column: 453 else goto L21; L13: // predecessor blocks: L4 41: var{&1} = Object; // line: 1 column: 489 42: (void) var{&1}.freeze(var{#0}); // line: 1 column: 489 43: goto L14; // line: 1 column: 489 L21: // predecessor blocks: L4 44: goto L14; L14: // predecessor blocks: L21 L13 45: goto L15; L15: // predecessor blocks: L1 L14 46: return undefined{&0}; } function freeze_recur(obj) { var prop; var properties; L0: // predecessor blocks:(none) 1: undefined{&0} = undefined; 2: var{&1} = Qt; // line: 1 column: 35 3: var{&2} = var{&1}.isQtObject(var{#0}); // line: 1 column: 35 4: bool{&1} = bool{convert(var{&2})}; 5: if (bool{&1}) goto L1; // line: 1 column: 35 else goto L2; L1: // predecessor blocks: L0 6: goto L15; // line: 1 column: 59 L2: // predecessor blocks: L0 7: var{&1} = Function; // line: 1 column: 70 8: var{&2} = var{&1}.connect; // line: 1 column: 70 9: if (bool{var{#0} != var{&2}}) goto L6; // line: 1 column: 70 else goto L16; L6: // predecessor blocks: L2 10: var{&1} = Function; 11: var{&2} = var{&1}.disconnect; 12: if (bool{var{#0} != var{&2}}) goto L5; else goto L17; L5: // predecessor blocks: L6 13: var{&1} = Object; 14: if (bool{var{#0} instanceof var{&1}}) goto L3; else goto L18; L3: // predecessor blocks: L5 15: var{&1} = Object; // line: 1 column: 171 16: var{&2} = var{&1}.getOwnPropertyNames(var{#0}); // line: 1 column: 171 17: var{&1} = builtin_foreach_iterator_object(var{&2}); // line: 1 column: 228 18: goto L7; // line: 1 column: 228 L7: // predecessor blocks: L3 L10 L11; group start 19: var{&2} = builtin_foreach_next_property_name(var{&1}); 20: null{&3} = null; 21: if (bool{var{&2} !== null{&3}}) goto L8; else goto L9; L8: // predecessor blocks: L7; container block: L7 22: string{&3} = "connect"; // line: 1 column: 271 23: if (bool{var{&2} == string{&3}}) goto L19; // line: 1 column: 271 else goto L12; L19: // predecessor blocks: L8; container block: L7 24: goto L10; L12: // predecessor blocks: L8; container block: L7 25: string{&3} = "disconnect"; 26: if (bool{var{&2} == string{&3}}) goto L20; else goto L11; L20: // predecessor blocks: L12; container block: L7 27: goto L10; L10: // predecessor blocks: L19 L20; container block: L7 28: var{&3} = Object; // line: 1 column: 335 29: var{&4} = var{#0}[var{&2}]; // line: 1 column: 335 30: (void) var{&3}.freeze(var{&4}); // line: 1 column: 335 31: goto L7; // line: 1 column: 377 L11: // predecessor blocks: L12; container block: L7 32: var{&3} = var{#0}[var{&2}]; // line: 1 column: 411 33: (void) freeze_recur(var{&3}); // line: 1 column: 411 34: goto L7; // line: 1 column: 411 L9: // predecessor blocks: L7 35: goto L4; L18: // predecessor blocks: L5 36: goto L4; L17: // predecessor blocks: L6 37: goto L4; L16: // predecessor blocks: L2 38: goto L4; L4: // predecessor blocks: L16 L17 L18 L9 39: var{&1} = Object; // line: 1 column: 453 40: if (bool{var{#0} instanceof var{&1}}) goto L13; // line: 1 column: 453 else goto L21; L13: // predecessor blocks: L4 41: var{&1} = Object; // line: 1 column: 489 42: (void) var{&1}.freeze(var{#0}); // line: 1 column: 489 43: goto L14; // line: 1 column: 489 L21: // predecessor blocks: L4 44: goto L14; L14: // predecessor blocks: L21 L13 45: goto L15; L15: // predecessor blocks: L1 L14 46: return undefined{&0}; } Generated JIT code for freeze_recur : Code at [0x7f2d4350f070, 0x7f2d4350f76a): disassembly not available for range 0x7f2d4350f070...0x7f2d4350f76a EGL Wayland extension successfully initialized. function %entry() { L0: // predecessor blocks:(none) 1: (void) builtin_declare_vars(bool{false}, windowList, removeWindow, relayout, indexes, addWindow); 2: var{%7} = closure(addWindow); 3: addWindow = var{%7}; 4: var{%8} = closure(relayout); 5: relayout = var{%8}; 6: var{%9} = closure(removeWindow); 7: removeWindow = var{%9}; 8: null{%10} = null; // line: 41 column: 1 9: windowList = null{%10}; // line: 41 column: 1 10: null{%11} = null; // line: 42 column: 1 11: indexes = null{%11}; // line: 42 column: 1 12: var{%12} = relayout; // line: 42 column: 1 13: var{%13} = addWindow; // line: 42 column: 1 14: var{%14} = removeWindow; // line: 42 column: 1 15: goto L1; // line: 42 column: 1 L1: // predecessor blocks: L0 16: return var{%14}; } function %entry() { L0: // predecessor blocks:(none) 1: (void) builtin_declare_vars(bool{false}, windowList, removeWindow, relayout, indexes, addWindow); 2: var{&0} = closure(addWindow); 3: addWindow = var{&0}; 4: var{&0} = closure(relayout); 5: relayout = var{&0}; 6: var{&0} = closure(removeWindow); 7: removeWindow = var{&0}; 8: null{&0} = null; // line: 41 column: 1 9: windowList = null{&0}; // line: 41 column: 1 10: null{&0} = null; // line: 42 column: 1 11: indexes = null{&0}; // line: 42 column: 1 12: var{&0} = relayout; // line: 42 column: 1 13: var{&0} = addWindow; // line: 42 column: 1 14: var{&0} = removeWindow; // line: 42 column: 1 15: goto L1; // line: 42 column: 1 L1: // predecessor blocks: L0 16: return var{&0}; } function %entry() { L0: // predecessor blocks:(none) 1: (void) builtin_declare_vars(bool{false}, windowList, removeWindow, relayout, indexes, addWindow); 2: var{&0} = closure(addWindow); 3: addWindow = var{&0}; 4: var{&0} = closure(relayout); 5: relayout = var{&0}; 6: var{&0} = closure(removeWindow); 7: removeWindow = var{&0}; 8: null{&0} = null; // line: 41 column: 1 9: windowList = null{&0}; // line: 41 column: 1 10: null{&0} = null; // line: 42 column: 1 11: indexes = null{&0}; // line: 42 column: 1 12: var{&0} = relayout; // line: 42 column: 1 13: var{&0} = addWindow; // line: 42 column: 1 14: var{&0} = removeWindow; // line: 42 column: 1 15: goto L1; // line: 42 column: 1 L1: // predecessor blocks: L0 16: return var{&0}; } function %entry() { L0: // predecessor blocks:(none) 1: (void) builtin_declare_vars(bool{false}, windowList, removeWindow, relayout, indexes, addWindow); 2: var{&0} = closure(addWindow); 3: addWindow = var{&0}; 4: var{&0} = closure(relayout); 5: relayout = var{&0}; 6: var{&0} = closure(removeWindow); 7: removeWindow = var{&0}; 8: null{&0} = null; // line: 41 column: 1 9: windowList = null{&0}; // line: 41 column: 1 10: null{&0} = null; // line: 42 column: 1 11: indexes = null{&0}; // line: 42 column: 1 12: var{&0} = relayout; // line: 42 column: 1 13: var{&0} = addWindow; // line: 42 column: 1 14: var{&0} = removeWindow; // line: 42 column: 1 15: goto L1; // line: 42 column: 1 L1: // predecessor blocks: L0 16: return var{&0}; } Generated JIT code for %entry : Code at [0x7f2d4350f770, 0x7f2d4350fa45): disassembly not available for range 0x7f2d4350f770...0x7f2d4350fa45 function addWindow(window) { L0: // predecessor blocks:(none) 1: undefined{%6} = undefined; 2: var{%7} = windowList; // line: 96 column: 5 3: null{%8} = null; // line: 96 column: 5 4: if (bool{var{%7} == null{%8}}) goto L1; // line: 96 column: 5 else goto L4; L1: // predecessor blocks: L0 5: var{%10} = new Array(int32{0}); // line: 97 column: 9 6: windowList = var{%10}; // line: 97 column: 9 7: goto L2; // line: 97 column: 9 L4: // predecessor blocks: L0 8: goto L2; L2: // predecessor blocks: L4 L1 9: var{%11} = windowList; // line: 99 column: 5 10: (void) var{%11}.push(var{#0}); // line: 99 column: 5 11: (void) relayout(); // line: 100 column: 5 12: goto L3; // line: 100 column: 5 L3: // predecessor blocks: L2 13: return undefined{%6}; } function addWindow(window) { L0: // predecessor blocks:(none) 1: undefined{&0} = undefined; 2: var{&1} = windowList; // line: 96 column: 5 3: null{&2} = null; // line: 96 column: 5 4: if (bool{var{&1} == null{&2}}) goto L1; // line: 96 column: 5 else goto L4; L1: // predecessor blocks: L0 5: var{&1} = new Array(int32{0}); // line: 97 column: 9 6: windowList = var{&1}; // line: 97 column: 9 7: goto L2; // line: 97 column: 9 L4: // predecessor blocks: L0 8: goto L2; L2: // predecessor blocks: L4 L1 9: var{&1} = windowList; // line: 99 column: 5 10: (void) var{&1}.push(var{#0}); // line: 99 column: 5 11: (void) relayout(); // line: 100 column: 5 12: goto L3; // line: 100 column: 5 L3: // predecessor blocks: L2 13: return undefined{&0}; } function addWindow(window) { L0: // predecessor blocks:(none) 1: undefined{&0} = undefined; 2: var{&1} = windowList; // line: 96 column: 5 3: null{&2} = null; // line: 96 column: 5 4: if (bool{var{&1} == null{&2}}) goto L1; // line: 96 column: 5 else goto L4; L1: // predecessor blocks: L0 5: var{&1} = new Array(int32{0}); // line: 97 column: 9 6: windowList = var{&1}; // line: 97 column: 9 7: goto L2; // line: 97 column: 9 L4: // predecessor blocks: L0 8: goto L2; L2: // predecessor blocks: L4 L1 9: var{&1} = windowList; // line: 99 column: 5 10: (void) var{&1}.push(var{#0}); // line: 99 column: 5 11: (void) relayout(); // line: 100 column: 5 12: goto L3; // line: 100 column: 5 L3: // predecessor blocks: L2 13: return undefined{&0}; } function addWindow(window) { L0: // predecessor blocks:(none) 1: undefined{&0} = undefined; 2: var{&1} = windowList; // line: 96 column: 5 3: null{&2} = null; // line: 96 column: 5 4: if (bool{var{&1} == null{&2}}) goto L1; // line: 96 column: 5 else goto L4; L1: // predecessor blocks: L0 5: var{&1} = new Array(int32{0}); // line: 97 column: 9 6: windowList = var{&1}; // line: 97 column: 9 7: goto L2; // line: 97 column: 9 L4: // predecessor blocks: L0 8: goto L2; L2: // predecessor blocks: L4 L1 9: var{&1} = windowList; // line: 99 column: 5 10: (void) var{&1}.push(var{#0}); // line: 99 column: 5 11: (void) relayout(); // line: 100 column: 5 12: goto L3; // line: 100 column: 5 L3: // predecessor blocks: L2 13: return undefined{&0}; } Generated JIT code for addWindow : Code at [0x7f2d4350fa50, 0x7f2d4350fc56): disassembly not available for range 0x7f2d4350fa50...0x7f2d4350fc56 function relayout() { var cols; var currentDim; var cx; var cy; var dim; var h; var i; var ix; var iy; var lastDim; var rows; var w; L0: // predecessor blocks:(none) 1: undefined{%121} = undefined; 2: var{%122} = windowList; // line: 45 column: 5 3: null{%123} = null; // line: 45 column: 5 4: if (bool{var{%122} === null{%123}}) goto L19; // line: 45 column: 5 else goto L3; L19: // predecessor blocks: L0 5: goto L1; L3: // predecessor blocks: L0 6: var{%132} = windowList; 7: var{%133} = var{%132}.length; 8: if (bool{var{%133} == int32{0}}) goto L20; else goto L2; L20: // predecessor blocks: L3 9: goto L1; L1: // predecessor blocks: L19 L20 10: goto L18; // line: 46 column: 9 L2: // predecessor blocks: L3 11: var{%135} = Math; // line: 48 column: 5 12: var{%136} = Math; // line: 48 column: 5 13: var{%137} = windowList; // line: 48 column: 5 14: var{%138} = var{%137}.length; // line: 48 column: 5 15: var{%139} = var{%136}.sqrt(var{%138}); // line: 48 column: 5 16: var{%140} = var{%135}.ceil(var{%139}); // line: 48 column: 5 17: var{%144} = Math; // line: 51 column: 5 18: var{%145} = windowList; // line: 51 column: 5 19: var{%146} = var{%145}.length; // line: 51 column: 5 20: double{%259} = double{convert(var{%146})}; 21: double{%260} = double{convert(var{%140})}; 22: double{%147} = double{double{%259} / double{%260}}; // line: 51 column: 5 23: var{%148} = var{%144}.ceil(double{%147}); // line: 51 column: 5 24: var{%150} = root; // line: 53 column: 5 25: var{%151} = var{%150}.width; // line: 53 column: 5 26: double{%261} = double{convert(var{%151})}; 27: double{%262} = double{convert(var{%140})}; 28: double{%152} = double{double{%261} / double{%262}}; // line: 53 column: 5 29: var{%155} = root; // line: 54 column: 5 30: var{%156} = var{%155}.height; // line: 54 column: 5 31: double{%263} = double{convert(var{%156})}; 32: double{%264} = double{convert(var{%148})}; 33: double{%157} = double{double{%263} / double{%264}}; // line: 54 column: 5 34: double{%265} = double{convert(var{%140})}; 35: double{%266} = double{convert(var{%140})}; 36: double{%166} = double{double{%265} * double{%266}}; // line: 61 column: 5 37: var{%167} = new Array(double{%166}); // line: 61 column: 5 38: indexes = var{%167}; // line: 61 column: 5 39: goto L4; // line: 63 column: 5 L4: // predecessor blocks: L2 L6; group start 40: double{%170} = phi(double{0}, double{%251}); 40: double{%171} = phi(double{0}, double{%199}); 40: double{%172} = phi(double{0}, double{%200}); 40: var{%173} = phi(int32{1}, var{%201}); 40: var{%174} = windowList; 41: var{%175} = var{%174}.length; 42: double{%270} = double{convert(var{%175})}; 43: if (bool{double{%170} < double{%270}}) goto L5; else goto L7; L5: // predecessor blocks: L4; container block: L4 44: if (bool{double{%170} > double{0}}) goto L8; // line: 64 column: 9 else goto L21; L8: // predecessor blocks: L5; container block: L4 45: var{%177} = Math; // line: 65 column: 13 46: var{%178} = Math; // line: 65 column: 13 47: double{%180} = double{double{%170} + double{1}}; // line: 65 column: 13 48: var{%181} = var{%178}.sqrt(double{%180}); // line: 65 column: 13 49: var{%182} = var{%177}.ceil(var{%181}); // line: 65 column: 13 50: if (bool{var{%182} == var{%173}}) goto L10; // line: 66 column: 13 else goto L11; L10: // predecessor blocks: L8; container block: L4 51: double{%283} = double{convert(var{%182})}; 52: double{%185} = double{double{%283} - double{1}}; // line: 67 column: 17 53: if (bool{double{%172} < double{%185}}) goto L13; // line: 67 column: 17 else goto L14; L13: // predecessor blocks: L10; container block: L4 54: double{%188} = double{double{%172} + double{1}}; // line: 68 column: 21 55: double{%289} = double{convert(var{%182})}; 56: double{%190} = double{double{%289} - double{1}}; // line: 69 column: 21 57: if (bool{double{%188} == double{%190}}) goto L16; // line: 69 column: 21 else goto L22; L16: // predecessor blocks: L13; container block: L4 58: goto L17; // line: 70 column: 25 L22: // predecessor blocks: L13; container block: L4 59: goto L17; L17: // predecessor blocks: L22 L16; container block: L4 60: double{%192} = phi(double{%171}, double{0}); 60: goto L15; L14: // predecessor blocks: L10; container block: L4 61: double{%254} = double{double{%171} + double{1}}; // line: 72 column: 21 62: goto L15; // line: 72 column: 21 L15: // predecessor blocks: L17 L14; container block: L4 63: double{%193} = phi(double{%192}, double{%254}); 63: double{%194} = phi(double{%188}, double{%172}); 63: goto L12; L11: // predecessor blocks: L8; container block: L4 64: double{%285} = double{convert(var{%182})}; 65: double{%257} = double{double{%285} - double{1}}; // line: 76 column: 17 66: goto L12; // line: 76 column: 17 L12: // predecessor blocks: L15 L11; container block: L4 67: double{%195} = phi(double{%193}, double{%257}); 67: double{%196} = phi(double{%194}, double{0}); 67: goto L9; // line: 78 column: 13 L21: // predecessor blocks: L5; container block: L4 68: goto L9; L9: // predecessor blocks: L21 L12; container block: L4 69: double{%199} = phi(double{%171}, double{%195}); 69: double{%200} = phi(double{%172}, double{%196}); 69: var{%201} = phi(var{%173}, var{%182}); 69: double{%274} = double{convert(var{%140})}; 70: double{%202} = double{double{%200} * double{%274}}; // line: 81 column: 9 71: double{%203} = double{double{%202} + double{%199}}; // line: 81 column: 9 72: var{%204} = indexes; // line: 81 column: 9 73: var{%204}[double{%203}] = double{%170}; // line: 81 column: 9 74: var{%205} = windowList; // line: 82 column: 9 75: var{%206} = var{%205}[double{%170}]; // line: 82 column: 9 76: double{%275} = double{convert(var{%140})}; 77: double{%207} = double{double{%200} * double{%275}}; // line: 82 column: 9 78: double{%208} = double{double{%207} + double{%199}}; // line: 82 column: 9 79: var{%206}.index = double{%208}; // line: 82 column: 9 80: double{%210} = double{double{%199} + double{0.5}}; // line: 84 column: 9 81: double{%211} = double{double{%210} * double{%152}}; // line: 84 column: 9 82: double{%215} = double{double{%200} + double{0.5}}; // line: 85 column: 9 83: double{%216} = double{double{%215} * double{%157}}; // line: 85 column: 9 84: var{%219} = windowList; // line: 87 column: 9 85: var{%220} = var{%219}[double{%170}]; // line: 87 column: 9 86: var{%221} = Math; // line: 87 column: 9 87: var{%222} = windowList; // line: 87 column: 9 88: var{%223} = var{%222}[double{%170}]; // line: 87 column: 9 89: var{%224} = var{%223}.width; // line: 87 column: 9 90: double{%276} = double{convert(var{%224})}; 91: double{%225} = double{double{%152} / double{%276}}; // line: 87 column: 9 92: var{%226} = windowList; // line: 87 column: 9 93: var{%227} = var{%226}[double{%170}]; // line: 87 column: 9 94: var{%228} = var{%227}.height; // line: 87 column: 9 95: double{%277} = double{convert(var{%228})}; 96: double{%229} = double{double{%157} / double{%277}}; // line: 87 column: 9 97: var{%231} = var{%221}.min(double{%225}, double{%229}); // line: 87 column: 9 98: double{%278} = double{convert(var{%231})}; 99: double{%232} = double{double{0.98} * double{%278}}; // line: 87 column: 9 100: var{%220}.targetScale = double{%232}; // line: 87 column: 9 101: var{%233} = windowList; // line: 89 column: 9 102: var{%234} = var{%233}[double{%170}]; // line: 89 column: 9 103: var{%235} = windowList; // line: 89 column: 9 104: var{%236} = var{%235}[double{%170}]; // line: 89 column: 9 105: var{%237} = var{%236}.width; // line: 89 column: 9 106: double{%279} = double{convert(var{%237})}; 107: double{%239} = double{double{%279} / double{2}}; // line: 89 column: 9 108: double{%240} = double{double{%211} - double{%239}}; // line: 89 column: 9 109: var{%234}.targetX = double{%240}; // line: 89 column: 9 110: var{%241} = windowList; // line: 90 column: 9 111: var{%242} = var{%241}[double{%170}]; // line: 90 column: 9 112: var{%243} = windowList; // line: 90 column: 9 113: var{%244} = var{%243}[double{%170}]; // line: 90 column: 9 114: var{%245} = var{%244}.height; // line: 90 column: 9 115: double{%281} = double{convert(var{%245})}; 116: double{%247} = double{double{%281} / double{2}}; // line: 90 column: 9 117: double{%248} = double{double{%216} - double{%247}}; // line: 90 column: 9 118: var{%242}.targetY = double{%248}; // line: 90 column: 9 119: goto L6; // line: 90 column: 9 L6: // predecessor blocks: L9; container block: L4 120: double{%251} = double{double{%170} + double{1}}; 121: goto L4; L7: // predecessor blocks: L4 122: goto L18; L18: // predecessor blocks: L1 L7 123: return undefined{%121}; } function relayout() { var cols; var currentDim; var cx; var cy; var dim; var h; var i; var ix; var iy; var lastDim; var rows; var w; L0: // predecessor blocks:(none) 1: undefined{&0} = undefined; 2: var{&1} = windowList; // line: 45 column: 5 3: null{&2} = null; // line: 45 column: 5 4: if (bool{var{&1} === null{&2}}) goto L19; // line: 45 column: 5 else goto L3; L19: // predecessor blocks: L0 5: goto L1; L3: // predecessor blocks: L0 6: var{&1} = windowList; 7: var{&2} = var{&1}.length; 8: if (bool{var{&2} == int32{0}}) goto L20; else goto L2; L20: // predecessor blocks: L3 9: goto L1; L1: // predecessor blocks: L19 L20 10: goto L18; // line: 46 column: 9 L2: // predecessor blocks: L3 11: var{&1} = Math; // line: 48 column: 5 12: var{&2} = Math; // line: 48 column: 5 13: var{&3} = windowList; // line: 48 column: 5 14: var{&4} = var{&3}.length; // line: 48 column: 5 15: var{&3} = var{&2}.sqrt(var{&4}); // line: 48 column: 5 16: var{&2} = var{&1}.ceil(var{&3}); // line: 48 column: 5 17: var{&1} = Math; // line: 51 column: 5 18: var{&3} = windowList; // line: 51 column: 5 19: var{&4} = var{&3}.length; // line: 51 column: 5 20: double{fp2} = double{convert(var{&4})}; double{&3} = double{fp2}; 21: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&3}; 22: double{fp3} = double{double{fp3} / double{fp2}}; // line: 51 column: 5 23: var{&3} = var{&1}.ceil(double{fp3}); // line: 51 column: 5 24: var{&1} = root; // line: 53 column: 5 25: var{&4} = var{&1}.width; // line: 53 column: 5 26: double{fp2} = double{convert(var{&4})}; double{&1} = double{fp2}; 27: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&1}; 28: double{fp3} = double{double{fp3} / double{fp2}}; // line: 53 column: 5 double{&4} = double{fp3}; 29: var{&1} = root; // line: 54 column: 5 30: var{&5} = var{&1}.height; // line: 54 column: 5 31: double{fp2} = double{convert(var{&5})}; double{&1} = double{fp2}; 32: double{fp2} = double{convert(var{&3})}; double{fp3} = double{&1}; 33: double{fp3} = double{double{fp3} / double{fp2}}; // line: 54 column: 5 double{&3} = double{fp3}; 34: double{fp2} = double{convert(var{&2})}; double{&1} = double{fp2}; 35: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&1}; 36: double{fp3} = double{double{fp3} * double{fp2}}; // line: 61 column: 5 37: var{&1} = new Array(double{fp3}); // line: 61 column: 5 38: indexes = var{&1}; // line: 61 column: 5 39: goto L4; // line: 63 column: 5 L4: // predecessor blocks: L2 L6; group start 40: var{%173} = phi(int32{1}, var{%201}); 40: double{%172} = phi(double{0}, double{%200}); 40: double{%171} = phi(double{0}, double{%199}); 40: double{%170} = phi(double{0}, double{%251}); 40: var{&1} = windowList; 41: var{&9} = var{&1}.length; 42: double{fp2} = double{convert(var{&9})}; double{fp3} = double{&8}; 43: if (bool{double{fp3} < double{fp2}}) goto L5; else goto L7; L5: // predecessor blocks: L4; container block: L4 44: if (bool{double{fp3} > double{0}}) goto L8; // line: 64 column: 9 else goto L21; L8: // predecessor blocks: L5; container block: L4 45: var{&1} = Math; // line: 65 column: 13 46: var{&9} = Math; // line: 65 column: 13 double{fp2} = double{&8}; 47: double{fp3} = double{double{fp2} + double{1}}; // line: 65 column: 13 48: var{&10} = var{&9}.sqrt(double{fp3}); // line: 65 column: 13 49: var{&9} = var{&1}.ceil(var{&10}); // line: 65 column: 13 50: if (bool{var{&9} == var{&6}}) goto L10; // line: 66 column: 13 else goto L11; L10: // predecessor blocks: L8; container block: L4 51: double{fp2} = double{convert(var{&9})}; 52: double{fp2} = double{double{fp2} - double{1}}; // line: 67 column: 17 double{fp3} = double{&7}; 53: if (bool{double{fp3} < double{fp2}}) goto L13; // line: 67 column: 17 else goto L14; L13: // predecessor blocks: L10; container block: L4 54: double{fp2} = double{double{fp3} + double{1}}; // line: 68 column: 21 double{&1} = double{fp2}; 55: double{fp2} = double{convert(var{&9})}; 56: double{fp2} = double{double{fp2} - double{1}}; // line: 69 column: 21 double{fp3} = double{&1}; 57: if (bool{double{fp3} == double{fp2}}) goto L16; // line: 69 column: 21 else goto L22; L16: // predecessor blocks: L13; container block: L4 58: goto L17; // line: 70 column: 25 L22: // predecessor blocks: L13; container block: L4 59: goto L17; L17: // predecessor blocks: L22 L16; container block: L4 60: double{%192} = phi(double{%171}, double{0}); 60: goto L15; L14: // predecessor blocks: L10; container block: L4 double{fp4} = double{&5}; 61: double{fp2} = double{double{fp4} + double{1}}; // line: 72 column: 21 62: goto L15; // line: 72 column: 21 L15: // predecessor blocks: L17 L14; container block: L4 63: double{%194} = phi(double{%188}, double{%172}); 63: double{%193} = phi(double{%192}, double{%254}); 63: goto L12; L11: // predecessor blocks: L8; container block: L4 64: double{fp2} = double{convert(var{&9})}; 65: double{fp2} = double{double{fp2} - double{1}}; // line: 76 column: 17 66: goto L12; // line: 76 column: 17 L12: // predecessor blocks: L15 L11; container block: L4 67: double{%196} = phi(double{%194}, double{0}); 67: double{%195} = phi(double{%193}, double{%257}); 67: goto L9; // line: 78 column: 13 L21: // predecessor blocks: L5; container block: L4 68: goto L9; L9: // predecessor blocks: L21 L12; container block: L4 69: var{%201} = phi(var{%173}, var{%182}); 69: double{%200} = phi(double{%172}, double{%196}); 69: double{%199} = phi(double{%171}, double{%195}); 69: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&6}; 70: double{fp2} = double{double{fp3} * double{fp2}}; // line: 81 column: 9 double{fp4} = double{&1}; 71: double{fp2} = double{double{fp2} + double{fp4}}; // line: 81 column: 9 double{&7} = double{fp2}; 72: var{&9} = indexes; // line: 81 column: 9 73: var{&9}[double{&7}] = double{&8}; // line: 81 column: 9 74: var{&7} = windowList; // line: 82 column: 9 75: var{&9} = var{&7}[double{&8}]; // line: 82 column: 9 76: double{fp2} = double{convert(var{&2})}; double{fp4} = double{&6}; 77: double{fp3} = double{double{fp4} * double{fp2}}; // line: 82 column: 9 double{fp4} = double{&1}; 78: double{fp3} = double{double{fp3} + double{fp4}}; // line: 82 column: 9 79: var{&9}.index = double{fp3}; // line: 82 column: 9 double{fp2} = double{&1}; 80: double{fp4} = double{double{fp2} + double{0.5}}; // line: 84 column: 9 double{fp3} = double{&4}; 81: double{fp4} = double{double{fp4} * double{fp3}}; // line: 84 column: 9 double{&7} = double{fp4}; double{fp3} = double{&6}; 82: double{fp4} = double{double{fp3} + double{0.5}}; // line: 85 column: 9 double{fp3} = double{&3}; 83: double{fp4} = double{double{fp4} * double{fp3}}; // line: 85 column: 9 double{&9} = double{fp4}; 84: var{&10} = windowList; // line: 87 column: 9 85: var{&11} = var{&10}[double{&8}]; // line: 87 column: 9 86: var{&10} = Math; // line: 87 column: 9 87: var{&12} = windowList; // line: 87 column: 9 88: var{&13} = var{&12}[double{&8}]; // line: 87 column: 9 89: var{&12} = var{&13}.width; // line: 87 column: 9 90: double{fp2} = double{convert(var{&12})}; double{fp4} = double{&4}; 91: double{fp3} = double{double{fp4} / double{fp2}}; // line: 87 column: 9 double{&12} = double{fp3}; 92: var{&13} = windowList; // line: 87 column: 9 93: var{&14} = var{&13}[double{&8}]; // line: 87 column: 9 94: var{&13} = var{&14}.height; // line: 87 column: 9 95: double{fp2} = double{convert(var{&13})}; double{fp4} = double{&3}; 96: double{fp3} = double{double{fp4} / double{fp2}}; // line: 87 column: 9 97: var{&13} = var{&10}.min(double{&12}, double{fp3}); // line: 87 column: 9 98: double{fp2} = double{convert(var{&13})}; 99: double{fp2} = double{double{0.98} * double{fp2}}; // line: 87 column: 9 100: var{&11}.targetScale = double{fp2}; // line: 87 column: 9 101: var{&10} = windowList; // line: 89 column: 9 102: var{&11} = var{&10}[double{&8}]; // line: 89 column: 9 103: var{&10} = windowList; // line: 89 column: 9 104: var{&12} = var{&10}[double{&8}]; // line: 89 column: 9 105: var{&10} = var{&12}.width; // line: 89 column: 9 106: double{fp2} = double{convert(var{&10})}; 107: double{fp2} = double{double{fp2} / double{2}}; // line: 89 column: 9 double{fp4} = double{&7}; 108: double{fp4} = double{double{fp4} - double{fp2}}; // line: 89 column: 9 109: var{&11}.targetX = double{fp4}; // line: 89 column: 9 110: var{&7} = windowList; // line: 90 column: 9 111: var{&10} = var{&7}[double{&8}]; // line: 90 column: 9 112: var{&7} = windowList; // line: 90 column: 9 113: var{&11} = var{&7}[double{&8}]; // line: 90 column: 9 114: var{&7} = var{&11}.height; // line: 90 column: 9 115: double{fp2} = double{convert(var{&7})}; 116: double{fp2} = double{double{fp2} / double{2}}; // line: 90 column: 9 double{fp4} = double{&9}; 117: double{fp4} = double{double{fp4} - double{fp2}}; // line: 90 column: 9 118: var{&10}.targetY = double{fp4}; // line: 90 column: 9 119: goto L6; // line: 90 column: 9 L6: // predecessor blocks: L9; container block: L4 double{fp2} = double{&8}; 120: double{fp2} = double{double{fp2} + double{1}}; 121: goto L4; L7: // predecessor blocks: L4 122: goto L18; L18: // predecessor blocks: L1 L7 123: return undefined{&0}; } function relayout() { var cols; var currentDim; var cx; var cy; var dim; var h; var i; var ix; var iy; var lastDim; var rows; var w; L0: // predecessor blocks:(none) 1: undefined{&0} = undefined; 2: var{&1} = windowList; // line: 45 column: 5 3: null{&2} = null; // line: 45 column: 5 4: if (bool{var{&1} === null{&2}}) goto L19; // line: 45 column: 5 else goto L3; L19: // predecessor blocks: L0 5: goto L1; L3: // predecessor blocks: L0 6: var{&1} = windowList; 7: var{&2} = var{&1}.length; 8: if (bool{var{&2} == int32{0}}) goto L20; else goto L2; L20: // predecessor blocks: L3 9: goto L1; L1: // predecessor blocks: L19 L20 10: goto L18; // line: 46 column: 9 L2: // predecessor blocks: L3 11: var{&1} = Math; // line: 48 column: 5 12: var{&2} = Math; // line: 48 column: 5 13: var{&3} = windowList; // line: 48 column: 5 14: var{&4} = var{&3}.length; // line: 48 column: 5 15: var{&3} = var{&2}.sqrt(var{&4}); // line: 48 column: 5 16: var{&2} = var{&1}.ceil(var{&3}); // line: 48 column: 5 17: var{&1} = Math; // line: 51 column: 5 18: var{&3} = windowList; // line: 51 column: 5 19: var{&4} = var{&3}.length; // line: 51 column: 5 20: double{fp2} = double{convert(var{&4})}; double{&3} = double{fp2}; 21: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&3}; 22: double{fp3} = double{double{fp3} / double{fp2}}; // line: 51 column: 5 23: var{&3} = var{&1}.ceil(double{fp3}); // line: 51 column: 5 24: var{&1} = root; // line: 53 column: 5 25: var{&4} = var{&1}.width; // line: 53 column: 5 26: double{fp2} = double{convert(var{&4})}; double{&1} = double{fp2}; 27: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&1}; 28: double{fp3} = double{double{fp3} / double{fp2}}; // line: 53 column: 5 double{&4} = double{fp3}; 29: var{&1} = root; // line: 54 column: 5 30: var{&5} = var{&1}.height; // line: 54 column: 5 31: double{fp2} = double{convert(var{&5})}; double{&1} = double{fp2}; 32: double{fp2} = double{convert(var{&3})}; double{fp3} = double{&1}; 33: double{fp3} = double{double{fp3} / double{fp2}}; // line: 54 column: 5 double{&3} = double{fp3}; 34: double{fp2} = double{convert(var{&2})}; double{&1} = double{fp2}; 35: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&1}; 36: double{fp3} = double{double{fp3} * double{fp2}}; // line: 61 column: 5 37: var{&1} = new Array(double{fp3}); // line: 61 column: 5 38: indexes = var{&1}; // line: 61 column: 5 var{&6} = int32{1}; double{&7} = double{0}; double{&5} = double{0}; double{&8} = double{0}; 39: goto L4; // line: 63 column: 5 L4: // predecessor blocks: L2 L6; group start 40: var{%173} = phi(int32{1}, var{%201}); 40: double{%172} = phi(double{0}, double{%200}); 40: double{%171} = phi(double{0}, double{%199}); 40: double{%170} = phi(double{0}, double{%251}); 40: var{&1} = windowList; 41: var{&9} = var{&1}.length; 42: double{fp2} = double{convert(var{&9})}; double{fp3} = double{&8}; 43: if (bool{double{fp3} < double{fp2}}) goto L5; else goto L7; L5: // predecessor blocks: L4; container block: L4 44: if (bool{double{fp3} > double{0}}) goto L8; // line: 64 column: 9 else goto L21; L8: // predecessor blocks: L5; container block: L4 double{&8} = double{fp3}; 45: var{&1} = Math; // line: 65 column: 13 46: var{&9} = Math; // line: 65 column: 13 double{fp2} = double{&8}; 47: double{fp3} = double{double{fp2} + double{1}}; // line: 65 column: 13 48: var{&10} = var{&9}.sqrt(double{fp3}); // line: 65 column: 13 49: var{&9} = var{&1}.ceil(var{&10}); // line: 65 column: 13 50: if (bool{var{&9} == var{&6}}) goto L10; // line: 66 column: 13 else goto L11; L10: // predecessor blocks: L8; container block: L4 51: double{fp2} = double{convert(var{&9})}; 52: double{fp2} = double{double{fp2} - double{1}}; // line: 67 column: 17 double{fp3} = double{&7}; 53: if (bool{double{fp3} < double{fp2}}) goto L13; // line: 67 column: 17 else goto L14; L13: // predecessor blocks: L10; container block: L4 54: double{fp2} = double{double{fp3} + double{1}}; // line: 68 column: 21 double{&1} = double{fp2}; 55: double{fp2} = double{convert(var{&9})}; 56: double{fp2} = double{double{fp2} - double{1}}; // line: 69 column: 21 double{fp3} = double{&1}; 57: if (bool{double{fp3} == double{fp2}}) goto L16; // line: 69 column: 21 else goto L22; L16: // predecessor blocks: L13; container block: L4 double{fp2} = double{0}; 58: goto L17; // line: 70 column: 25 L22: // predecessor blocks: L13; container block: L4 double{fp2} = double{&5}; 59: goto L17; L17: // predecessor blocks: L22 L16; container block: L4 60: double{%192} = phi(double{%171}, double{0}); 60: goto L15; L14: // predecessor blocks: L10; container block: L4 double{fp4} = double{&5}; 61: double{fp2} = double{double{fp4} + double{1}}; // line: 72 column: 21 double{&7} = double{fp3}; 62: goto L15; // line: 72 column: 21 L15: // predecessor blocks: L17 L14; container block: L4 63: double{%194} = phi(double{%188}, double{%172}); 63: double{%193} = phi(double{%192}, double{%254}); 63: goto L12; L11: // predecessor blocks: L8; container block: L4 64: double{fp2} = double{convert(var{&9})}; 65: double{fp2} = double{double{fp2} - double{1}}; // line: 76 column: 17 double{fp3} = double{0}; 66: goto L12; // line: 76 column: 17 L12: // predecessor blocks: L15 L11; container block: L4 67: double{%196} = phi(double{%194}, double{0}); 67: double{%195} = phi(double{%193}, double{%257}); var{&5} = var{&9}; double{&6} = double{fp3}; double{&1} = double{fp2}; 67: goto L9; // line: 78 column: 13 L21: // predecessor blocks: L5; container block: L4 double{&8} = double{fp3}; double{fp3} = double{&7}; double{fp4} = double{&5}; var{&5} = var{&6}; double{&6} = double{fp3}; double{&1} = double{fp4}; 68: goto L9; L9: // predecessor blocks: L21 L12; container block: L4 69: var{%201} = phi(var{%173}, var{%182}); 69: double{%200} = phi(double{%172}, double{%196}); 69: double{%199} = phi(double{%171}, double{%195}); 69: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&6}; 70: double{fp2} = double{double{fp3} * double{fp2}}; // line: 81 column: 9 double{fp4} = double{&1}; 71: double{fp2} = double{double{fp2} + double{fp4}}; // line: 81 column: 9 double{&7} = double{fp2}; 72: var{&9} = indexes; // line: 81 column: 9 73: var{&9}[double{&7}] = double{&8}; // line: 81 column: 9 74: var{&7} = windowList; // line: 82 column: 9 75: var{&9} = var{&7}[double{&8}]; // line: 82 column: 9 76: double{fp2} = double{convert(var{&2})}; double{fp4} = double{&6}; 77: double{fp3} = double{double{fp4} * double{fp2}}; // line: 82 column: 9 double{fp4} = double{&1}; 78: double{fp3} = double{double{fp3} + double{fp4}}; // line: 82 column: 9 79: var{&9}.index = double{fp3}; // line: 82 column: 9 double{fp2} = double{&1}; 80: double{fp4} = double{double{fp2} + double{0.5}}; // line: 84 column: 9 double{fp3} = double{&4}; 81: double{fp4} = double{double{fp4} * double{fp3}}; // line: 84 column: 9 double{&7} = double{fp4}; double{fp3} = double{&6}; 82: double{fp4} = double{double{fp3} + double{0.5}}; // line: 85 column: 9 double{fp3} = double{&3}; 83: double{fp4} = double{double{fp4} * double{fp3}}; // line: 85 column: 9 double{&9} = double{fp4}; 84: var{&10} = windowList; // line: 87 column: 9 85: var{&11} = var{&10}[double{&8}]; // line: 87 column: 9 86: var{&10} = Math; // line: 87 column: 9 87: var{&12} = windowList; // line: 87 column: 9 88: var{&13} = var{&12}[double{&8}]; // line: 87 column: 9 89: var{&12} = var{&13}.width; // line: 87 column: 9 90: double{fp2} = double{convert(var{&12})}; double{fp4} = double{&4}; 91: double{fp3} = double{double{fp4} / double{fp2}}; // line: 87 column: 9 double{&12} = double{fp3}; 92: var{&13} = windowList; // line: 87 column: 9 93: var{&14} = var{&13}[double{&8}]; // line: 87 column: 9 94: var{&13} = var{&14}.height; // line: 87 column: 9 95: double{fp2} = double{convert(var{&13})}; double{fp4} = double{&3}; 96: double{fp3} = double{double{fp4} / double{fp2}}; // line: 87 column: 9 97: var{&13} = var{&10}.min(double{&12}, double{fp3}); // line: 87 column: 9 98: double{fp2} = double{convert(var{&13})}; 99: double{fp2} = double{double{0.98} * double{fp2}}; // line: 87 column: 9 100: var{&11}.targetScale = double{fp2}; // line: 87 column: 9 101: var{&10} = windowList; // line: 89 column: 9 102: var{&11} = var{&10}[double{&8}]; // line: 89 column: 9 103: var{&10} = windowList; // line: 89 column: 9 104: var{&12} = var{&10}[double{&8}]; // line: 89 column: 9 105: var{&10} = var{&12}.width; // line: 89 column: 9 106: double{fp2} = double{convert(var{&10})}; 107: double{fp2} = double{double{fp2} / double{2}}; // line: 89 column: 9 double{fp4} = double{&7}; 108: double{fp4} = double{double{fp4} - double{fp2}}; // line: 89 column: 9 109: var{&11}.targetX = double{fp4}; // line: 89 column: 9 110: var{&7} = windowList; // line: 90 column: 9 111: var{&10} = var{&7}[double{&8}]; // line: 90 column: 9 112: var{&7} = windowList; // line: 90 column: 9 113: var{&11} = var{&7}[double{&8}]; // line: 90 column: 9 114: var{&7} = var{&11}.height; // line: 90 column: 9 115: double{fp2} = double{convert(var{&7})}; 116: double{fp2} = double{double{fp2} / double{2}}; // line: 90 column: 9 double{fp4} = double{&9}; 117: double{fp4} = double{double{fp4} - double{fp2}}; // line: 90 column: 9 118: var{&10}.targetY = double{fp4}; // line: 90 column: 9 119: goto L6; // line: 90 column: 9 L6: // predecessor blocks: L9; container block: L4 double{fp2} = double{&8}; 120: double{fp2} = double{double{fp2} + double{1}}; double{&7} = double{&6}; var{&6} = var{&5}; double{&5} = double{&1}; double{&8} = double{fp2}; 121: goto L4; L7: // predecessor blocks: L4 122: goto L18; L18: // predecessor blocks: L1 L7 123: return undefined{&0}; } function relayout() { var cols; var currentDim; var cx; var cy; var dim; var h; var i; var ix; var iy; var lastDim; var rows; var w; L0: // predecessor blocks:(none) 1: undefined{&0} = undefined; 2: var{&1} = windowList; // line: 45 column: 5 3: null{&2} = null; // line: 45 column: 5 4: if (bool{var{&1} === null{&2}}) goto L19; // line: 45 column: 5 else goto L3; L19: // predecessor blocks: L0 5: goto L1; L3: // predecessor blocks: L0 6: var{&1} = windowList; 7: var{&2} = var{&1}.length; 8: if (bool{var{&2} == int32{0}}) goto L20; else goto L2; L20: // predecessor blocks: L3 9: goto L1; L1: // predecessor blocks: L19 L20 10: goto L18; // line: 46 column: 9 L2: // predecessor blocks: L3 11: var{&1} = Math; // line: 48 column: 5 12: var{&2} = Math; // line: 48 column: 5 13: var{&3} = windowList; // line: 48 column: 5 14: var{&4} = var{&3}.length; // line: 48 column: 5 15: var{&3} = var{&2}.sqrt(var{&4}); // line: 48 column: 5 16: var{&2} = var{&1}.ceil(var{&3}); // line: 48 column: 5 17: var{&1} = Math; // line: 51 column: 5 18: var{&3} = windowList; // line: 51 column: 5 19: var{&4} = var{&3}.length; // line: 51 column: 5 20: double{fp2} = double{convert(var{&4})}; double{&3} = double{fp2}; 21: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&3}; 22: double{fp3} = double{double{fp3} / double{fp2}}; // line: 51 column: 5 23: var{&3} = var{&1}.ceil(double{fp3}); // line: 51 column: 5 24: var{&1} = root; // line: 53 column: 5 25: var{&4} = var{&1}.width; // line: 53 column: 5 26: double{fp2} = double{convert(var{&4})}; double{&1} = double{fp2}; 27: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&1}; 28: double{fp3} = double{double{fp3} / double{fp2}}; // line: 53 column: 5 double{&4} = double{fp3}; 29: var{&1} = root; // line: 54 column: 5 30: var{&5} = var{&1}.height; // line: 54 column: 5 31: double{fp2} = double{convert(var{&5})}; double{&1} = double{fp2}; 32: double{fp2} = double{convert(var{&3})}; double{fp3} = double{&1}; 33: double{fp3} = double{double{fp3} / double{fp2}}; // line: 54 column: 5 double{&3} = double{fp3}; 34: double{fp2} = double{convert(var{&2})}; double{&1} = double{fp2}; 35: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&1}; 36: double{fp3} = double{double{fp3} * double{fp2}}; // line: 61 column: 5 37: var{&1} = new Array(double{fp3}); // line: 61 column: 5 38: indexes = var{&1}; // line: 61 column: 5 var{&6} = int32{1}; double{&7} = double{0}; double{&5} = double{0}; double{&8} = double{0}; 39: goto L4; // line: 63 column: 5 L4: // predecessor blocks: L2 L6; group start 40: var{%173} = phi(int32{1}, var{%201}); 40: double{%172} = phi(double{0}, double{%200}); 40: double{%171} = phi(double{0}, double{%199}); 40: double{%170} = phi(double{0}, double{%251}); 40: var{&1} = windowList; 41: var{&9} = var{&1}.length; 42: double{fp2} = double{convert(var{&9})}; double{fp3} = double{&8}; 43: if (bool{double{fp3} < double{fp2}}) goto L5; else goto L7; L5: // predecessor blocks: L4; container block: L4 44: if (bool{double{fp3} > double{0}}) goto L8; // line: 64 column: 9 else goto L21; L8: // predecessor blocks: L5; container block: L4 double{&8} = double{fp3}; 45: var{&1} = Math; // line: 65 column: 13 46: var{&9} = Math; // line: 65 column: 13 double{fp2} = double{&8}; 47: double{fp3} = double{double{fp2} + double{1}}; // line: 65 column: 13 48: var{&10} = var{&9}.sqrt(double{fp3}); // line: 65 column: 13 49: var{&9} = var{&1}.ceil(var{&10}); // line: 65 column: 13 50: if (bool{var{&9} == var{&6}}) goto L10; // line: 66 column: 13 else goto L11; L10: // predecessor blocks: L8; container block: L4 51: double{fp2} = double{convert(var{&9})}; 52: double{fp2} = double{double{fp2} - double{1}}; // line: 67 column: 17 double{fp3} = double{&7}; 53: if (bool{double{fp3} < double{fp2}}) goto L13; // line: 67 column: 17 else goto L14; L13: // predecessor blocks: L10; container block: L4 54: double{fp2} = double{double{fp3} + double{1}}; // line: 68 column: 21 double{&1} = double{fp2}; 55: double{fp2} = double{convert(var{&9})}; 56: double{fp2} = double{double{fp2} - double{1}}; // line: 69 column: 21 double{fp3} = double{&1}; 57: if (bool{double{fp3} == double{fp2}}) goto L16; // line: 69 column: 21 else goto L22; L16: // predecessor blocks: L13; container block: L4 double{fp2} = double{0}; 58: goto L17; // line: 70 column: 25 L22: // predecessor blocks: L13; container block: L4 double{fp2} = double{&5}; 59: goto L17; L17: // predecessor blocks: L22 L16; container block: L4 60: double{%192} = phi(double{%171}, double{0}); 60: goto L15; L14: // predecessor blocks: L10; container block: L4 double{fp4} = double{&5}; 61: double{fp2} = double{double{fp4} + double{1}}; // line: 72 column: 21 double{&7} = double{fp3}; 62: goto L15; // line: 72 column: 21 L15: // predecessor blocks: L17 L14; container block: L4 63: double{%194} = phi(double{%188}, double{%172}); 63: double{%193} = phi(double{%192}, double{%254}); 63: goto L12; L11: // predecessor blocks: L8; container block: L4 64: double{fp2} = double{convert(var{&9})}; 65: double{fp2} = double{double{fp2} - double{1}}; // line: 76 column: 17 double{fp3} = double{0}; 66: goto L12; // line: 76 column: 17 L12: // predecessor blocks: L15 L11; container block: L4 67: double{%196} = phi(double{%194}, double{0}); 67: double{%195} = phi(double{%193}, double{%257}); var{&5} = var{&9}; double{&6} = double{fp3}; double{&1} = double{fp2}; 67: goto L9; // line: 78 column: 13 L21: // predecessor blocks: L5; container block: L4 double{&8} = double{fp3}; double{fp3} = double{&7}; double{fp4} = double{&5}; var{&5} = var{&6}; double{&6} = double{fp3}; double{&1} = double{fp4}; 68: goto L9; L9: // predecessor blocks: L21 L12; container block: L4 69: var{%201} = phi(var{%173}, var{%182}); 69: double{%200} = phi(double{%172}, double{%196}); 69: double{%199} = phi(double{%171}, double{%195}); 69: double{fp2} = double{convert(var{&2})}; double{fp3} = double{&6}; 70: double{fp2} = double{double{fp3} * double{fp2}}; // line: 81 column: 9 double{fp4} = double{&1}; 71: double{fp2} = double{double{fp2} + double{fp4}}; // line: 81 column: 9 double{&7} = double{fp2}; 72: var{&9} = indexes; // line: 81 column: 9 73: var{&9}[double{&7}] = double{&8}; // line: 81 column: 9 74: var{&7} = windowList; // line: 82 column: 9 75: var{&9} = var{&7}[double{&8}]; // line: 82 column: 9 76: double{fp2} = double{convert(var{&2})}; double{fp4} = double{&6}; 77: double{fp3} = double{double{fp4} * double{fp2}}; // line: 82 column: 9 double{fp4} = double{&1}; 78: double{fp3} = double{double{fp3} + double{fp4}}; // line: 82 column: 9 79: var{&9}.index = double{fp3}; // line: 82 column: 9 double{fp2} = double{&1}; 80: double{fp4} = double{double{fp2} + double{0.5}}; // line: 84 column: 9 double{fp3} = double{&4}; 81: double{fp4} = double{double{fp4} * double{fp3}}; // line: 84 column: 9 double{&7} = double{fp4}; double{fp3} = double{&6}; 82: double{fp4} = double{double{fp3} + double{0.5}}; // line: 85 column: 9 double{fp3} = double{&3}; 83: double{fp4} = double{double{fp4} * double{fp3}}; // line: 85 column: 9 double{&9} = double{fp4}; 84: var{&10} = windowList; // line: 87 column: 9 85: var{&11} = var{&10}[double{&8}]; // line: 87 column: 9 86: var{&10} = Math; // line: 87 column: 9 87: var{&12} = windowList; // line: 87 column: 9 88: var{&13} = var{&12}[double{&8}]; // line: 87 column: 9 89: var{&12} = var{&13}.width; // line: 87 column: 9 90: double{fp2} = double{convert(var{&12})}; double{fp4} = double{&4}; 91: double{fp3} = double{double{fp4} / double{fp2}}; // line: 87 column: 9 double{&12} = double{fp3}; 92: var{&13} = windowList; // line: 87 column: 9 93: var{&14} = var{&13}[double{&8}]; // line: 87 column: 9 94: var{&13} = var{&14}.height; // line: 87 column: 9 95: double{fp2} = double{convert(var{&13})}; double{fp4} = double{&3}; 96: double{fp3} = double{double{fp4} / double{fp2}}; // line: 87 column: 9 97: var{&13} = var{&10}.min(double{&12}, double{fp3}); // line: 87 column: 9 98: double{fp2} = double{convert(var{&13})}; 99: double{fp2} = double{double{0.98} * double{fp2}}; // line: 87 column: 9 100: var{&11}.targetScale = double{fp2}; // line: 87 column: 9 101: var{&10} = windowList; // line: 89 column: 9 102: var{&11} = var{&10}[double{&8}]; // line: 89 column: 9 103: var{&10} = windowList; // line: 89 column: 9 104: var{&12} = var{&10}[double{&8}]; // line: 89 column: 9 105: var{&10} = var{&12}.width; // line: 89 column: 9 106: double{fp2} = double{convert(var{&10})}; 107: double{fp2} = double{double{fp2} / double{2}}; // line: 89 column: 9 double{fp4} = double{&7}; 108: double{fp4} = double{double{fp4} - double{fp2}}; // line: 89 column: 9 109: var{&11}.targetX = double{fp4}; // line: 89 column: 9 110: var{&7} = windowList; // line: 90 column: 9 111: var{&10} = var{&7}[double{&8}]; // line: 90 column: 9 112: var{&7} = windowList; // line: 90 column: 9 113: var{&11} = var{&7}[double{&8}]; // line: 90 column: 9 114: var{&7} = var{&11}.height; // line: 90 column: 9 115: double{fp2} = double{convert(var{&7})}; 116: double{fp2} = double{double{fp2} / double{2}}; // line: 90 column: 9 double{fp4} = double{&9}; 117: double{fp4} = double{double{fp4} - double{fp2}}; // line: 90 column: 9 118: var{&10}.targetY = double{fp4}; // line: 90 column: 9 119: goto L6; // line: 90 column: 9 L6: // predecessor blocks: L9; container block: L4 double{fp2} = double{&8}; 120: double{fp2} = double{double{fp2} + double{1}}; double{&7} = double{&6}; var{&6} = var{&5}; double{&5} = double{&1}; double{&8} = double{fp2}; 121: goto L4; L7: // predecessor blocks: L4 122: goto L18; L18: // predecessor blocks: L1 L7 123: return undefined{&0}; } Generated JIT code for relayout : Code at [0x7f2d4350c000, 0x7f2d4350e0cc): disassembly not available for range 0x7f2d4350c000...0x7f2d4350e0cc ASSERT: "semi[y] == p" in file /home/plfiorini/git/qt5/qtdeclarative/src/qml/compiler/qv4ssa.cpp, line 281