diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2010-08-17 08:37:25 -0700 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2010-08-17 08:37:25 -0700 |
commit | 91757fa8400654b69de18e3840c402e369521b68 (patch) | |
tree | 0ee925b614e1efda3821a313f9b77b7152752704 /deps/v8/src/ia32/assembler-ia32-inl.h | |
parent | d4f4380f7ea04ee045fae1661242a5a7f2f1267a (diff) | |
download | node-91757fa8400654b69de18e3840c402e369521b68.tar.gz |
Upgrade V8 to 2.3.8
Diffstat (limited to 'deps/v8/src/ia32/assembler-ia32-inl.h')
-rw-r--r-- | deps/v8/src/ia32/assembler-ia32-inl.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/deps/v8/src/ia32/assembler-ia32-inl.h b/deps/v8/src/ia32/assembler-ia32-inl.h index 7fa151e9e..ecbdfdcff 100644 --- a/deps/v8/src/ia32/assembler-ia32-inl.h +++ b/deps/v8/src/ia32/assembler-ia32-inl.h @@ -183,6 +183,30 @@ void RelocInfo::Visit(ObjectVisitor* visitor) { } +template<typename StaticVisitor> +void RelocInfo::Visit() { + RelocInfo::Mode mode = rmode(); + if (mode == RelocInfo::EMBEDDED_OBJECT) { + StaticVisitor::VisitPointer(target_object_address()); + } else if (RelocInfo::IsCodeTarget(mode)) { + StaticVisitor::VisitCodeTarget(this); + } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { + StaticVisitor::VisitExternalReference(target_reference_address()); +#ifdef ENABLE_DEBUGGER_SUPPORT + } else if (Debug::has_break_points() && + ((RelocInfo::IsJSReturn(mode) && + IsPatchedReturnSequence()) || + (RelocInfo::IsDebugBreakSlot(mode) && + IsPatchedDebugBreakSlotSequence()))) { + StaticVisitor::VisitDebugTarget(this); +#endif + } else if (mode == RelocInfo::RUNTIME_ENTRY) { + StaticVisitor::VisitRuntimeEntry(this); + } +} + + + Immediate::Immediate(int x) { x_ = x; rmode_ = RelocInfo::NONE; |