harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Chow" <simon.harm...@gmail.com>
Subject [drlvm][jit] Instoptimizer in MemoryValueNumberingPass
Date Mon, 12 May 2008 11:26:28 GMT
Hi all
I am trying to add read barriers mechanism in DRLVM ( just for practice :=)
)
As the first step, I am inserting read barrier inst in HIR,
I define a new modifier set like this:
enum LoadModifier {
    Load_NoReadBarrier       = 0x1 << 27,
    Load_ReadBarrier       = 0x2 << 27,
    Load_Mask         = 0x3 << 27,
    LoadModifier_IsShiftedBy = 27,
    LoadModifier_BitsToEncode = 1,
    LoadModifier_BitsConsumed = 2
};
it will be used in TauLdInd.

My question is about Instoptimizer of MemoryValueNumberingPass, I am not
familiar with it.
First,
What is this pass mainly used for?

Second,
In the caseTauStInd case of the switch in dispatch method:

Modifier mod(Modifier(inst->getAutoCompressModifier()) |
Modifier(Speculative_No) );
setHashToInst(inst, getKey(Operation(Op_TauLdInd, inst->getType(), mod),
addrOp->getId()));

What does it do here? Why is Op_TauLdInd  used in a caseTauStInd case?

Thanks!

-- 
>From : Simon.Chow@Software School of Fudan University

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message