~ubuntu-branches/ubuntu/trusty/erlang/trusty

« back to all changes in this revision

Viewing changes to lib/hipe/icode/hipe_icode.erl

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum
  • Date: 2011-05-05 15:48:43 UTC
  • mfrom: (3.5.13 sid)
  • Revision ID: james.westby@ubuntu.com-20110505154843-0om6ekzg6m7ugj27
Tags: 1:14.b.2-dfsg-3ubuntu1
* Merge from debian unstable.  Remaining changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to.
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
  - debian/patches/series: Do what I meant, and enable build-options.patch
    instead.
* Additional changes:
  - Drop erlang-wx from -et
* Dropped Changes:
  - patches/pcre-crash.patch: CVE-2008-2371: outer level option with
    alternatives caused crash. (Applied Upstream)
  - fix for ssl certificate verification in newSSL: 
    ssl_cacertfile_fix.patch (Applied Upstream)
  - debian/patches/series: Enable native.patch again, to get stripped beam
    files and reduce the package size again. (build-options is what
    actually accomplished this)
  - Remove build-options.patch on advice from upstream and because it caused
    odd build failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
%% -*- erlang-indent-level: 2 -*-
2
2
%%
3
3
%% %CopyrightBegin%
4
 
%% 
5
 
%% Copyright Ericsson AB 2001-2009. All Rights Reserved.
6
 
%% 
 
4
%%
 
5
%% Copyright Ericsson AB 2001-2010. All Rights Reserved.
 
6
%%
7
7
%% The contents of this file are subject to the Erlang Public License,
8
8
%% Version 1.1, (the "License"); you may not use this file except in
9
9
%% compliance with the License. You should have received a copy of the
10
10
%% Erlang Public License along with this software. If not, it can be
11
11
%% retrieved online at http://www.erlang.org/.
12
 
%% 
 
12
%%
13
13
%% Software distributed under the License is distributed on an "AS IS"
14
14
%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
15
15
%% the License for the specific language governing rights and limitations
16
16
%% under the License.
17
 
%% 
 
17
%%
18
18
%% %CopyrightEnd%
19
19
%%
20
20
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1578
1578
          _ -> Jmp
1579
1579
        end
1580
1580
    end,
1581
 
  simplify_branch(NewI).
1582
 
 
1583
 
%%
1584
 
%% @doc Turns a branch into a goto if it has only one successor and it
1585
 
%%      is safe to do so.
1586
 
%%
1587
 
 
1588
 
-spec simplify_branch(icode_instr()) -> icode_instr().
1589
 
 
1590
 
simplify_branch(I) ->
1591
 
  case ordsets:from_list(successors(I)) of
 
1581
  %% Turn a branch into a goto if it has only one successor and it is
 
1582
  %% safe to do so.
 
1583
  case ordsets:from_list(successors(NewI)) of
1592
1584
    [Label] ->
1593
1585
      Goto = mk_goto(Label),
1594
 
      case I of
1595
 
        #icode_type{} -> Goto;
 
1586
      case NewI of
1596
1587
        #icode_if{} -> Goto;
1597
1588
        #icode_switch_tuple_arity{} -> Goto;
1598
1589
        #icode_switch_val{} -> Goto;
1599
 
        _ -> I
 
1590
        #icode_type{} -> Goto;
 
1591
        _ -> NewI
1600
1592
      end;
1601
 
    _ -> I
 
1593
    _ -> NewI
1602
1594
  end.
1603
1595
 
1604
1596
%%