summaryrefslogtreecommitdiff
path: root/deps/v8/src/objects.cc
diff options
context:
space:
mode:
authorTrevor Norris <trev.norris@gmail.com>2014-01-23 12:14:40 -0800
committerTrevor Norris <trev.norris@gmail.com>2014-01-23 12:26:51 -0800
commitf78e5df85467343bf91b4811bc1cb6cd47cc7575 (patch)
treef86cdfa54be742059aa5da261e12128883527403 /deps/v8/src/objects.cc
parentc79c304ead2e16082465a61156d9e29b01a7909e (diff)
downloadnode-new-f78e5df85467343bf91b4811bc1cb6cd47cc7575.tar.gz
v8: upgrade to 3.22.24.17
Diffstat (limited to 'deps/v8/src/objects.cc')
-rw-r--r--deps/v8/src/objects.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/deps/v8/src/objects.cc b/deps/v8/src/objects.cc
index 64fb17979d..cf51024c86 100644
--- a/deps/v8/src/objects.cc
+++ b/deps/v8/src/objects.cc
@@ -10332,6 +10332,18 @@ void Code::InvalidateRelocation() {
}
+void Code::InvalidateEmbeddedObjects() {
+ Object* undefined = GetHeap()->undefined_value();
+ int mode_mask = RelocInfo::ModeMask(RelocInfo::EMBEDDED_OBJECT);
+ for (RelocIterator it(this, mode_mask); !it.done(); it.next()) {
+ RelocInfo::Mode mode = it.rinfo()->rmode();
+ if (mode == RelocInfo::EMBEDDED_OBJECT) {
+ it.rinfo()->set_target_object(undefined, SKIP_WRITE_BARRIER);
+ }
+ }
+}
+
+
void Code::Relocate(intptr_t delta) {
for (RelocIterator it(this, RelocInfo::kApplyMask); !it.done(); it.next()) {
it.rinfo()->apply(delta);