| Index: src/ia32/assembler-ia32-inl.h
|
| diff --git a/src/ia32/assembler-ia32-inl.h b/src/ia32/assembler-ia32-inl.h
|
| index fbe2f242d6f787c757f87ceddcb6d78bea8139c7..6a8dc9f5f00398d86171c32ec093afb97ff5fbff 100644
|
| --- a/src/ia32/assembler-ia32-inl.h
|
| +++ b/src/ia32/assembler-ia32-inl.h
|
| @@ -330,6 +330,7 @@ Immediate::Immediate(Label* internal_offset) {
|
|
|
|
|
| Immediate::Immediate(Handle<Object> handle) {
|
| + ALLOW_HANDLE_DEREF("using and embedding raw address, heap object check");
|
| // Verify all Objects referred by code are NOT in new space.
|
| Object* obj = *handle;
|
| ASSERT(!HEAP->InNewSpace(obj));
|
| @@ -363,6 +364,7 @@ void Assembler::emit(uint32_t x) {
|
|
|
|
|
| void Assembler::emit(Handle<Object> handle) {
|
| + ALLOW_HANDLE_DEREF("heap object check");
|
| // Verify all Objects referred by code are NOT in new space.
|
| Object* obj = *handle;
|
| ASSERT(!isolate()->heap()->InNewSpace(obj));
|
| @@ -386,6 +388,14 @@ void Assembler::emit(uint32_t x, RelocInfo::Mode rmode, TypeFeedbackId id) {
|
| }
|
|
|
|
|
| +void Assembler::emit(Handle<Code> code,
|
| + RelocInfo::Mode rmode,
|
| + TypeFeedbackId id) {
|
| + ALLOW_HANDLE_DEREF("embedding raw address");
|
| + emit(reinterpret_cast<intptr_t>(code.location()), rmode, id);
|
| +}
|
| +
|
| +
|
| void Assembler::emit(const Immediate& x) {
|
| if (x.rmode_ == RelocInfo::INTERNAL_REFERENCE) {
|
| Label* label = reinterpret_cast<Label*>(x.x_);
|
|
|