
26 changed files with 554 additions and 88 deletions
@ -0,0 +1,41 @@
|
||||
// Copyright (c) 2012-2017, Matt Godbolt
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
define(function (require) { |
||||
var $ = require('jquery'); |
||||
|
||||
function Alert() { |
||||
this.modal = $('#alert'); |
||||
this.title = this.modal.find('.modal-title'); |
||||
this.body = this.modal.find('.modal-body'); |
||||
} |
||||
|
||||
Alert.prototype.alert = function (title, body) { |
||||
this.title.html(title); |
||||
this.body.html(body); |
||||
this.modal.modal(); |
||||
}; |
||||
return Alert; |
||||
}); |
@ -0,0 +1,36 @@
|
||||
// Copyright (c) 2012-2017, Matt Godbolt
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
define({ |
||||
load: function (name, req, onLoad, config) { |
||||
if (config.isBuild) return onLoad(null); // optimizer build
|
||||
|
||||
req(['jquery'], function ($) { |
||||
$.ajax({type: "GET", url: name}).done(function (response) { |
||||
onLoad(response); |
||||
}); |
||||
}); |
||||
} |
||||
}); |
@ -0,0 +1,90 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.24224.0 |
||||
|
||||
include listing.inc |
||||
|
||||
INCLUDELIB LIBCMT |
||||
INCLUDELIB OLDNAMES |
||||
|
||||
PUBLIC main |
||||
PUBLIC ??$make_array@$00$02$04$01$02$04$05$03$07$08$01@@YA?AV?$array@H$0L@@std@@XZ ; make_array<1,3,5,2,3,5,6,4,8,9,2> |
||||
PUBLIC ??A?$array@H$0L@@std@@QEBAAEBH_K@Z ; std::array<int,11>::operator[] |
||||
; Function compile flags: /Ogtpy |
||||
; File z:\home\mgodbolt\apps\windows\14.0.24224-pre\lib\native\include\array |
||||
; COMDAT ??A?$array@H$0L@@std@@QEBAAEBH_K@Z |
||||
_TEXT SEGMENT |
||||
this$ = 8 |
||||
_Pos$ = 16 |
||||
??A?$array@H$0L@@std@@QEBAAEBH_K@Z PROC ; std::array<int,11>::operator[], COMDAT |
||||
|
||||
; 167 : #if _ITERATOR_DEBUG_LEVEL == 0 |
||||
; 168 : return (_Elems[_Pos]); |
||||
|
||||
00000 48 8d 04 91 lea rax, QWORD PTR [rcx+rdx*4] |
||||
|
||||
; 169 : |
||||
; 170 : #else /* _ITERATOR_DEBUG_LEVEL == 0 */ |
||||
; 171 : return (_Size <= _Pos |
||||
; 172 : ? (_Bad_subscript(), _Elems[_Pos]) |
||||
; 173 : : _Elems[_Pos]); |
||||
; 174 : #endif /* _ITERATOR_DEBUG_LEVEL == 0 */ |
||||
; 175 : } |
||||
|
||||
00004 c3 ret 0 |
||||
??A?$array@H$0L@@std@@QEBAAEBH_K@Z ENDP ; std::array<int,11>::operator[] |
||||
_TEXT ENDS |
||||
; Function compile flags: /Ogtpy |
||||
; File z:\tmp\example.cpp |
||||
; COMDAT ??$make_array@$00$02$04$01$02$04$05$03$07$08$01@@YA?AV?$array@H$0L@@std@@XZ |
||||
_TEXT SEGMENT |
||||
$T1 = 8 |
||||
??$make_array@$00$02$04$01$02$04$05$03$07$08$01@@YA?AV?$array@H$0L@@std@@XZ PROC ; make_array<1,3,5,2,3,5,6,4,8,9,2>, COMDAT |
||||
|
||||
; 6 : return std::array<int, sizeof...(vars)>{vars...}; |
||||
|
||||
00000 c7 01 01 00 00 |
||||
00 mov DWORD PTR [rcx], 1 |
||||
00006 48 8b c1 mov rax, rcx |
||||
00009 c7 41 04 03 00 |
||||
00 00 mov DWORD PTR [rcx+4], 3 |
||||
00010 c7 41 08 05 00 |
||||
00 00 mov DWORD PTR [rcx+8], 5 |
||||
00017 c7 41 0c 02 00 |
||||
00 00 mov DWORD PTR [rcx+12], 2 |
||||
0001e c7 41 10 03 00 |
||||
00 00 mov DWORD PTR [rcx+16], 3 |
||||
00025 c7 41 14 05 00 |
||||
00 00 mov DWORD PTR [rcx+20], 5 |
||||
0002c c7 41 18 06 00 |
||||
00 00 mov DWORD PTR [rcx+24], 6 |
||||
00033 c7 41 1c 04 00 |
||||
00 00 mov DWORD PTR [rcx+28], 4 |
||||
0003a c7 41 20 08 00 |
||||
00 00 mov DWORD PTR [rcx+32], 8 |
||||
00041 c7 41 24 09 00 |
||||
00 00 mov DWORD PTR [rcx+36], 9 |
||||
00048 c7 41 28 02 00 |
||||
00 00 mov DWORD PTR [rcx+40], 2 |
||||
|
||||
; 7 : } |
||||
|
||||
0004f c3 ret 0 |
||||
??$make_array@$00$02$04$01$02$04$05$03$07$08$01@@YA?AV?$array@H$0L@@std@@XZ ENDP ; make_array<1,3,5,2,3,5,6,4,8,9,2> |
||||
_TEXT ENDS |
||||
; Function compile flags: /Ogtpy |
||||
; File z:\tmp\example.cpp |
||||
; COMDAT main |
||||
_TEXT SEGMENT |
||||
main PROC ; COMDAT |
||||
|
||||
; 11 : constexpr auto a = make_array<1,3,5,2,3,5,6,4,8,9,2>(); |
||||
; 12 : |
||||
; 13 : return a[2]; |
||||
|
||||
00000 b8 05 00 00 00 mov eax, 5 |
||||
|
||||
; 14 : } |
||||
|
||||
00005 c3 ret 0 |
||||
main ENDP |
||||
_TEXT ENDS |
||||
END |
@ -0,0 +1,94 @@
|
||||
[ |
||||
{ |
||||
"source": null, |
||||
"text": "std::array<int,11>::operator[], COMDAT PROC" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " lea rax, QWORD PTR [rcx+rdx*4]" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " ret 0" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": "std::array<int,11>::operator[] ENDP" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": "make_array<1,3,5,2,3,5,6,4,8,9,2>, COMDAT PROC" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov DWORD PTR [rcx], 1" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov rax, rcx" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov DWORD PTR [rcx+4], 3" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov DWORD PTR [rcx+8], 5" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov DWORD PTR [rcx+12], 2" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov DWORD PTR [rcx+16], 3" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov DWORD PTR [rcx+20], 5" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov DWORD PTR [rcx+24], 6" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov DWORD PTR [rcx+28], 4" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov DWORD PTR [rcx+32], 8" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov DWORD PTR [rcx+36], 9" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov DWORD PTR [rcx+40], 2" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " ret 0" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": "make_array<1,3,5,2,3,5,6,4,8,9,2> ENDP" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": "main PROC; COMDAT" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " mov eax, 5" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": " ret 0" |
||||
}, |
||||
{ |
||||
"source": null, |
||||
"text": "main ENDP" |
||||
} |
||||
] |
Loading…
Reference in new issue