mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-28 18:21:34 +01:00
- disabled gentreejmp for now, it expects that the case labels are
ordered as a perfectly balanced tree, while they are often a linked
list -> generates extremely bad code
This commit is contained in:
parent
563e8d205f
commit
7081853478
@ -1056,9 +1056,14 @@ implementation
|
|||||||
genjumptable(nodes,min_label,max_label)
|
genjumptable(nodes,min_label,max_label)
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
{
|
||||||
|
This one expects that the case labels are a
|
||||||
|
perfectly balanced tree, which is not the case
|
||||||
|
very often -> generates really bad code (JM)
|
||||||
if labels>16 then
|
if labels>16 then
|
||||||
gentreejmp(nodes)
|
gentreejmp(nodes)
|
||||||
else
|
else
|
||||||
|
}
|
||||||
genlinearlist(nodes);
|
genlinearlist(nodes);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -1122,7 +1127,12 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.41 2003-06-07 18:57:04 jonas
|
Revision 1.42 2003-06-08 16:03:22 jonas
|
||||||
|
- disabled gentreejmp for now, it expects that the case labels are
|
||||||
|
ordered as a perfectly balanced tree, while they are often a linked
|
||||||
|
list -> generates extremely bad code
|
||||||
|
|
||||||
|
Revision 1.41 2003/06/07 18:57:04 jonas
|
||||||
+ added freeintparaloc
|
+ added freeintparaloc
|
||||||
* ppc get/freeintparaloc now check whether the parameter regs are
|
* ppc get/freeintparaloc now check whether the parameter regs are
|
||||||
properly allocated/deallocated (and get an extra list para)
|
properly allocated/deallocated (and get an extra list para)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user