Index: src/ia32/assembler-ia32-inl.h |
diff --git a/src/ia32/assembler-ia32-inl.h b/src/ia32/assembler-ia32-inl.h |
index a9247f46fdecef64a9c18a74282118d1a24e08f6..7f7e349f2e8defc345f37d51e474ae77945891a4 100644 |
--- a/src/ia32/assembler-ia32-inl.h |
+++ b/src/ia32/assembler-ia32-inl.h |
@@ -30,7 +30,7 @@ |
// The original source code covered by the above license above has been |
// modified significantly by Google Inc. |
-// Copyright 2006-2008 the V8 project authors. All rights reserved. |
+// Copyright 2011 the V8 project authors. All rights reserved. |
// A light-weight IA32 Assembler. |
@@ -311,8 +311,12 @@ void Assembler::emit(Handle<Object> handle) { |
} |
-void Assembler::emit(uint32_t x, RelocInfo::Mode rmode) { |
- if (rmode != RelocInfo::NONE) RecordRelocInfo(rmode); |
+void Assembler::emit(uint32_t x, RelocInfo::Mode rmode, unsigned id) { |
+ if (rmode == RelocInfo::CODE_TARGET && id != kNoASTId) { |
+ RecordRelocInfo(RelocInfo::CODE_TARGET_WITH_ID, static_cast<intptr_t>(id)); |
+ } else if (rmode != RelocInfo::NONE) { |
+ RecordRelocInfo(rmode); |
+ } |
emit(x); |
} |