From 3e1ce863e302b17f5496aacbfff63a710f58cd1d Mon Sep 17 00:00:00 2001 From: Ryan Hunt <rhunt@eqrion.net> Date: Fri, 10 Apr 2020 21:28:21 +0000 Subject: [PATCH] Bug 1624524 - Only compile wasmTextToBinary and wasmCodeOffsets in JS Shell. r=bbouvier This commit moves the implementation of the wasmTextToBinary and wasmCodeOffets functions to the JS shell. Before this change, the implementation was in wasm/rust/. This commit moves the implementation to js/rust, which is only compiled for the JS shell. The C++ bindings for the rust code is moved to the shell/ directory. Differential Revision: https://phabricator.services.mozilla.com/D68650 --HG-- rename : js/src/wasm/rust/src/lib.rs => js/src/rust/wasm.rs rename : js/src/wasm/WasmTesting.cpp => js/src/shell/WasmTesting.cpp rename : js/src/wasm/WasmTesting.h => js/src/shell/WasmTesting.h extra : moz-landing-system : lando --- Cargo.lock | 11 +- js/src/builtin/TestingFunctions.cpp | 94 ---------------- js/src/rust/Cargo.toml | 2 + js/src/rust/lib.rs | 5 + js/src/rust/shared/Cargo.toml | 1 - js/src/rust/shared/lib.rs | 2 - js/src/{wasm/rust/src/lib.rs => rust/wasm.rs} | 0 js/src/{wasm => shell}/WasmTesting.cpp | 2 +- js/src/{wasm => shell}/WasmTesting.h | 6 +- js/src/shell/js.cpp | 94 ++++++++++++++++ js/src/shell/moz.build | 3 +- js/src/wasm/moz.build | 1 - js/src/wasm/rust/Cargo.toml | 13 --- third_party/rust/nom/.cargo-checksum.json | 2 +- third_party/rust/nom/.travis.yml | 101 ------------------ 15 files changed, 110 insertions(+), 227 deletions(-) rename js/src/{wasm/rust/src/lib.rs => rust/wasm.rs} (100%) rename js/src/{wasm => shell}/WasmTesting.cpp (98%) rename js/src/{wasm => shell}/WasmTesting.h (95%) delete mode 100644 js/src/wasm/rust/Cargo.toml delete mode 100644 third_party/rust/nom/.travis.yml diff --git a/Cargo.lock b/Cargo.lock index 96b3abd119b1c..6c0a34071c796 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2152,6 +2152,8 @@ version = "0.1.0" dependencies = [ "jsrust_shared", "mozglue-static", + "wasmparser 0.48.2", + "wat", ] [[package]] @@ -2164,7 +2166,6 @@ dependencies = [ "mozglue-static", "mozilla-central-workspace-hack", "smoosh", - "wasm-rust", ] [[package]] @@ -4896,14 +4897,6 @@ dependencies = [ "urlencoding", ] -[[package]] -name = "wasm-rust" -version = "0.1.0" -dependencies = [ - "wasmparser 0.48.2", - "wat", -] - [[package]] name = "wasmparser" version = "0.48.2" diff --git a/js/src/builtin/TestingFunctions.cpp b/js/src/builtin/TestingFunctions.cpp index 28e49120df6a0..6ffd39c205872 100644 --- a/js/src/builtin/TestingFunctions.cpp +++ b/js/src/builtin/TestingFunctions.cpp @@ -93,7 +93,6 @@ #include "wasm/WasmJS.h" #include "wasm/WasmModule.h" #include "wasm/WasmSignalHandlers.h" -#include "wasm/WasmTesting.h" #include "wasm/WasmTypes.h" #include "debugger/DebugAPI-inl.h" @@ -899,90 +898,6 @@ static bool WasmIonDisabledByFeatures(JSContext* cx, unsigned argc, Value* vp) { return true; } -static bool WasmTextToBinary(JSContext* cx, unsigned argc, Value* vp) { - CallArgs args = CallArgsFromVp(argc, vp); - RootedObject callee(cx, &args.callee()); - - if (!args.requireAtLeast(cx, "wasmTextToBinary", 1)) { - return false; - } - - if (!args[0].isString()) { - ReportUsageErrorASCII(cx, callee, "First argument must be a String"); - return false; - } - - size_t textLen = args[0].toString()->length(); - - AutoStableStringChars twoByteChars(cx); - if (!twoByteChars.initTwoByte(cx, args[0].toString())) { - return false; - } - - wasm::Bytes bytes; - UniqueChars error; - if (!wasm::TextToBinary(twoByteChars.twoByteChars(), textLen, &bytes, - &error)) { - JS_ReportErrorNumberUTF8(cx, GetErrorMessage, nullptr, JSMSG_WASM_TEXT_FAIL, - error.get() ? error.get() : "out of memory"); - return false; - } - - RootedObject binary(cx, JS_NewUint8Array(cx, bytes.length())); - if (!binary) { - return false; - } - - memcpy(binary->as<TypedArrayObject>().dataPointerUnshared(), bytes.begin(), - bytes.length()); - - args.rval().setObject(*binary); - return true; -} - -static bool WasmCodeOffsets(JSContext* cx, unsigned argc, Value* vp) { - CallArgs args = CallArgsFromVp(argc, vp); - RootedObject callee(cx, &args.callee()); - - if (!args.requireAtLeast(cx, "wasmCodeOffsets", 1)) { - return false; - } - - if (!args.get(0).isObject()) { - JS_ReportErrorASCII(cx, "argument is not an object"); - return false; - } - - SharedMem<uint8_t*> bytes; - size_t byteLength; - - JSObject* bufferObject = &args[0].toObject(); - JSObject* unwrappedBufferObject = CheckedUnwrapStatic(bufferObject); - if (!unwrappedBufferObject || - !IsBufferSource(unwrappedBufferObject, &bytes, &byteLength)) { - JS_ReportErrorNumberUTF8(cx, GetErrorMessage, nullptr, - JSMSG_WASM_BAD_BUF_ARG); - return false; - } - - wasm::Uint32Vector offsets; - wasm::CodeOffsets(bytes.unwrap(), byteLength, &offsets); - - RootedObject jsOffsets(cx, JS::NewArrayObject(cx, offsets.length())); - if (!jsOffsets) { - return false; - } - for (size_t i = 0; i < offsets.length(); i++) { - uint32_t offset = offsets[i]; - RootedValue offsetVal(cx, NumberValue(offset)); - if (!JS_SetElement(cx, jsOffsets, i, offsetVal)) { - return false; - } - } - args.rval().setObject(*jsOffsets); - return true; -} - static bool ConvertToTier(JSContext* cx, HandleValue value, const wasm::Code& code, wasm::Tier* tier) { RootedString option(cx, JS::ToString(cx, value)); @@ -6702,15 +6617,6 @@ gc::ZealModeHelpText), " from being used then this returns a truthy string describing the features that\n." " are disabling it. Otherwise it returns false."), - JS_FN_HELP("wasmTextToBinary", WasmTextToBinary, 1, 0, -"wasmTextToBinary(str)", -" Translates the given text wasm module into its binary encoding."), - - JS_FN_HELP("wasmCodeOffsets", WasmCodeOffsets, 1, 0, -"wasmCodeOffsets(binary)", -" Decodes the given wasm binary to find the offsets of every instruction in the" -" code section."), - JS_FN_HELP("wasmExtractCode", WasmExtractCode, 1, 0, "wasmExtractCode(module[, tier])", " Extracts generated machine code from WebAssembly.Module. The tier is a string,\n" diff --git a/js/src/rust/Cargo.toml b/js/src/rust/Cargo.toml index 5ae614125ec2c..4094a71c15fef 100644 --- a/js/src/rust/Cargo.toml +++ b/js/src/rust/Cargo.toml @@ -20,3 +20,5 @@ smoosh = ['jsrust_shared/smoosh'] jsrust_shared = { path = "./shared" } # Workaround for https://github.com/rust-lang/rust/issues/58393 mozglue-static = { path = "../../../mozglue/static/rust" } +wat = { version = "1.0.14" } +wasmparser = { version = "0.48.2" } diff --git a/js/src/rust/lib.rs b/js/src/rust/lib.rs index e90fb547eae24..69840a5a28ca7 100644 --- a/js/src/rust/lib.rs +++ b/js/src/rust/lib.rs @@ -12,4 +12,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + extern crate jsrust_shared; +extern crate wat; +extern crate wasmparser; + +mod wasm; diff --git a/js/src/rust/shared/Cargo.toml b/js/src/rust/shared/Cargo.toml index 06c7e3fff8a81..e80f88d615cf6 100644 --- a/js/src/rust/shared/Cargo.toml +++ b/js/src/rust/shared/Cargo.toml @@ -13,7 +13,6 @@ baldrdash = { path = "../../wasm/cranelift", optional = true } encoding_c = "0.9.5" encoding_c_mem = "0.2.4" smoosh = { path = "../../frontend/smoosh", optional = true } -wasm-rust = { path = "../../wasm/rust" } mozilla-central-workspace-hack = { path = "../../../../build/workspace-hack" } mozglue-static = { path = "../../../../mozglue/static/rust" } diff --git a/js/src/rust/shared/lib.rs b/js/src/rust/shared/lib.rs index 0eccfe5e66c34..31a3d5c53aec7 100644 --- a/js/src/rust/shared/lib.rs +++ b/js/src/rust/shared/lib.rs @@ -21,5 +21,3 @@ extern crate mozglue_static; #[cfg(feature = "smoosh")] extern crate smoosh; - -extern crate wasm_rust; diff --git a/js/src/wasm/rust/src/lib.rs b/js/src/rust/wasm.rs similarity index 100% rename from js/src/wasm/rust/src/lib.rs rename to js/src/rust/wasm.rs diff --git a/js/src/wasm/WasmTesting.cpp b/js/src/shell/WasmTesting.cpp similarity index 98% rename from js/src/wasm/WasmTesting.cpp rename to js/src/shell/WasmTesting.cpp index 1f1a3b5c9a701..dcbbe7f4a073c 100644 --- a/js/src/wasm/WasmTesting.cpp +++ b/js/src/shell/WasmTesting.cpp @@ -16,7 +16,7 @@ * limitations under the License. */ -#include "wasm/WasmTesting.h" +#include "shell/WasmTesting.h" #include <inttypes.h> #include <stdbool.h> diff --git a/js/src/wasm/WasmTesting.h b/js/src/shell/WasmTesting.h similarity index 95% rename from js/src/wasm/WasmTesting.h rename to js/src/shell/WasmTesting.h index 595652f9e5769..fc6fc88118c2b 100644 --- a/js/src/wasm/WasmTesting.h +++ b/js/src/shell/WasmTesting.h @@ -16,8 +16,8 @@ * limitations under the License. */ -#ifndef wasm_testing_h -#define wasm_testing_h +#ifndef shell_wasm_h +#define shell_wasm_h #include "wasm/WasmTypes.h" @@ -43,4 +43,4 @@ extern void CodeOffsets(const uint8_t* bytes, size_t bytesLen, } // namespace wasm } // namespace js -#endif // wasm_testing_h +#endif // shell_wasm_h diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp index 7123dddce961f..1baf591905ae4 100644 --- a/js/src/shell/js.cpp +++ b/js/src/shell/js.cpp @@ -118,6 +118,7 @@ #include "shell/jsoptparse.h" #include "shell/jsshell.h" #include "shell/OSObject.h" +#include "shell/WasmTesting.h" #include "threading/ConditionVariable.h" #include "threading/ExclusiveData.h" #include "threading/LockGuard.h" @@ -8221,6 +8222,90 @@ static bool SetARMHwCapFlags(JSContext* cx, unsigned argc, Value* vp) { return true; } +static bool WasmTextToBinary(JSContext* cx, unsigned argc, Value* vp) { + CallArgs args = CallArgsFromVp(argc, vp); + RootedObject callee(cx, &args.callee()); + + if (!args.requireAtLeast(cx, "wasmTextToBinary", 1)) { + return false; + } + + if (!args[0].isString()) { + ReportUsageErrorASCII(cx, callee, "First argument must be a String"); + return false; + } + + size_t textLen = args[0].toString()->length(); + + AutoStableStringChars twoByteChars(cx); + if (!twoByteChars.initTwoByte(cx, args[0].toString())) { + return false; + } + + wasm::Bytes bytes; + UniqueChars error; + if (!wasm::TextToBinary(twoByteChars.twoByteChars(), textLen, &bytes, + &error)) { + JS_ReportErrorNumberUTF8(cx, GetErrorMessage, nullptr, JSMSG_WASM_TEXT_FAIL, + error.get() ? error.get() : "out of memory"); + return false; + } + + RootedObject binary(cx, JS_NewUint8Array(cx, bytes.length())); + if (!binary) { + return false; + } + + memcpy(binary->as<TypedArrayObject>().dataPointerUnshared(), bytes.begin(), + bytes.length()); + + args.rval().setObject(*binary); + return true; +} + +static bool WasmCodeOffsets(JSContext* cx, unsigned argc, Value* vp) { + CallArgs args = CallArgsFromVp(argc, vp); + RootedObject callee(cx, &args.callee()); + + if (!args.requireAtLeast(cx, "wasmCodeOffsets", 1)) { + return false; + } + + if (!args.get(0).isObject()) { + JS_ReportErrorASCII(cx, "argument is not an object"); + return false; + } + + SharedMem<uint8_t*> bytes; + size_t byteLength; + + JSObject* bufferObject = &args[0].toObject(); + JSObject* unwrappedBufferObject = CheckedUnwrapStatic(bufferObject); + if (!unwrappedBufferObject || + !IsBufferSource(unwrappedBufferObject, &bytes, &byteLength)) { + JS_ReportErrorNumberUTF8(cx, GetErrorMessage, nullptr, + JSMSG_WASM_BAD_BUF_ARG); + return false; + } + + wasm::Uint32Vector offsets; + wasm::CodeOffsets(bytes.unwrap(), byteLength, &offsets); + + RootedObject jsOffsets(cx, JS::NewArrayObject(cx, offsets.length())); + if (!jsOffsets) { + return false; + } + for (size_t i = 0; i < offsets.length(); i++) { + uint32_t offset = offsets[i]; + RootedValue offsetVal(cx, NumberValue(offset)); + if (!JS_SetElement(cx, jsOffsets, i, offsetVal)) { + return false; + } + } + args.rval().setObject(*jsOffsets); + return true; +} + #ifndef __AFL_HAVE_MANUAL_CONTROL # define __AFL_LOOP(x) true #endif @@ -9225,6 +9310,15 @@ JS_FN_HELP("parseBin", BinParse, 1, 0, " wasm::Module into bytes, and deserialize those bytes in the current\n" " process, returning the resulting WebAssembly.Module."), + JS_FN_HELP("wasmTextToBinary", WasmTextToBinary, 1, 0, +"wasmTextToBinary(str)", +" Translates the given text wasm module into its binary encoding."), + + JS_FN_HELP("wasmCodeOffsets", WasmCodeOffsets, 1, 0, +"wasmCodeOffsets(binary)", +" Decodes the given wasm binary to find the offsets of every instruction in the" +" code section."), + JS_FN_HELP("transplantableObject", TransplantableObject, 0, 0, "transplantableObject([options])", " Returns the pair {object, transplant}. |object| is an object which can be\n" diff --git a/js/src/shell/moz.build b/js/src/shell/moz.build index be6cea093c8bb..7940924876749 100644 --- a/js/src/shell/moz.build +++ b/js/src/shell/moz.build @@ -19,7 +19,8 @@ UNIFIED_SOURCES += [ 'js.cpp', 'jsoptparse.cpp', 'jsshell.cpp', - 'OSObject.cpp' + 'OSObject.cpp', + 'WasmTesting.cpp' ] if CONFIG['FUZZING_INTERFACES']: diff --git a/js/src/wasm/moz.build b/js/src/wasm/moz.build index 9cba04c1aa6cb..66cd41a2a262b 100644 --- a/js/src/wasm/moz.build +++ b/js/src/wasm/moz.build @@ -40,7 +40,6 @@ UNIFIED_SOURCES += [ 'WasmSignalHandlers.cpp', 'WasmStubs.cpp', 'WasmTable.cpp', - 'WasmTesting.cpp', 'WasmTypes.cpp', 'WasmValidate.cpp' ] diff --git a/js/src/wasm/rust/Cargo.toml b/js/src/wasm/rust/Cargo.toml deleted file mode 100644 index 83293dfb85088..0000000000000 --- a/js/src/wasm/rust/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "wasm-rust" -version = "0.1.0" -authors = ["The Spidermonkey developers"] -edition = "2018" - -[lib] -crate-type = ["rlib"] -name = "wasm_rust" - -[dependencies] -wat = { version = "1.0.14" } -wasmparser = { version = "0.48.2" } diff --git a/third_party/rust/nom/.cargo-checksum.json b/third_party/rust/nom/.cargo-checksum.json index b236aa3bb55cd..262350f0269c1 100644 --- a/third_party/rust/nom/.cargo-checksum.json +++ b/third_party/rust/nom/.cargo-checksum.json @@ -1 +1 @@ -{"files":{".travis.yml":"124c5613de02fe2088a7410a7057b0e0ed49dcbc8509704b690de98e83b289e0","CHANGELOG.md":"f4015ae48bb8f7c672c4fdf1ca4bdde5910f1b423ddc12e9fe80395911759d3e","Cargo.lock":"d7985e783bf7275009ab524f13aac37adc7291838a1956e1f092413ff3b8ea04","Cargo.toml":"72afa6607971579c7009dff34b6b334d4893b1a9f1983cd80364c5e318e4ec2b","LICENSE":"4dbda04344456f09a7a588140455413a9ac59b6b26a1ef7cdf9c800c012d87f0","build.rs":"fd66799ca3bd6a83b10f18a62e6ffc3b1ac94074fe65de4e4c1c447bf71d6ebb","src/bits/complete.rs":"8a60ae4cd6aaf32cb232b598b1a3dda7858c619944ba12ebdb01a31c75243293","src/bits/macros.rs":"8d9ba23f237b4fc01e3b2106002d0f6d59930a42f34d80662c61e0057dfb4a5b","src/bits/mod.rs":"4ca0148b4ef2de4e88796da7831eaa5c4fcbc5515a101eae1b0bc4853c80b5e7","src/bits/streaming.rs":"7c587808476edee57caeccca7dccd744bdfdbb13ae1156400fb4961980fa325d","src/branch/macros.rs":"8b885185725c16369d90954fed8450070bcd4bf8ae7de1df1bb46bb378450d71","src/branch/mod.rs":"d0c871ad7b74428ddccef445a10254249c3907528005a00275e8eb6516255f2f","src/bytes/complete.rs":"107f776885161e48a596962925d2b1628f20fd4bbe5b3777bb34ec175b97e280","src/bytes/macros.rs":"914a821761bbf49f04425068b7426bdd60394e8cc30e7c2193160b16e06c266f","src/bytes/mod.rs":"577231e6e6bd51726a877a73292d8f1c626f6b32ebe4a57943acaed8a8a2975d","src/bytes/streaming.rs":"4b2e577e6057fda932d1edc2ebe53c5df71a21417a304b35d5230dd7221411f3","src/character/complete.rs":"bb80656f3405eca79ba93c674cae7cd296733d784928e5c45754ee27963b7325","src/character/macros.rs":"f330ab60d469802b1664dcbbccd4bfe3e1ca87b348e92609ef34e25b4d475983","src/character/mod.rs":"9f520d535a88849726eac8648aa5c8b86193ab2f3a984d63c8371b846cc0b72c","src/character/streaming.rs":"9be7051951e8d0a54e294542baaf115aeb6efb818521f045386cd3a1777ca6a0","src/combinator/macros.rs":"df9ba1157bda21313a9c23826baeefd99f54e92c47d60c8dbb25697fe4d52686","src/combinator/mod.rs":"d1b2073683be1c9c4a06d1d3764ac789027ad7401ec726805d1505c1ad8ab1fd","src/error.rs":"ef7feb06b9689aa2f4b11a367b6f7058df8fd151b673c7482edd6600e55e38da","src/internal.rs":"c4029b0e32d41eb6407e517f3102a41a3a80a6a69df4767008ac5656b28d7ab0","src/lib.rs":"f01cdc23cc17201f978796d2d80fb6bba5a9b81ffb4653286e1e53f904079911","src/methods.rs":"56099c30123e92f9f6bacb16017f29fcdbc6546afbf0f80cf4951d2d8093ba83","src/multi/macros.rs":"01d15ae913921bd1ed0ff579a868ea39a314a866e6b5a365ef6b448a75f9b3a8","src/multi/mod.rs":"342c30e0c601558c867df215f7094bc9e43534a7793f2e8b19c114fe07cfea41","src/number/complete.rs":"560dfb2ffbbfe7fe276389b60eec2d717fec20eab68cc72d10d87ff6e2195352","src/number/macros.rs":"e614ee142658c126902a466f29ef250a77016fa126b8dfd59db0c6657a0ef205","src/number/mod.rs":"e432c317ee839a2f928cd0e8e583acadb165ed84fb649e681688a0fcd84b0a75","src/number/streaming.rs":"4c6fbce64e0d535f69d2c928314e1d0a019480db5a09e4f47a654a2e8fd56e8c","src/regexp.rs":"ac6fc61c2e7b629e6786638b44d63d15139c50f9d6a38acd044e4c2b3a699e08","src/sequence/macros.rs":"0e72871cdb2f1bf804f7f637def117c8e531f78cc7da5a6a0e343f0dbfb04271","src/sequence/mod.rs":"ec34b969462703252c4f00c27a03928c9580da612c71b7100e0902190a633ab9","src/str.rs":"fcae4d6f2f7bc921cafe3d0ce682d0566618cbe5f3b3e4b51ca34d11cb0e3e93","src/traits.rs":"2a84c3aa40f1cf78e0149e344da8b85486f7b6c0ddff8f23689bccce0def2260","src/util.rs":"bcedca3c88ac24f11f73e836efd8fe00014562163cc3d43d0cec9d726a4687c3","src/whitespace.rs":"53bddd9d559dc7793effcb828f9c196a7f098338edb0877940d1246834761308","tests/arithmetic.rs":"c57bc547110e498e7bddc973a94202f22356bc525fed55dac4f03daf16eb54f7","tests/arithmetic_ast.rs":"8fbc4c5d8850fa1cf0a16f97e8718d5427b2657f12ca4a0b3b6c1b47fd9e67d4","tests/blockbuf-arithmetic.rs":"099fdf75da97ae032006d8c82ea2207265c5161a08d1370e1ddddb01e73afaf4","tests/css.rs":"b13466eb6a0831f98ede83ffdd752ba821f7d03db724fd92b5bfbc0b9f804a65","tests/custom_errors.rs":"3d2511f8a8d0eb20d9efc19f29ae4ab34389bdd33214a421989d0c47b540b7fd","tests/escaped.rs":"03ecb10828472e4de2ace05a12cb49997b47a113b6a3b0eea3d56bc2bafd8446","tests/float.rs":"92947cc112a6b865f5e19d80edbf300ddc0d0ca4b4e4543eda15337b5c60eedf","tests/inference.rs":"fe476d1367fce9f0baf82295dc037c79321ededf12b9bcc0c5acdc7cefff4720","tests/ini.rs":"04ebf3ead0008974b3bedc387e889bab5942efd0c9c8563fe47e056a9b90bbab","tests/ini_str.rs":"2831a4ee26b37734dba8862cc2972a3a1433abf4fcab253b6cf4fb43f120301d","tests/issues.rs":"142c8d206089b04cf2fd0cbd90f87421ded435ce300516c029294b056354e00f","tests/json.rs":"25476ec2daca19295f5f99b621eecc859a5db5789ac35be381eaf8703a70bce8","tests/mp4.rs":"d0e61bfc93ff40676ca7e9d7813a5ad7c73b1db874599d8f3ea784115bfcab87","tests/multiline.rs":"6a5321cb53c7f88778fa100499533abfa602bada7a6b1d0fbba7ef77b9c110f5","tests/named_args.rs":"bd8095c3abc6fb806c9181c6025c0111d1e7f3b7269ea89ae122bf3bb8ed7e7d","tests/overflow.rs":"d1d6d8ce9b34ed47b42a5f7250ce711805a397691dc6cad3cc8945ec230da161","tests/reborrow_fold.rs":"9328deafc2143c2a2d1a0be86e2448b644cffcb5f0935c8b24eb469f1f9477c0","tests/test1.rs":"06fc9e52638f16bfc3ef69cd26b927e0cf55706d6f132ab7c0f1072208475853"},"package":"0b471253da97532da4b61552249c521e01e736071f71c1a4f7ebbfbf0a06aad6"} \ No newline at end of file +{"files":{"CHANGELOG.md":"f4015ae48bb8f7c672c4fdf1ca4bdde5910f1b423ddc12e9fe80395911759d3e","Cargo.lock":"d7985e783bf7275009ab524f13aac37adc7291838a1956e1f092413ff3b8ea04","Cargo.toml":"72afa6607971579c7009dff34b6b334d4893b1a9f1983cd80364c5e318e4ec2b","LICENSE":"4dbda04344456f09a7a588140455413a9ac59b6b26a1ef7cdf9c800c012d87f0","build.rs":"fd66799ca3bd6a83b10f18a62e6ffc3b1ac94074fe65de4e4c1c447bf71d6ebb","src/bits/complete.rs":"8a60ae4cd6aaf32cb232b598b1a3dda7858c619944ba12ebdb01a31c75243293","src/bits/macros.rs":"8d9ba23f237b4fc01e3b2106002d0f6d59930a42f34d80662c61e0057dfb4a5b","src/bits/mod.rs":"4ca0148b4ef2de4e88796da7831eaa5c4fcbc5515a101eae1b0bc4853c80b5e7","src/bits/streaming.rs":"7c587808476edee57caeccca7dccd744bdfdbb13ae1156400fb4961980fa325d","src/branch/macros.rs":"8b885185725c16369d90954fed8450070bcd4bf8ae7de1df1bb46bb378450d71","src/branch/mod.rs":"d0c871ad7b74428ddccef445a10254249c3907528005a00275e8eb6516255f2f","src/bytes/complete.rs":"107f776885161e48a596962925d2b1628f20fd4bbe5b3777bb34ec175b97e280","src/bytes/macros.rs":"914a821761bbf49f04425068b7426bdd60394e8cc30e7c2193160b16e06c266f","src/bytes/mod.rs":"577231e6e6bd51726a877a73292d8f1c626f6b32ebe4a57943acaed8a8a2975d","src/bytes/streaming.rs":"4b2e577e6057fda932d1edc2ebe53c5df71a21417a304b35d5230dd7221411f3","src/character/complete.rs":"bb80656f3405eca79ba93c674cae7cd296733d784928e5c45754ee27963b7325","src/character/macros.rs":"f330ab60d469802b1664dcbbccd4bfe3e1ca87b348e92609ef34e25b4d475983","src/character/mod.rs":"9f520d535a88849726eac8648aa5c8b86193ab2f3a984d63c8371b846cc0b72c","src/character/streaming.rs":"9be7051951e8d0a54e294542baaf115aeb6efb818521f045386cd3a1777ca6a0","src/combinator/macros.rs":"df9ba1157bda21313a9c23826baeefd99f54e92c47d60c8dbb25697fe4d52686","src/combinator/mod.rs":"d1b2073683be1c9c4a06d1d3764ac789027ad7401ec726805d1505c1ad8ab1fd","src/error.rs":"ef7feb06b9689aa2f4b11a367b6f7058df8fd151b673c7482edd6600e55e38da","src/internal.rs":"c4029b0e32d41eb6407e517f3102a41a3a80a6a69df4767008ac5656b28d7ab0","src/lib.rs":"f01cdc23cc17201f978796d2d80fb6bba5a9b81ffb4653286e1e53f904079911","src/methods.rs":"56099c30123e92f9f6bacb16017f29fcdbc6546afbf0f80cf4951d2d8093ba83","src/multi/macros.rs":"01d15ae913921bd1ed0ff579a868ea39a314a866e6b5a365ef6b448a75f9b3a8","src/multi/mod.rs":"342c30e0c601558c867df215f7094bc9e43534a7793f2e8b19c114fe07cfea41","src/number/complete.rs":"560dfb2ffbbfe7fe276389b60eec2d717fec20eab68cc72d10d87ff6e2195352","src/number/macros.rs":"e614ee142658c126902a466f29ef250a77016fa126b8dfd59db0c6657a0ef205","src/number/mod.rs":"e432c317ee839a2f928cd0e8e583acadb165ed84fb649e681688a0fcd84b0a75","src/number/streaming.rs":"4c6fbce64e0d535f69d2c928314e1d0a019480db5a09e4f47a654a2e8fd56e8c","src/regexp.rs":"ac6fc61c2e7b629e6786638b44d63d15139c50f9d6a38acd044e4c2b3a699e08","src/sequence/macros.rs":"0e72871cdb2f1bf804f7f637def117c8e531f78cc7da5a6a0e343f0dbfb04271","src/sequence/mod.rs":"ec34b969462703252c4f00c27a03928c9580da612c71b7100e0902190a633ab9","src/str.rs":"fcae4d6f2f7bc921cafe3d0ce682d0566618cbe5f3b3e4b51ca34d11cb0e3e93","src/traits.rs":"2a84c3aa40f1cf78e0149e344da8b85486f7b6c0ddff8f23689bccce0def2260","src/util.rs":"bcedca3c88ac24f11f73e836efd8fe00014562163cc3d43d0cec9d726a4687c3","src/whitespace.rs":"53bddd9d559dc7793effcb828f9c196a7f098338edb0877940d1246834761308","tests/arithmetic.rs":"c57bc547110e498e7bddc973a94202f22356bc525fed55dac4f03daf16eb54f7","tests/arithmetic_ast.rs":"8fbc4c5d8850fa1cf0a16f97e8718d5427b2657f12ca4a0b3b6c1b47fd9e67d4","tests/blockbuf-arithmetic.rs":"099fdf75da97ae032006d8c82ea2207265c5161a08d1370e1ddddb01e73afaf4","tests/css.rs":"b13466eb6a0831f98ede83ffdd752ba821f7d03db724fd92b5bfbc0b9f804a65","tests/custom_errors.rs":"3d2511f8a8d0eb20d9efc19f29ae4ab34389bdd33214a421989d0c47b540b7fd","tests/escaped.rs":"03ecb10828472e4de2ace05a12cb49997b47a113b6a3b0eea3d56bc2bafd8446","tests/float.rs":"92947cc112a6b865f5e19d80edbf300ddc0d0ca4b4e4543eda15337b5c60eedf","tests/inference.rs":"fe476d1367fce9f0baf82295dc037c79321ededf12b9bcc0c5acdc7cefff4720","tests/ini.rs":"04ebf3ead0008974b3bedc387e889bab5942efd0c9c8563fe47e056a9b90bbab","tests/ini_str.rs":"2831a4ee26b37734dba8862cc2972a3a1433abf4fcab253b6cf4fb43f120301d","tests/issues.rs":"142c8d206089b04cf2fd0cbd90f87421ded435ce300516c029294b056354e00f","tests/json.rs":"25476ec2daca19295f5f99b621eecc859a5db5789ac35be381eaf8703a70bce8","tests/mp4.rs":"d0e61bfc93ff40676ca7e9d7813a5ad7c73b1db874599d8f3ea784115bfcab87","tests/multiline.rs":"6a5321cb53c7f88778fa100499533abfa602bada7a6b1d0fbba7ef77b9c110f5","tests/named_args.rs":"bd8095c3abc6fb806c9181c6025c0111d1e7f3b7269ea89ae122bf3bb8ed7e7d","tests/overflow.rs":"d1d6d8ce9b34ed47b42a5f7250ce711805a397691dc6cad3cc8945ec230da161","tests/reborrow_fold.rs":"9328deafc2143c2a2d1a0be86e2448b644cffcb5f0935c8b24eb469f1f9477c0","tests/test1.rs":"06fc9e52638f16bfc3ef69cd26b927e0cf55706d6f132ab7c0f1072208475853"},"package":"0b471253da97532da4b61552249c521e01e736071f71c1a4f7ebbfbf0a06aad6"} \ No newline at end of file diff --git a/third_party/rust/nom/.travis.yml b/third_party/rust/nom/.travis.yml deleted file mode 100644 index e18b14079ddde..0000000000000 --- a/third_party/rust/nom/.travis.yml +++ /dev/null @@ -1,101 +0,0 @@ -language: rust -# sudo is required to enable kcov to use the personality syscall -sudo: required -dist: trusty -cache: cargo - -rust: - - nightly - - beta - - stable - - 1.31.0 - -env: - matrix: - - FEATURES='--features "regexp regexp_macros"' - -before_script: - - eval git pull --rebase https://github.com/Geal/nom master - - eval git log --pretty=oneline HEAD~5..HEAD - -matrix: - include: - - rust: nightly - env: FEATURES='--no-default-features' - - rust: nightly - env: FEATURES='--no-default-features --features "alloc"' - - rust: stable - env: FEATURES='' - - rust: nightly - env: DOC_FEATURES='--features "std lexical regexp regexp_macros" --no-default-features' - before_script: - - export PATH=$HOME/.cargo/bin:$PATH - script: - - eval cargo doc --verbose $DOC_FEATURES - - rust: nightly - env: FEATURES='' - before_script: - - export PATH=$HOME/.cargo/bin:$PATH - - cargo install cargo-update || echo "cargo-update already installed" - - cargo install cargo-travis || echo "cargo-travis already installed" - - cargo install-update -a - - mkdir -p target/kcov-master - script: - cargo coveralls --verbose --all-features - allow_failures: - - rust: stable - env: FEATURES='' - before_script: - - export PATH=$HOME/.cargo/bin:$PATH - - rustup component add rustfmt-preview - script: - - eval cargo fmt -- --write-mode=diff - -notifications: - webhooks: - urls: - - https://webhooks.gitter.im/e/9c035a194ac4fd4cc061 - on_success: change - on_failure: always - on_start: false - - -addons: - apt: - packages: - - libcurl4-openssl-dev - - libelf-dev - - libdw-dev - - binutils-dev - - cmake - sources: - - kalakris-cmake - -cache: - directories: - - /home/travis/.cargo - -before_cache: - - rm -rf /home/travis/.cargo/registry - -script: - - eval cargo build --verbose $FEATURES - - eval cargo test --verbose $FEATURES - -after_success: | - case "$TRAVIS_RUST_VERSION" in - nightly) - if [ "${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}" != "master" ]; then - git fetch && - git checkout master && - cargo bench --verbose - fi - - if [ "$FEATURES" == '--features "regexp regexp_macros"' ]; then - cargo bench --verbose - fi - ;; - - *) - ;; - esac -- GitLab