Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 11

CpLlmlzaLlon1echnlquesfor

LC!(Lcllpse!avaCompller)
(AnCpenSource!avaCompller)

resenLedLo:-8y:
rof.M.S.8haLL8onak8oy(M120)

WPA1lSECJ?

LcllpseCompllerfor!ava(LC!),anopen
sourcelncremenLalcompllerusedby
LheLcllpsepro[ecL.
AnlncremenLalcompllerlsoneLhaLcan
recomplleonlyLhoseporLlonsofaprogram
LhaLhavebeenmodlfledwhereasCrdlnary
compllersmusLprocessenLlremodulesor
programs.
CpLlmlzaLlon1echnlquesforLC!Compller
ueadCodeLllmlnaLlon
uead code ellmlnaLlon ls a compller opLlmlzaLlon Lo remove
codewhlchdoesnoLaffecLLheprogramresulLs.
lL allows Lhe runnlng program Lo avold execuLlng lrrelevanL
operaLlons.
uead code lncludes code LhaL can never be execuLed
(unreachable code), and code LhaL only affecLs dead
varlables, LhaL ls, varlables LhaL are irrelevant Lo Lhe
program
CpLlmlzaLlon1echnlquesforLC!Compller
LxampleofueadCode:-
import java.io.*;

public class deadcode {


public static void main(String[] args) {
//TODO Auto-generated method stub
int i=10;
lnL[=10,

i=100;

SysLem.out.println("Value of j is" + j);

int k=12;

k=200;

SysLem.out.println("Value of j is" + j);

}


}

CpLlmlzaLlon1echnlquesforLC!Compller
CuLpuLofcomplledunopLlmlzedcode:-
deadcode.class
L???2?2? ? deadcode? ? [ava/lang/Cb[ecL ? <lnlL> ? ()v ? Code
? ? ? ? ? Llnenumber1able ? Localvarlable1able ? Lhls ?
Ldeadcode, ? maln ? ([L[ava/lang/SLrlng,)v ? ?
? ? [ava/lang/SysLem? ? ? ouL ? L[ava/lo/rlnLSLream,
? ? [ava/lang/SLrlng8ullder ? ?
valueof[ls
? ? ? ? ? (L[ava/lang/SLrlng,)v
? ? ? ? ? append ? (l)L[ava/lang/SLrlng8ullder,
? ?"?#?$ ? LoSLrlng ? ()L[ava/lang/SLrlng,
?&?(?' ? [ava/lo/rlnLSLream?)? ?prlnLln ?+ ? valueof[ls+
[ ? args ? [L[ava/lang/SLrlng, ? [ ? l ?
Sourcellle ?
deadcode.[ava?!? ? ????? ? ? ? ? ????/? ? ??? *? ??? ?
??? ? ??? ?
???? ??? ??
??? ? ? ? ????b? ? ???"
<? ? ? ? ? ?!?? *???? ?
??? ? ???? ? ? ?
?!??
??? ? ???"?,?-??? ? ?.?/? ? ?0??? ?1

CpLlmlzaLlon1echnlquesforLC!Compller
CuLpuLofcomplledunopLlmlzed
code(conLd).
Using JAD to view output of class files generated :-
JAD-AprogramLhaLreadsoneormore!avaclassfllesandconverLsLhem
lnLo!avasourceflles..lnshorLitsaJava Decompiler.

CpLlmlzaLlon1echnlquesforLC!Compller
unopLlmlzedcode:-
//uecomplledby!adv1.3.8g.CopyrlghL2001avelkouzneLsov.
//!adhomepage:hLLp://www.kpdus.com/[ad.hLml
//uecomplleropLlons:packlmporLs(3)
//Sourcelllename:deadcode.[ava

lmporL[ava.lo.rlnLSLream,

publlcclassdeadcode
[

publlcdeadcode()
[
}

publlcsLaLlcvoldmaln(SLrlngargs[])
[
int i = 10;
lnL[=10,
i = 100;
SysLem.ouL.prlnLln((newSLrlng8ullder("valueof[ls")).append([).LoSLrlng()),
int k = 12;
k = 200;
SysLem.ouL.prlnLln((newSLrlng8ullder("valueof[ls")).append([).LoSLrlng()),
}
}

CpLlmlzaLlon1echnlquesforLC!Compller
ConflgurlngLcllpseforueadCode
LllmlnaLlon
CpLlmlzaLlon1echnlquesforLC!Compller

CpLlmlzedClassflle:-
dead_opL.class
L???2?2? ? code? ?
[ava/lang/Cb[ecL ? <lnlL> ? ()v ? Code
? ? ? ? ? Llnenumber1able ? Localvarlable1able ? Lhls ?
Ldeadcode, ? maln ? ([L[ava/lang/SLrlng,)v ? ?
? ? [ava/lang/SysLem? ? ? ouL ? L[ava/lo/rlnLSLream,
? ? [ava/lang/SLrlng8ullder ? ?
valueof[ls
[ ? args ? [L[ava/lang/SLrlng, ? [ ? l ?
Sourcellle ?
deadcode.[ava?!? ? ????? ? ? ? ? ????/? ? ??? *? ??? ?
??? ? ??? ?
???? ??? ??
??? ? ? ? ????b? ? ???"
<? ? ? ? ? ?!?? *???? ?
??? ? ???? ? ? ?
?!??
??? ? ???"?,?-??? ? ?.?/? ? ?0??? ?1

CpLlmlzaLlon1echnlquesforLC!Compller
Optimized Code : -
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: deadcode.java

import java.io.PrintStream;

public class deadcode
{

public deadcode()
{
}

public static void main(String args[])
{
int j = 10;
System.out.println((new StringBuilder("Value of j is")).append(j).toString());
System.out.println((new StringBuilder("Value of j is")).append(j).toString());
}
}

CpLlmlzaLlon1echnlquesforLC!Compller

You might also like