Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restart apps that died due to errors #241

Merged
merged 1 commit into from
Sep 1, 2014
Merged

Conversation

eugeneia
Copy link
Member

See the commit comments.

Also see App Restart for prior thoughts.

@@ -32,6 +32,40 @@ function now ()
return monotonic_now
end

-- Run fn in protected mode (pcall). If it throws an error app will be
-- marked as dead and restarted eventually.
function with_restart (app, fn)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is probably a no brainer. Lua only gives us pcall so we use that. On failure we tag the app with its error and time of death. Once tagged, the app is considered dead.

@lukego
Copy link
Member

lukego commented Aug 29, 2014

Great! Looks like a good implementation with good unit tests.

Could you rebase onto master? Github says there is a conflict to resolve.

@eugeneia
Copy link
Member Author

Yeah will do, also this might need a little more work/thinking now or later on. Two thoughts:

1

Should apps that fail to configure/start/stop be restarted? I tend to think so, consider this case: Due to a NFV configuration change a 65th Intel app is created and its configuration will fail, but another one will be stopped.(E.g. because we don't have control over the order in which compile_config_actions will spit out actions, and there is some hardware limit in intel apps). As of now snabb crashes with a message "pool overflow", but the app could also be configured again 2s later and run just fine.

Of course we'd need to keep track which "dead apps" failed during configure and not try to stop() them. Also this is a little bit of a recursive situation as apps can "die" during restarting.

My point is, as of now we can run into exceptional situations that are caused by a combination of individual app semantics and configure semantics and I suspect there will be more of these cases to come. Should it be part of configure semantics to always perform stop before start and the apps responsibilty to never fail as long as the configure behaves correctly (we have yet to define a semantic interface fo start, stop, ...)? And/Or should core.app handle these cases?

One the one hand, handling arbitrary error cases in core.app is sort of a "wildcard", we don't really know what its gonna do to future apps. On the other hand, if well designed, that can also be a good approach as it "fixes/handles" errors whose source is not even yet created. In a way core.app would accept a declaration of what the user wants, and log (non-fatal) errors if it fails to achieve those goals, but always keep trying. The user would debug/develop his apps and app network by figuring out how core.app can achieve his declaration of goals. Snabb would only crash due to bugs in Snabb itself, not bugs in individual apps itself (e.g. never crash. Its job would be to try implement the declared network, not to succeed at it). Maybe there will be an app that fails to start/stop/pull/push every 10th time for perfectly good real-world reasons. A future core.app might handle that app very well, and even report something smart as "app X causes overall decrease of network uptime to 99.9% and packet loss of 0.023%.". Could be a network engineers wet-dream feature (I imagine), Maybe you would implement faulty apps on purpose to simulate a "chaos-monkey" and test your network design.

This is getting pretty meta, not sure if my thoughts came across. Bottom line I feel there is big potential in availability safeguards in core.app and as of this PR it might not do enough.

2

I really don't like how I tag app.name... ;)

@eugeneia
Copy link
Member Author

Rebased on master. I also fixed up my gripe with tagging app.name, its done only in one place ops:start. The previous code was simply unnecessary.

lukego added a commit that referenced this pull request Sep 1, 2014
Restart apps that died due to errors
@lukego lukego merged commit 7fb3e2a into snabbco:master Sep 1, 2014
@eugeneia eugeneia deleted the app_restarts branch May 20, 2015 12:52
dpino pushed a commit to dpino/snabb that referenced this pull request Feb 9, 2016
eugeneia added a commit to eugeneia/snabb that referenced this pull request Sep 6, 2023
54cc2a1b4 Merge PR snabbco#260 (clear hotcounts every second) into next
4cbeb1e39 lj_trace.c: amend prev. commit, do not clear SNAPCOUNT_DONE
8f36d5183 lj_trace.c: amend prev. commit, also clear trace exit hotcounts
77df770fb lj_trace.c: clear all hotcounts every second
73323b7c6 Merge pull request snabbco#246 from lukego/fix-unsinking
59fc1b06d lj_snap.c: Fix unsinking of 64-bit pointers
65ef4f455 testsuite: Add (segfaulting) test for allocation unsinking
32b08479a Merge pull request snabbco#243 from ZirconiumX/force_gc64
7954fd345 Remove LJ_LE #define
ae45cbe4e Remove LJ_BE #define
4f3dc17e9 Re-bootstrap the VM
190356e92 Prune dead code
dcd87f025 Remove LJ_HASFFI #define
2a343ef9f Remove LJ_32 #define
41b290d44 Remove LJ_64 #define
de0c96014 Remove LJ_GC64 #define
ff23fc588 Merge pull request snabbco#241 from ZirconiumX/use_sysmalloc
b060b48c6 Remove built-in dlmalloc
7a6b899f4 Merge pull request snabbco#226 from lukego/compare_hash
c5a7d2318 Merge LuaJIT/LuaJIT#243 branch 'funny-falcon/compare_hash'
bfc3b47d4 Merge pull request snabbco#221 from lukego/basic-install-test
8a80855c4 etc/raptorjit.pc: Replace s/LuaJIT/RaptorJIT/
e96e0ecdb Merge snabbco#220 branch 'lazara5/pkgconfig' into basic-install-test
72decefa5 raptorjit.nix: Check for installation of lib/pkgconfig/raptorjit.pc
33d88ea39 raptorjit.nix: Check installation of bin/raptorjit and lib/raptorjit-5.1.so
9b13bd3c3 Added back pkg-config file
f2e3705e6 Merge pull request snabbco#218 from lukego/test-libraptorjit
78d168f95 Merge pull request snabbco#217 from lukego/dwarf-not-so
5c72a3cf9 Merge snabbco#217 branch 'dwarf-not-so' into test-libraptorjit
fcdc3c61f fixup! test-libraptorjit.nix: Added test for dynamic linking libraptorjit
2a5d6fb3f .travis.yml: Add test-libraptorjit
5be341e2c test-libraptorjit.nix: Added test for dynamic linking libraptorjit
b9d801b15 src/Makefile: Fix unwanted dynamic linkage of dwarf debug info
16930c36c Merge pull request snabbco#212 from lukego/test-capi
ae0525c0d Merge pull request snabbco#209 from lukego/c-api-linkage
5af79e149 Merge branch 'c-api-linkage' into test-capi
4e9162ff3 .travis.yml: Add test-capi
bd959e359 test-capi.nix: Add basic of C-API linkage
63d415811 src/Makefile: Add -Wl,-E to make Lua API symbols visible to linked objects
572090d8d Merge pull request snabbco#200 from lukego/commercial-support
7f812f9e2 Added PROFESSIONAL-SUPPORT.md list of service providers
61c3a36b1 Merge snabbco#195 branch 'bonidjukic/update-docs'
2d386f69c Merge pull request snabbco#197 from 0xflotus/patch-1
2528860b3 fixed Quantitative
723210655 Fix README typos
31d41be Merge pull request snabbco#193 from lukego/prepare-release-1.0
56a88b2 Prepare for RaptorJIT 1.0 with installation fixes
d44450e Merge pull request snabbco#192 from lukego/log-ctype-assert
fc0c107 Merge pull request snabbco#191 from lukego/memory-leak-protection
55e7656 lj_ctype.c: Detect bad ctypeid without failing lua_assert
3b80633 lj_state.c: Restore assertion that all memory is deallocated
a667ead Fix deallocation of T->szirmcode
2a7990a Merge pull request snabbco#189 from lukego/nix-build-options
d3c149d default.nix: Test with -DLUA_USE_ASSERT and -Werror
52e2977 Merge pull request snabbco#186 from lukego/fix-jit-traces-alloc
d09927b lj_trace.c: Fix and simplify allocation of J->trace
5d235e6 Merge pull request snabbco#184 from lukego/ctype-no-loop
3f9db9e lj_ctype.c: Detect loops in ctype_repr()
9fac632 Merge pull request snabbco#183 from lukego/szirmcode-alloc-free
9959cb1 lj_asm.c: Added comment about szirmcode moving to final GCtrace
66f9234 lj_trace_alloc: Copy T->szirmcode to new trace
4782265 Fix allocation/deallocation of T->szirmcode
9056918 Merge pull request snabbco#182 from lukego/readme-vmprofile-filename
fcf138f README.md: Correct profile names to *.vmprofile (expected by studio)
5171334 Merge pull request snabbco#179 from lukego/readme-studio
4e1405d README.md: Add quick Studio getting started intro
f29bc2a Merge pull request snabbco#178 from lukego/readme-update
4891901 README.md: revised ahead of first release
5d7d873 Merge pull request snabbco#50 from lukego/Werror
0494515 Merge pull request snabbco#177 from lukego/rebrand-printouts
d4a392a Merge branch 'master' into Werror
420fa75 Minimal rebranding from LuaJIT -> RaptorJIT
48b2be9 Merge pull request snabbco#63 from lukego/auditlog
7e74425 Merge branch 'raptorjit/master' into auditlog
53eb6ae Merge branch 'master' into auditlog
a4f36d3 Merge pull request snabbco#176 from lukego/switch-sigprof-to-sigvtalrm
d38be0e Merge pull request snabbco#175 from lukego/vmprofile-exit-exclude-function-trace
ca0abe3 reusevm: Update generated code
6b72001 Use virtual instead of profile time for vmprofile
2c5faa8 Exclude function-rooted traces from global_State->lasttrace
cd172fc lj_parse.c: Set declname for file-level code to <toplevel>
473cb19 lj_ctype.c: Avoid crash when printing unprintable ctype IDs
90a15f7 lj_ctype.c, lj_trace.c: Poll for ctypes to log on trace stop/abort
9abd48a Merge pull request snabbco#168 from lukego/declname
0a588b4 Merge branch 'declname' into auditlog
96e00a6 lj_bcwrite.c: Remove unused variable
c552236 Restore older debug info fields to their original positions
d60c595 lj_prase.c: Remove old debug noise
c8b1388 Merge branch 'declname' into auditlog
8f55c03 src/reusevm: Update generated code
01f8b4c lj_bcread.c: Remove suspicious loop
73b96a4 src/reusevm: Update generated code
74b52e6 lj_bcread.c: Remove suspicious loop
4166e7a lj_bcdump.h: Bump bytecode version number (2 -> 3)
6395811 Merge branch 'declname' into auditlog
8d9d959 Extend GCproto debug with declared function name (declname)
f58daf9 Merge pull request snabbco#163 from lukego/readme-linux
9a798d7 luajit.c: Fix argument parsing bug that made "-a" fall into "-p"
92955dc src/Makefile: Add dependency from DWARF info to generated headers
a5222e7 lj_state.c: Partial fix of assertion on shutdown
1646db3 lj_audit.log.c: Fix iteration through trace constants
fe5f37d Merge branch 'master' into auditlog
e51eaa1 lj_debuginfo.h: Add missing file declaring dwarf data
229fc15 lj_auditlog.c: Log raptorjit VM DWARF debug information to audit.log
02062e9 src/Makefile: Embed DWARF debug info as binary blob
9b5ab0a lj_dwarf.c: Add lj_ircall.h and lj_ff.h for more debug information
f62c246 fixup! lj_asm.c: Fix szirmcode values
8c8731e lj_asm.c: Fix szirmcode values
d64a769 fixup! lj_auditlog.c: Log GCtrace->irmcodesz (IR-mcode mapping)
44fbf8e lj_auditlog.c: Log GCtrace->irmcodesz (IR-mcode mapping)
1d1dc9f README.md: State more clearly that Linux is required
9fb87d1 Merge pull request snabbco#162 from lukego/nix-shell
db4b5e7 Merge pull request snabbco#160 from Igalia/remove-profiler
b93738f shell.nix: Make 'nix-shell' command work as documented
486f720 lj_auditlog.c: Log GCfunc objects referenced by IR constants
1c81d51 fixup! lj_auditlog.c, lj_ctype.c: Log named ctypes to the audit log
d0191fe lj_auditlog.c, lj_ctype.c: Log named ctypes to the audit log
10764c4 lj_auditlog.c: Log strings referenced as IR constants
b0cbca7 lj_auditlog.c: Add "nanotime" timestamp to events
d0dcc75 lj_audit.log.c: Add file size limit (default 100MB)
0158240 luajit.c: Make -a and -p argument handling more consistent
8119e5d Remove references to the profiler, -jv, -jdump, and the like
cad220d lj_trace.c, lj_auditlog.c: Log auditlog event "trace_flushall"
c6347dc lj_trace.c: Clear profiler lasttrace state on flushall()
7b57a23 lj_trace.c: Allow reuse of trace numbers after jit.flush()
9be90a3 lj_jit.h: Increase default maxtrace from 1000 to 10000
389cc39 Merge remote-tracking branch 'raptorjit/master' into auditlog
8b04cd7 Merge pull request snabbco#154 from darius/master
559113a correct spelling
7484d99 Merge pull request snabbco#153 from lukego/pull-luajit-jan2018
42bb70b lj_ir.h: Fix typo made when resolving merge conflict
a8f76e5 Merge commit '4660dbf' into pull-luajit-jan2018
1a0be2e Merge commit '58d0dde' into pull-luajit-jan2018
2ff6099 Merge commit 'ea7071d' into pull-luajit-jan2018
e3e3c80 Merge commit 'd417ded' into pull-luajit-jan2018
836ba21 Merge commit '734a3fa' into pull-luajit-jan2018
653d48a Merge commit '33082a6' into pull-luajit-jan2018
7f812ff Merge commit '99cdfbf' into pull-luajit-jan2018
1753d8b Merge commit '06cd9fc' into pull-luajit-jan2018
5a6457d Merge commit '4b17a6a' into pull-luajit-jan2018
e525ef9 Merge commit '850f8c5' into pull-luajit-jan2018
0dbdc24 Merge commit 'b4ed321' into pull-luajit-jan2018
98027c8 Merge commit '6a2d8b0' into pull-luajit-jan2018
45b5028 Merge commit 'bf12f1d' into pull-luajit-jan2018
f4fbf81 Merge commit '05fbdf5' into pull-luajit-jan2018
8afd558 Merge commit '71b7bc8' into pull-luajit-jan2018
7f41f14 Merge commit '6b08248' into pull-luajit-jan2018
844ab86 Merge commit '9634fa9' into pull-luajit-jan2018
d98e699 Merge commit 'f3d7507' into pull-luajit-jan2018
91dbe23 Merge branch 'master' into v2.1
f6c52a3 Merge branch 'master' into v2.1
97356f9 Use https for freelists.org links.
e74afb9 Merge remote-tracking branch 'raptorjit/master' into auditlog
9175f10 Merge pull request snabbco#152 from lukego/gcc
4189da6 Just use the default gcc instead of clang 4.0.0.
b8204d9 Merge pull request snabbco#144 from lukego/simplify-lineinfo
eabe1de Merge branch 'raptorjit/master' into auditlog
6999d05 Merge pull request snabbco#147 from lukego/vmprofile-oneliner
e92c500 lj_vmprofile.c: Fix bug where restarting the timer would not work
44bd7a5 Merge branch 'raptorjit/master' into auditlog
9de778c Merge pull request snabbco#150 from lukego/reoptimize-string-intern
4660dbf Merge branch 'master' into v2.1
430d9f8 Fix string.format("%c", 0).
58d0dde Fix IR_BUFPUT assembly.
fcf86b8 lj_str.c: Remove special-case string interning fastpath
b53a438 Merge pull request snabbco#149 from lukego/benchmarks-fix-awk
f66fc04 testsuite/bench: Fix awk parsing of perf output
ed21034 auditlog: Log source (lex events) as msgpack binary
9dac90f auditlog: Log source code (in chunks via lexer events)
8406438 Merge branch 'vmprofile-oneliner' into auditlog
c3b59a7 Merge branch 'raptorjit/master' into auditlog
fd0e49d Support "one-liner" usage of jit.vmprofile.open()
02d596c Merge pull request snabbco#146 from lukego/vmprofile-cmdline
7844c5f Add '-p file' command line syntax for VMProfile
b2be223 Merge pull request snabbco#145 from lukego/fix-warning-and-reusevm
1fa5375 Fix compiler warning & reusevm generated code
de0f442 fixup! auditlog: Can only be opened once now (error on second open)
541d60d auditlog: Can only be opened once now (error on second open)
864a100 Merge branch 'simplify-lineinfo' into auditlog
b5056fa lj_parse.c, lj_debug.c: Remove clever tricks in lineinfo encoding
3a5aa7d lj_trace.c: Do not reuse trace numbers after flush
0b940c5 lj_auditlog.c: Glibc memory stream workaround...
623d45f lj_auditlog.c: Remove fflush() that seems problematic
2276cd8 lj_trace.c: Fix compiler warnings
588e9c3 lj_auditlog.c: Fix compiler warning
3e2d4e4 lj_auditlog.c: Use open_memstream() instead of fmemopen()
a63b5d9 Merge branch 'master' into auditlog
8f94abb Merge pull request snabbco#142 from lukego/integrate-dec2017
b83e78d Merge snabbco#141 branch 'replace-gcref-mref' into integrate
9df1238 Merge snabbco#133 branch 'fix-alloc' into integrate
6d9b473 Merge snabbco#140 branch 'vmprofile-v4' into integrate
5cf2076 Merge snabbco#120 branch 'record-blacklisted-functions' into integrate
0a33b43 Merge snabbco#101 branch 'long-running-stable' into integrate
4fafb32 Merge snabbco#98 branch 'lukego/szirmcode' into integrate
520c6d3 Merge snabbco#86 branch 'ffi-pointer-difference-div' into integrate
5454da8 Merge snabbco#79 branch 'unused-bench-param' into integrate
34f24ae Merge snabbco#81 branch 'gctrace-origin' into integrate
7e34e72 reusevm: Update generated code
07fef11 luajit.c: Add 'raptorjit -a <path> ...' command line auditlog syntax
671d770 lib_jit.c: Add 'jit.auditlog(filename)' Lua API function
857073c lj_auditlog.c: Add lj_auditlog_open(path) API function
7b9840d Merge branch 'replace-gcref-mref' into auditlog
1587377 lj_obj.h: Redefine MRef as simple void* pointer
2f5a9a3 lj_obj.h: Redefine GCRef as simple GCobj* pointer
88cc35c reusevm: update generated code
5843c53 lj_auditlog.c: Log prototype names (GCstr)
4d8b3eb auditlog: Log all loaded bytecode (GCproto objects)
b46e33a Merge branch 'fix-alloc' (incl. master) into auditlog
43691e0 reusevm: Update generated code
ad02215 Merge branch 'raptorjit/master' into fix-alloc
14120c1 Merge pull request snabbco#127 from lukego/lineinfo-no-compress
77dabca Merge pull request snabbco#132 from lukego/jit-log-bytecodes
964585e Merge pull request snabbco#134 from lukego/flush-clear-blacklist
796597d lj_trace.c: unpatch blacklisted bytecodes when flushing traces
06b9f32 lj_state.c: Fix allocation and free of IR buffer
d371db6 lj_state.c: Fix dealloc to match
bc57ceb lj_state.c: Fix bug in allocation of IR buffer
b29101e fixup! lj_auditlog: Improve logging of trace stop/abort
238c698 lj_auditlog: Improve logging of trace stop/abort
fdf39d8 Merge branch 'jit-log-bytecodes' into auditlog
9b2b467 Minor update to jit_State bytecode log
7a4e25b Add log of recorded bytecodes (BCLogRec) to jit_State
783cf2d Merge pull request snabbco#131 from lukego/jit-state-static-tmp-buffers
16121f2 Statically allocate JIT temp buffers
862727f Merge branch 'vmprofile-interp' into auditlog
a8b0f32 lj_vmprofile.c: Add assertions with lua_assert
0823d96 lj_vmprofile.c: Fix trace number overflow (into bucket 0)
ae5c6aa vm_x64.dasc: Fixes to ensure g.lasttrace is a trace number
ef08db2 Merge VMProfile 4.0 from branch 'vmprofile-interp' into auditlog
c1659d9 VMProfile 4.0: File format revision
17b3c9c lj_bcread.c: Fix warning
7f4787a Fix bug in lj_bcread_proto()
5e673ea lj_obj.h: Fix comment about lineinfo (non)compression
c734910 Remove feature to compress GCproto.lineinfo
5a3a889 Merge branch 'vmprofile-interp' into auditlog
5cac382 lj_vmprofile.c: Fix file header initialization
ea7071d MIPS64: Fix xpcall() error case.
d417ded ARM64: Fix xpcall() error case (really).
2b89796 vmprofile 3.0 with more information
bd7266d Track last exited trace (lasttrace) in global_State
089c55a lj_obj.h: Explicitly define implicit VM states
734a3fa Merge branch 'master' into v2.1
7dbf0b0 Fix saved bytecode encapsulated in ELF objects.
33082a6 ARM64: Fix xpcall() error case.
39680ca Merge pull request snabbco#123 from lukego/no-exitstate-pcreg
b6902f8 Remove EXITSTATE_PCREG
99cdfbf MIPS64: Fix register allocation in assembly of HREF.
06cd9fc ARM64: Fix assembly of HREFK.
4b17a6a Merge branch 'master' into v2.1
9f0caad Fix FOLD rule for strength reduction of widening.
f5d810e lj_record.c: Record IFUNC/IFUNCV the same as FUNC/FUNCV
c83fd4c Merge pull request snabbco#116 from lukego/jit-tracebarrier
0be85c6 src/reusevm: update generated files
e182ae8 Add jit.tracebarrier() primitive
850f8c5 LJ_GC64: Make ASMREF_L references 64 bit.
b4ed321 LJ_GC64: Fix ir_khash for non-string GCobj.
6a2d8b0 Merge branch 'master' into v2.1
0c0e7b1 DynASM/x86: Fix potential REL_A overflow.
bf12f1d MIPS64: Hide internal function.
05fbdf5 x64/LJ_GC64: Fix type-check-only variant of SLOAD.
ce6fbb4 lj_record.c: Relax heuristic for root trace meeting JIT loop
a720595 lj_trace.c: Reset hotcount table after flush
01dc844 lj_jit.h: Increase HOTCOUNT_MAX and expand HotPenalty.val
f7212cc lj_trace.c: Clear penalty slot after successful trace
c5923d8 lj_auditlog.c: Log VM definition information
71b7bc8 PPC: Add soft-float support to JIT compiler backend.
e4a76f8 Merge snabbco#98 branch 'szirmcode' into auditlog
ad14f45 GCtrace: Make it possible to map between IR and mcode insns
d400946 Merge pull request snabbco#94 from CapsAdmin/master
fabab00 x64/LJ_GC64: Fix asm_fuseloadk64()
6b08248 x64/LJ_GC64: Fix fallback case of asm_fuseloadk64().
59a3e9f Merge pull request snabbco#90 from lukego/reusevm-toplevel
53e93f1 Merge pull request snabbco#89 from lukego/readme-redux
86f23d6 README: Re-introduce goal of minimizing non-deterministic performance
1b5c2f2 fixup! README: Added note about future platform support
cc5668b README: Added note about future platform support
bebdbac Makefile: Added reusevm target at top-level
7c2a11e fixup! README: shorten intro, move Optimization Resources down
9ab33a8 README: shorten intro, move Optimization Resources down
2bc2d95 README: Make less fuss about Intel Core
88bcf00 README.md: New introduction
9634fa9 Merge branch 'master' into v2.1
f3d7507 Use https for freelists.org links.
46f00a4 Merge pull request snabbco#88 from lukego/pull-luajit
00e983c src/reusevm: update generated files
4cd536f testsuite: Enable Lua 5.2 compat
4e945d2 lj_api.c: Fix breakage in cherry-pick of ffd2610
340f702 Merge *history only* from branch 'luajit/v2.1' commit fd37da0 into pull-luajit
c0165a6 x64/LJ_GC64: Fix emit_rma().
e2cabaf Remove unused define.
07918dc Merge branch 'master' into v2.1
a0a1983 Merge branch 'master' into v2.1
a698e89 FFI: Update docs on compiler limitations.
e091baf Add FOLD rules for mixed BAND/BOR with constants.
2f7f0a2 FFI: Compile bitfield loads/stores.
bddc781 Document added C API extensions from Lua 5.2/5.3.
ffd2610 From Lua 5.2: Add lua_tonumberx() and lua_tointegerx().
9fabcf9 From Lua 5.2: Add luaL_setmetatable().
4a307c1 From Lua 5.2: Add luaL_testudata().
9a520cb From Lua 5.3: Add lua_isyieldable().
f1264bf From Lua 5.2: Add lua_copy().
eaf262d From Lua 5.2: Add lua_version().
b28c891 Refactor with LUA_OK.
d6db005 Add some more changes and extensions from Lua 5.2.
dbe5619 Remove old Lua 5.0 compatibility defines.
e834e9c Merge branch 'master' into v2.1
de9a886 x64/LJ_GC64: Fix emit_loadk64().
5126a06 LJ_GC64: Fix BC_CALLM snapshot handling.
07f976a Remove Lua 5.0 compatibility defines.
cf655d9 lj_crecord.c: JIT pointer difference for all element sizes
48be218 Merge branch 'unique-trace-numbers' into auditlog
4b4dcb0 lj_trace.c: Make trace numbers unique (stop reusing them)
a292144 Merge branch 'vmprofile' into auditlog
4a06d4a lj_vmprofile.c: Fixed to set file magic number with C API calls
8fc672c Merge branch 'gctrace-origin' into auditlog
fcf7053 check-generated-code.nix: Add more verbosity
4aaa844 lj_jit.h: Save 'parent' and 'exitno' fields in GCtrace
5708b06 Merge pull request snabbco#80 from lukego/fix-build
300d14e reusevm: Updated generated code
d27d4d4 check-generated-code.nix: Tweak order of diff args
076d161 check-generated-code.nix: Fixed
8ec77f9 .travis.yml: Update Travis-CI config (was not testing)
d095eae raptorjit.nix: Fix executable name / broken build
f8d1c9e Merge branch 'raptorjit/master' into auditlog
eaf418c Merge pull request snabbco#77 from lukego/vmprofile
d7fd44e testsuite/bench: Remove PARAM_* for unsupported platforms
8cd8f7e vmprofile: Extend Lua API and add test cases
fd37da0 PPC: Add soft-float support to interpreter.
7e662e4 x64/LJ_GC64: Fix emit_rma().
89407be Merge snabbco#64 branch 'lukego/dwarf' into auditlog
a68c8d2 Merge pull request snabbco#37 from lukego/cleanup
8ca5612 Merge pull request snabbco#66 from lukego/vmprofile
f8bd4d8 Merge pull request snabbco#59 from lukego/nix-benchmarks
66fab90 Merge branch 'master' into nix-benchmarks
67864a9 Merge pull request snabbco#70 from lukego/split-build
c297923 Makefile: New 'reusevm' target & bootstrap-skipping method
9fe3967 .travis.yml: Include check-generated-code test
2cf9924 check-generated-code.nix: Check if in-tree VM code is stale
726cc9c raptorjit.nix: preBuild = 'make bootstrapclean'
964cbe4 Makefile: New target 'bootstrapclean' removes in-tree generated code
3ca3df8 README: Update build procedure description
196a9e2 Makefile: s/LuaJIT 2.1.0-beta2/RaptorJIT 1.0.0-alpha1/
086b4c9 Exclude generated code from .gitignore
6d7a8d2 Add VM generated code to the repository
45c2d44 Merge pull request snabbco#69 from lukego/simplify-makefile
f9d7cdd src/Makefile: Shrink by removing obsolete platform logic
65675f5 lj_vmprofile: Port & adapt revisions
24f82aa Merge branch 'lukego-luajit/vmprofile' into vmprofile
0acc230 lj_auditlog: Log the memory containing IR instructions
cf2dfaf Merge branch 'master' into v2.1
82151a4 Modify fix for warning from 'ar'.
6a71e71 Remove unused define.
b0ecc6d FreeBSD/x64: Avoid changing resource limits, if not needed.
a057a07 MIPS64: Add soft-float support to JIT compiler backend.
0e4a551 Merge branch 'master' into v2.1
c7c3c4d MIPS: Fix handling of spare long-range jump slots.
79fe578 Merge branch 'master' into v2.1
7381b62 MIPS: Use precise search for exit jump patching.
0a55469 Generate separate DWARF debug info
376fb58 lj_trace: Log trace aborts to auditlog
2dfdb73 lj_auditlog: Implement logging of trace_abort
b302c6e lj_auditlog: Add "event" object
76be283 lj_auditlog: remove redundant "size" field
5ea4b74 lj_auditlog: use msgpack format for audit log
cb132d1 Add lj_auditlog (very preliminary)
6259c0b Merge branch 'master' into v2.1
630ff31 Add missing LJ_MAX_JSLOTS check.
31afda3 Merge branch 'master' into v2.1
1c89933 Fix LJ_MAX_JSLOTS assertion in rec_check_slots().
8271c64 RELEASE LuaJIT-2.1.0-beta3
e9f8abf Update changelog.
16dc7fb Merge branch 'master' into v2.1
0bf80b0 RELEASE LuaJIT-2.0.5
ae0d438 Update changelog.
b608891 FFI: Update docs on compiler limitations.
cf8a5be Add FOLD rules for mixed BAND/BOR with constants.
fbfbd7b FFI: Compile bitfield loads/stores.
dc5eb65 Merge branch 'master' into v2.1
02b4b1e Add workaround for MSVC 2015 stdio changes.
ed54eac MIPS64: Fix stores of MULTRES.
58aaac3 MIPS64: Fix write barrier in BC_USETV.
18efb33 ARM64: Fix stores to vmstate.
cced178 Document added C API extensions from Lua 5.2/5.3.
de26f76 From Lua 5.2: Add lua_tonumberx() and lua_tointegerx().
2b8de8c From Lua 5.2: Add luaL_setmetatable().
cde968f From Lua 5.2: Add luaL_testudata().
f2e2a3f From Lua 5.3: Add lua_isyieldable().
ef23b70 From Lua 5.2: Add lua_copy().
c67a098 From Lua 5.2: Add lua_version().
9c685f7 Refactor with LUA_OK.
22dfa63 Allow building on Haiku OS.
7c7843e Merge branch 'master' into v2.1
247b362 OSX: Fix build with recent XCode.
ca49220 Merge pull request snabbco#60 from lukego/logo
7bf26e6 Add new "uplifting" RaptorJIT logo
de97b9d Add some more changes and extensions from Lua 5.2.
dc320ca Remove old Lua 5.0 compatibility defines.
c29afcb Merge branch 'master' into v2.1
e205ad0 FFI: Fix FOLD rules for int64_t comparisons.
3143b21 ARM64: Add big-endian support.
4318163 testsuite/bench: Tweaked tests to run longer
f5aa329 README.md: Add note about where benchmark visualizations go
b1b52db Fix markdown goof in README.md
7a35839 Import revamped nix benchmark framework
742104f Merge pull request snabbco#55 from lukego/slow-lea
7356708 md5 benchmark 15% speed by removing "slow LEA"
78f5f1c x64/LJ_GC64: Fix emit_loadk64().
024ade7 LJ_GC64: Fix BC_CALLM snapshot handling.
fa126c5 x64/LJ_GC64: Fix assembly of CNEWI with 64 bit constant pointer.
779a1eb ARM64: Fix Nintendo Switch build.
0cf7885 ARM64: Fix XLOAD/XSTORE with FP operand.
d54947d Merge pull request snabbco#52 from lukego/nix-update
398bd28 Cleaned up nix expressions
82487c7 Travis-CI: Update now that nix runs the test suite
c025664 nix: pin nixpkgs, pin clang 4.0, run test suite
010a99b Add 'testsuite/' from commit '96f816c5e5acbaf33af723e28fba6f4a45e05b6b'
0659092 Remove submodule for testsuite
3ec0f9c Merge pull request snabbco#49 from lukego/fix-kkptr
b1bc13b Compile with -Werror (treat warnings as errors)
fb32f91 Fix IR_KKPTR case of b1cfd27
693909f Merge pull request snabbco#47 from lukego/travis-jit-options
b1cfd27 lj_asm_x86.h: Fix CNEWI for constant pointers
9fcb036 Merge pull request snabbco#44 from lukego/rm-vm-ifdef
d286c95 Fixed typo in jit=-O1
03ad911 Travis CI: Test -O3/-O2/-O1/-joff separately
96f816c Merge branch 'lukego/branchmarks'
c8b2b1c vm_x64.dasc: Resolve +JIT +FFI -X64WIN
684f0f7 Merge pull request snabbco#43 from lukego/rm-dualnum
170c3ac vm_x64.dasc: Fix FORL type coercion
f458d9e Fix mistakes in DUALNUM removal
de5568e Remove Lua 5.0 compatibility defines.
fa02289 Remove DUALNUM mode
0632142 Merge pull request snabbco#40 from lukego/readme-optimize
5f263f2 README.md: Add software optimization links
7a75b53 Merge pull request snabbco#39 from lukego/readme8
f7122f1 README: Declared CPU & Optimization policy
85df062 Merge pull request snabbco#38 from lukego/no-unwind
d0cb401 Merge pull request snabbco#36 from lukego/rm-introspect
5660da3 README.md: Note +NO_UNWIND
8f2744a ifdef-defile: Correct spelling of LJ_NO_UNWIND
f7dc94a Define NO_UNWIND
e2e5689 Remove unused lj_vm_profhook() prototype
972fc1e lib_jit.c: Remove introspection and jit.attach()
521a874 Merge pull request snabbco#35 from lukego/rm-vmevent
df45ff5 Remove PROFILE and VMEVENT features
c40e6bf Merge pull request snabbco#33 from lukego/rm-amalg
0b4a0d2 Merge pull request snabbco#34 from lukego/rm-dotbat
eb052df Remove '*.bat' console build batchfiles
84379d3 Remove "amalg" amalgamated build"
aa188bc Merge pull request snabbco#32 from lukego/nix-comments
cd0e416 README.md: Add link to default.nix
3a523de default.nix: Commented
937375e Merge pull request snabbco#30 from lukego/readme7
a4a5720 README.md: Updated build instructions
631e214 Merge pull request snabbco#27 from lukego/testsuite-plusslow
1c74123 Merge branch 'master' into testsuite-plusslow
03875be Merge pull request snabbco#29 from lukego/nix
1124340 Travis-CI update for nix-based build.
60aa095 Specify build dependencies with nix
78f9acf Makefile: Replace minilua with luajit dependency
5726c88 Switch from gcc to clang
9fedd59 Travis-CI: Added '+slow' argument to test suite
a717eb1 Merge pull request snabbco#21 from lukego/raptorjit-testsuite
bfe7ddc Update Travis-CI to use raptorjit-testsuite
d5b9354 Add raptorjit-testsuite submodule
66b4822 Removed luajit-test-cleanup submodule
e094845 Merge pull request #1 from lukego/fix366
5ccbcfe Make test 366 pass by adding "move:" to expectation
235e82b Merge pull request snabbco#20 from lukego/readme6
28f0f6b README.md: Indulge in more pithy quotations
5af7ae7 Merge pull request snabbco#19 from lukego/dce-fastcall
ac6311d Remove definition of LJ_FASTCALL (a NOP)
ac49377 Remove all uses of LJ_FASTCALL (a NOP)
ad950cc Merge pull request #17 from lukego/readme5
0e8e997 Revised README.md
3523a63 Merge pull request #16 from lukego/copyright
d32cb90 Merge pull request #15 from lukego/contributing
43e53c7 COPYRIGHT: Update the COPYRIGHT file inherited from LuaJIT
9359d14 Added CONTRIBUTING.md
e2eb703 Merge pull request #14 from lukego/testsuite
09b2f3e Add LuaJIT test suite to Travis-CI
8796648 Add LuaJIT/LuaJIT-test-cleanup to submodules/
3ec733f Merge pull request #12 from lukego/readme4
a168dc6 README.md: Add quotes, fix benchmarks link
7aab422 Merge pull request #10 from lukego/rm-dynasm
7237ba5 Merge pull request #9 from lukego/rm-jit
e2968cc Removed dynasm modules for unsupported architectures
b270bf0 Remove jit.p, jit.v, jit.dump, disassemblers
7446725 Merge pull request #8 from lukego/readme3
7fe552f Revised README.md
33e308e Merge pull request #7 from lukego/perftest
f4c8ca6 README.md: Performance regression tests link
18225a6 Merge pull request #6 from lukego/travis
1842bc3 README.md: Added Travis-CI status badge.
0213af2 Added absolute minimum .travis.yml
2fcc0a4 Merge pull request #5 from lukego/bigbang
c2d3d70 Merge pull request #4 from lukego/conduct
4daf440 Merge pull request #3 from lukego/apache2
78a072c Merge pull request #2 from lukego/readme2
40381fa Remove unused code.
58b063b CONDUCT.md: Add simple code of conduct
3127cb0 COPYING: Switch to Apache License 2.0 for new code
827e3d6 Add ifdef-defile config for 'unifdef'
7beb3b2 Remove all architectures except x86-64.
d1c0e13 Remove LUAJIT_USE_PERFTOOLS
006018f Change wording of README
dcda227 Merge pull request #1 from lukego/luajit-v2.1
50ed432 Merge remote-tracking branch 'luajit/v2.1'
5c74044 Added initial README.md
6a66f5d Added LUAJIT_VMPROFILE: new profiler backend
fe8abc881 strings: compare hash as well
014708b Add test for BC_VARG slot revival
63a6f7e Add test for BC_KNIL slot revival under LJ_GC64
14c132e Add tests for table indexing (inspired by snabbco#221)
73139f8 Disable some tests under 5.2 compatibility
f333908 Added bench/PARAM_x86_CI.txt (CI params)
bcf938b Extend cdata_var test slightly
071f050 Exercise string concat some more
e7b029b issue #8 removing tests
7897e7f Add tests for allocation of variable-sized cdata
6fe6fbe add coroutine.lua
ad494d6 issue #8 add strings.lua and literals.lua to the execution
2faff35 issue #8 add strings.lua and literals.lua to the execution
8e20d26 Update README.md
318dedd Update README.md
9b1b6bc Merge branch 'roulette' into maintainer
a71cd6d roulette: Stop seeding the random number generator
96cfbb3 Merge branch 'roulette' into maintainer
b0a75b4 Added bench/roulette.lua
cd42900 issue #8 add dummy file to ensure directory is saved in git
3e73138 issue #8 add dummy file to ensure directory is saved in git
a1dccdb issue #8
6e2030f issue #8 add 5.2.2 tests
ef23b70 issue #8 add 5.2.2 tests
7b022d4 Merge branch 'lua-51-testsuite' of https://github.com/LuaJIT/LuaJIT-test-cleanup into lua-51-testsuite
ea00add issue #8 add 5.2.2 tests
b116313 Update README.md
45b2258 issue #8 initial attempt to get the tests running
0497c7b issue #8 initial attempt to get the tests running
a6bb93e Merge branch 'lua-51-testsuite' of https://github.com/LuaJIT/LuaJIT-test-cleanup into lua-51-testsuite
1cb6161 issue #8 initial attempt to get the tests running
e832e54 Update README.md
e6fc702 Create README.md
0dda7b2 issue #8 baseline checkin of Lua 5.1 test suite
c3224bb Exercise TSETR and TSETM slow paths.
703e9cf Skip some tests under LuaJIT 2.0
d7985d1 Modernise more ffi tests.
a82c499 Modernise some FFI tests.
9c27a59 Fix batch modifier application.
9f1451d Normalise line endings.
3e5cca7 Modernise some tests.
bcd286b Modernise more tests.
1bee68f PUC-Rio Lua compatibility.
6a7e342 Modernise misc/meta_* tests.
e002a08 Improve reporting of failing tests in --quiet mode.
f40304d Modernise string_op test.
b8bbda3 Modernise goto test.
74d256f Remove some already-modernised tests from misc.
c2da6d8 Merge pull request #7 from corsix/shakeup
488e3fb Shake things up.
634b212 Merge pull request #6 from ladc/master
581a474 Put subtests in 'test' dir
1d7aaed Moved proposed test runner and examples into 'experimental' directory.
82586b1 Improve filenames of extracted tests and error reporting in test runner
91cb29b Add workdir argument to extract() in tester module
a6e5102 Capture stderr when tests are run externally in run_single()
14bfa87 Add --runcmd='x' option to test runner
765714f Put @key: value pairs in separate attributes table in parse()
16b3293 Don't print an empty description in build_codestring() in tester module
8859058 Implement @key: value matching in parse() function of tester module
0d975fa Clean up test script (args, tag patterns)
5f331e7 Avoid string.rep in test.lua
24d2b97 Move some tests into new structure and adapt comments to test runner.
b0b3a20 Add test.lua for running and filtering tests.
af54fa1 Add verbose option to run() and run_single()
639480b Add filter() to tester module for filtering tags
a4dd1e0 Add run_single() and run() to tester module.
a4ec002 Add index() and extract() to tester module.
46e1fea Add first part of test framework: parse tests.
a273241 Initial commit

git-subtree-dir: lib/luajit
git-subtree-split: 54cc2a1b4c8ccf6e0c227e9c789947250944b322
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants