Skip to content

Commit

Permalink
Merge pull request #18907 from JuliaLang/tb/virtual_dtor
Browse files Browse the repository at this point in the history
Add a virtual destructor to the AbiLayout base class.
  • Loading branch information
maleadt authored Oct 14, 2016
2 parents 51e9247 + 30aa331 commit b5fe42d
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/ccall.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,7 @@ static Value *emit_plt(FunctionType *functype, const AttributeSet &attrs,

class AbiLayout {
public:
virtual ~AbiLayout() {}
virtual bool use_sret(jl_datatype_t *ty) = 0;
virtual void needPassByRef(jl_datatype_t *ty, bool *byRef, bool *inReg) = 0;
virtual Type *preferred_llvm_type(jl_datatype_t *ty, bool isret) const = 0;
Expand Down Expand Up @@ -765,7 +766,7 @@ static jl_cgval_t emit_cglobal(jl_value_t **args, size_t nargs, jl_codectx_t *ct
}

#ifdef USE_MCJIT
class FunctionMover : public ValueMaterializer
class FunctionMover final : public ValueMaterializer
{
public:
FunctionMover(llvm::Module *dest,llvm::Module *src) :
Expand Down Expand Up @@ -841,11 +842,11 @@ class FunctionMover : public ValueMaterializer
}

#if JL_LLVM_VERSION >= 30900
virtual Value *materialize(Value *V) override
Value *materialize(Value *V) override
#elif JL_LLVM_VERSION >= 30800
virtual Value *materializeDeclFor(Value *V) override
Value *materializeDeclFor(Value *V) override
#else
virtual Value *materializeValueFor (Value *V) override
Value *materializeValueFor (Value *V) override
#endif
{
Function *F = dyn_cast<Function>(V);
Expand Down

6 comments on commit b5fe42d

@KristofferC
Copy link
Member

Choose a reason for hiding this comment

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

@nanosoldier runbenchmarks(ALL, vs = "@f0d40ecdb4087db7c266f2a014bc8bade30ca296")

@nanosoldier
Copy link
Collaborator

Choose a reason for hiding this comment

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

Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @jrevels

@nanosoldier
Copy link
Collaborator

Choose a reason for hiding this comment

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

Executing the daily benchmark build, I will reply here when finished:

@nanosoldier runbenchmarks(ALL, isdaily = true)

@nanosoldier
Copy link
Collaborator

Choose a reason for hiding this comment

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

Your benchmark job has completed - possible performance regressions were detected. A full report can be found here. cc @jrevels

@Sacha0
Copy link
Member

@Sacha0 Sacha0 commented on b5fe42d Oct 15, 2016

Choose a reason for hiding this comment

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

Several possible regressions (alongside many improvements!) in this nightly as well? Best!

@KristofferC
Copy link
Member

@KristofferC KristofferC commented on b5fe42d Oct 15, 2016

Choose a reason for hiding this comment

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

Assuming that the cat regressions in https://github.com/JuliaCI/BaseBenchmarkReports/blob/d3f95ec4422022cc0a2be304af965860b57168ef/daily_2016_10_14/report.md were spurious then the improvements here indicate back to that they run like normal again since the benchmarks for today are compared to yesterday.

FWIW, I did a full run vs the commit on release 0.5 here b5fe42d#commitcomment-19436679. The sort regression there might be real?

Please sign in to comment.