diff options
author | Micael Karlberg <[email protected]> | 2011-11-07 16:13:30 +0100 |
---|---|---|
committer | Micael Karlberg <[email protected]> | 2011-11-07 16:13:30 +0100 |
commit | 8149b970814848dc404767d5635529c61cf20b24 (patch) | |
tree | b829c0cf811b6f230653b75433d01657017c62c7 /lib/compiler/src/beam_dict.erl | |
parent | 55ae4936f1afabc4475139d7d46d655b61e06b3b (diff) | |
parent | 2c18949bf1edfda523ae15229e94a8400bb1870c (diff) | |
download | otp-8149b970814848dc404767d5635529c61cf20b24.tar.gz otp-8149b970814848dc404767d5635529c61cf20b24.tar.bz2 otp-8149b970814848dc404767d5635529c61cf20b24.zip |
Merge branch 'master' of super:otp into bmk/megaco/r15_integration
Diffstat (limited to 'lib/compiler/src/beam_dict.erl')
-rw-r--r-- | lib/compiler/src/beam_dict.erl | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/compiler/src/beam_dict.erl b/lib/compiler/src/beam_dict.erl index ee76623976..531968b3c8 100644 --- a/lib/compiler/src/beam_dict.erl +++ b/lib/compiler/src/beam_dict.erl @@ -22,7 +22,7 @@ -export([new/0,opcode/2,highest_opcode/1, atom/2,local/4,export/4,import/4, - string/2,lambda/5,literal/2,line/2,fname/2, + string/2,lambda/3,literal/2,line/2,fname/2, atom_table/1,local_table/1,export_table/1,import_table/1, string_table/1,lambda_table/1,literal_table/1, line_table/1]). @@ -133,13 +133,18 @@ string(Str, Dict) when is_list(Str) -> {NextOffset-Offset,Dict} end. -%% Returns the index for a funentry (adding it to the table if necessary). -%% lambda(Lbl, Index, Uniq, NumFree, Dict) -> {Index,Dict'} --spec lambda(label(), non_neg_integer(), integer(), non_neg_integer(), bdict()) -> +%% Returns the index for a fun entry. +%% lambda(Lbl, NumFree, Dict) -> {Index,Dict'} +-spec lambda(label(), non_neg_integer(), bdict()) -> {non_neg_integer(), bdict()}. -lambda(Lbl, Index, OldUniq, NumFree, #asm{lambdas=Lambdas0}=Dict) -> +lambda(Lbl, NumFree, #asm{lambdas=Lambdas0}=Dict) -> OldIndex = length(Lambdas0), + %% Set Index the same as OldIndex. + Index = OldIndex, + %% Initialize OldUniq to 0. It will be set to an unique value + %% based on the MD5 checksum of the BEAM code for the module. + OldUniq = 0, Lambdas = [{Lbl,{OldIndex,Lbl,Index,NumFree,OldUniq}}|Lambdas0], {OldIndex,Dict#asm{lambdas=Lambdas}}. |