From 6e474f8a2eb5379c74e589a41713c9b26aed2904 Mon Sep 17 00:00:00 2001 From: TDYa127 Date: Thu, 17 May 2012 21:23:57 -0700 Subject: Only initialize the shadow frame table. The shadow frame header will be filled before used. Change-Id: Ic7375012c1a65ea67dd9be648671edb9d4a5fb9a --- src/compiler_llvm/method_compiler.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/compiler_llvm/method_compiler.cc') diff --git a/src/compiler_llvm/method_compiler.cc b/src/compiler_llvm/method_compiler.cc index 3a02ee95ee..1acb17d24f 100644 --- a/src/compiler_llvm/method_compiler.cc +++ b/src/compiler_llvm/method_compiler.cc @@ -279,11 +279,14 @@ void MethodCompiler::EmitPrologueAllocShadowFrame() { irb_.SetInsertPoint(basic_block_shadow_frame_); - // Zero-initialization of the shadow frame + // Zero-initialization of the shadow frame table + llvm::Value* shadow_frame_table = irb_.CreateConstGEP2_32(shadow_frame_, 0, 1); + llvm::Type* table_type = shadow_frame_type->getElementType(1); + llvm::ConstantAggregateZero* zero_initializer = - llvm::ConstantAggregateZero::get(shadow_frame_type); + llvm::ConstantAggregateZero::get(table_type); - irb_.CreateStore(zero_initializer, shadow_frame_, kTBAAShadowFrame); + irb_.CreateStore(zero_initializer, shadow_frame_table, kTBAAShadowFrame); // Get method object llvm::Value* method_object_addr = EmitLoadMethodObjectAddr(); -- cgit v1.2.3-59-g8ed1b