Merge branch 'master' into remove-colored

This commit is contained in:
Johan Andersson
2019-09-16 22:17:34 +02:00
committed by GitHub
5 changed files with 35 additions and 9 deletions

View File

@ -6,6 +6,7 @@ Blocks of changes will separated by version increments.
## **[Unreleased]** ## **[Unreleased]**
- [#790](https://github.com/wasmerio/wasmer/pull/790) Fix flaky test failure with LLVM, switch to large code model.
- [#788](https://github.com/wasmerio/wasmer/pull/788) Use union merge on the changelog file. - [#788](https://github.com/wasmerio/wasmer/pull/788) Use union merge on the changelog file.
- [#785](https://github.com/wasmerio/wasmer/pull/785) Include Apache license file for spectests. - [#785](https://github.com/wasmerio/wasmer/pull/785) Include Apache license file for spectests.
- [#786](https://github.com/wasmerio/wasmer/pull/786) In the LLVM backend, lower atomic wasm operations to atomic machine instructions. - [#786](https://github.com/wasmerio/wasmer/pull/786) In the LLVM backend, lower atomic wasm operations to atomic machine instructions.

View File

@ -50,6 +50,16 @@ jobs:
- template: .azure/install-llvm.yml - template: .azure/install-llvm.yml
- template: .azure/install-sccache.yml - template: .azure/install-sccache.yml
- template: .azure/install-cmake.yml - template: .azure/install-cmake.yml
- bash: |
hostname
uname -a
displayName: System info (*nix)
condition: and(succeeded(), not(eq(variables['Agent.OS'], 'Windows_NT')))
- bash: |
cat /proc/cpuinfo
cat /proc/meminfo
displayName: System info - Extended (Linux)
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
- bash: make test - bash: make test
displayName: Tests (*nix) displayName: Tests (*nix)
condition: and(succeeded(), not(eq(variables['Agent.OS'], 'Windows_NT'))) condition: and(succeeded(), not(eq(variables['Agent.OS'], 'Windows_NT')))

View File

@ -189,8 +189,8 @@ impl LLVMBackend {
&TargetMachine::get_host_cpu_name().to_string(), &TargetMachine::get_host_cpu_name().to_string(),
&TargetMachine::get_host_cpu_features().to_string(), &TargetMachine::get_host_cpu_features().to_string(),
OptimizationLevel::Aggressive, OptimizationLevel::Aggressive,
RelocMode::PIC, RelocMode::Static,
CodeModel::Default, CodeModel::Large,
) )
.unwrap(); .unwrap();

View File

@ -353,7 +353,7 @@ impl RunnableModule for X64ExecutionContext {
#[derive(Debug)] #[derive(Debug)]
pub struct CodegenError { pub struct CodegenError {
pub message: &'static str, pub message: String,
} }
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
@ -474,7 +474,7 @@ impl ModuleCodeGenerator<X64FunctionCode, X64ExecutionContext, CodegenError>
Some(x) => x, Some(x) => x,
None => { None => {
return Err(CodegenError { return Err(CodegenError {
message: "label not found", message: format!("label not found"),
}); });
} }
}; };
@ -482,7 +482,7 @@ impl ModuleCodeGenerator<X64FunctionCode, X64ExecutionContext, CodegenError>
Some(x) => x, Some(x) => x,
None => { None => {
return Err(CodegenError { return Err(CodegenError {
message: "offset is none", message: format!("offset is none"),
}); });
} }
}; };
@ -3873,7 +3873,11 @@ impl FunctionCodeGenerator<CodegenError> for X64FunctionCode {
returns: match ty { returns: match ty {
WpTypeOrFuncType::Type(WpType::EmptyBlockType) => smallvec![], WpTypeOrFuncType::Type(WpType::EmptyBlockType) => smallvec![],
WpTypeOrFuncType::Type(inner_ty) => smallvec![inner_ty], WpTypeOrFuncType::Type(inner_ty) => smallvec![inner_ty],
_ => panic!("multi-value returns not yet implemented"), _ => {
return Err(CodegenError {
message: format!("multi-value returns not yet implemented"),
})
}
}, },
value_stack_depth: self.value_stack.len(), value_stack_depth: self.value_stack.len(),
state: self.machine.state.clone(), state: self.machine.state.clone(),
@ -3980,7 +3984,11 @@ impl FunctionCodeGenerator<CodegenError> for X64FunctionCode {
returns: match ty { returns: match ty {
WpTypeOrFuncType::Type(WpType::EmptyBlockType) => smallvec![], WpTypeOrFuncType::Type(WpType::EmptyBlockType) => smallvec![],
WpTypeOrFuncType::Type(inner_ty) => smallvec![inner_ty], WpTypeOrFuncType::Type(inner_ty) => smallvec![inner_ty],
_ => panic!("multi-value returns not yet implemented"), _ => {
return Err(CodegenError {
message: format!("multi-value returns not yet implemented"),
})
}
}, },
value_stack_depth: self.value_stack.len(), value_stack_depth: self.value_stack.len(),
state: self.machine.state.clone(), state: self.machine.state.clone(),
@ -4005,7 +4013,11 @@ impl FunctionCodeGenerator<CodegenError> for X64FunctionCode {
returns: match ty { returns: match ty {
WpTypeOrFuncType::Type(WpType::EmptyBlockType) => smallvec![], WpTypeOrFuncType::Type(WpType::EmptyBlockType) => smallvec![],
WpTypeOrFuncType::Type(inner_ty) => smallvec![inner_ty], WpTypeOrFuncType::Type(inner_ty) => smallvec![inner_ty],
_ => panic!("multi-value returns not yet implemented"), _ => {
return Err(CodegenError {
message: format!("multi-value returns not yet implemented"),
})
}
}, },
value_stack_depth: self.value_stack.len(), value_stack_depth: self.value_stack.len(),
state: self.machine.state.clone(), state: self.machine.state.clone(),
@ -4966,7 +4978,9 @@ impl FunctionCodeGenerator<CodegenError> for X64FunctionCode {
} }
} }
_ => { _ => {
panic!("not yet implemented: {:?}", op); return Err(CodegenError {
message: format!("not yet implemented: {:?}", op),
});
} }
} }

View File

@ -862,6 +862,7 @@ llvm:skip:unreachable.wast:*:windows
llvm:skip:unwind.wast:*:windows llvm:skip:unwind.wast:*:windows
# LLVM Linux after OSR - https://github.com/wasmerio/wasmer/pull/567 # LLVM Linux after OSR - https://github.com/wasmerio/wasmer/pull/567
llvm:skip:simd.wast:352:unix # Module - caught panic Any
llvm:skip:simd.wast:355:unix # Module - caught panic Any llvm:skip:simd.wast:355:unix # Module - caught panic Any
llvm:skip:simd_binaryen.wast:*:unix # Module - caught panic Any llvm:skip:simd_binaryen.wast:*:unix # Module - caught panic Any