Skip to content

Commit

Permalink
Merge pull request #20975 from JuliaLang/tb/align_asgn
Browse files Browse the repository at this point in the history
Use proper alignment when copying data to a variable.
  • Loading branch information
StefanKarpinski committed Mar 14, 2017
2 parents 64409a0 + 8880d96 commit 1820efa
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/codegen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3850,7 +3850,7 @@ static void emit_assignment(jl_value_t *l, jl_value_t *r, jl_codectx_t *ctx)
builder.CreateMemCpy(vi.value.V,
data_pointer(rval_info, ctx, T_pint8),
copy_bytes,
/*TODO: min_align*/1,
((jl_datatype_t*)rval_info.typ)->layout->alignment,
vi.isVolatile,
tbaa);
}
Expand Down

4 comments on commit 1820efa

@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.

Something went wrong when running your job:

NanosoldierError: failed to run benchmarks against primary commit: failed process: Process(`sudo cset shield -e su nanosoldier -- -c ./benchscript.sh`, ProcessExited(1)) [1]

Logs and partial data can be found here
cc @jrevels

@pabloferz
Copy link
Contributor

Choose a reason for hiding this comment

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

This failure is the same I'm seeing over #21028

@jrevels
Copy link
Member

Choose a reason for hiding this comment

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

Here's the stacktrace in the logs, which points to here. From the error message, it seems like V isn't getting "bound" to the correct type at runtime, and instead is considered a TypeVar when it's used in the method body. For example, here's how to recreate that error message:

julia> convert(TypeVar(:V), 1)
ERROR: MethodError: First argument to `convert` must be a Type, got V

AFIAK, V in JLD's case should be bound to a value of type Type, not TypeVar. Is this a bug in type inference?

Please sign in to comment.