[erlang-questions] hipe binary matching problem with R12B-1?

Kostis Sagonas kostis@REDACTED
Sat Mar 1 10:00:38 CET 2008


Steve Vinoski wrote:
> Just out of curiosity I've been going back through some Wide Finder
> code to see how it fares under R12B-1, given the improvements in
> binaries in this new release. Generally I'm seeing some pretty good
> performance improvements with no code changes. Unfortunately I think
> I'm also seeing a bug.
> 
> Below find the results of compiling and running the example code at
> the bottom of this message. Using "c" to compile gives the right
> answer; using "hipe:c" gives the wrong answer. This is on Redhat Linux
> ES 4, with erlang R12B-1 built with smp, threads, hipe, and kernel
> poll enabled.
> 
> Within the code, on the second instance of function check/2 you'll
> find a commented-out guard. If you uncomment the guard, then the code
> works correctly with both "c" and "hipe:c".

Yes, this is a bug.  We will fix it.  In the meantime, you can bypass it
by compiling in either of the two ways below:

	hipe:c(wrong_result, [no_concurrent_comp]).
	hipe:c(wrong_result, [core]).

Thanks for reporting this.

Kostis



More information about the erlang-questions mailing list