diff options
author | Chris Lattner <sabre@nondot.org> | 2001-11-26 18:56:10 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2001-11-26 18:56:10 +0000 |
commit | d23b1d31c0a4d46f3ee78cd5393bea571c29888c (patch) | |
tree | 2ed914aaf3d642bc80863ac8a0b99352db327c7e /lib/Bytecode/Writer/Writer.cpp | |
parent | dda719665ba2ffd2eb1c32a0d2daa3921448db7c (diff) |
Implement internal method support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1374 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bytecode/Writer/Writer.cpp')
-rw-r--r-- | lib/Bytecode/Writer/Writer.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Bytecode/Writer/Writer.cpp b/lib/Bytecode/Writer/Writer.cpp index d0b2eb40b0..c8ce40ba62 100644 --- a/lib/Bytecode/Writer/Writer.cpp +++ b/lib/Bytecode/Writer/Writer.cpp @@ -121,9 +121,10 @@ void BytecodeWriter::outputModuleInfoBlock(const Module *M) { int Slot = Table.getValSlot(GV->getType()); assert(Slot != -1 && "Module global vars is broken!"); - // Fields: bit0 = isConstant, bit1 = hasInitializer, bit2+ = slot# - unsigned oSlot = ((unsigned)Slot << 2) | (GV->hasInitializer() << 1) | - GV->isConstant(); + // Fields: bit0 = isConstant, bit1 = hasInitializer, bit2=InternalLinkage, + // bit3+ = slot# + unsigned oSlot = ((unsigned)Slot << 3) | (GV->hasInternalLinkage() << 2) | + (GV->hasInitializer() << 1) | GV->isConstant(); output_vbr(oSlot, Out); // If we have an initializer, output it now. @@ -150,9 +151,10 @@ void BytecodeWriter::outputModuleInfoBlock(const Module *M) { void BytecodeWriter::processMethod(const Method *M) { BytecodeBlock MethodBlock(BytecodeFormat::Method, Out); - + output_vbr((unsigned)M->hasInternalLinkage(), Out); // Only output the constant pool and other goodies if needed... if (!M->isExternal()) { + // Get slot information about the method... Table.incorporateMethod(M); |