diff options
author | isaacs <i@izs.me> | 2012-09-18 15:20:38 -0700 |
---|---|---|
committer | Bert Belder <bertbelder@gmail.com> | 2012-09-21 01:52:24 +0200 |
commit | 3411a03dd114d635800cc50749d2351cd734eb2a (patch) | |
tree | 0ba1e52ab2236286894b33400302181ece91b63a /deps/v8/src/interface.cc | |
parent | cc1b09d6b7c3cc6b8729804cbf644634ba5d0815 (diff) | |
download | node-new-3411a03dd114d635800cc50749d2351cd734eb2a.tar.gz |
V8: Upgrade to 3.13.7.1
Diffstat (limited to 'deps/v8/src/interface.cc')
-rw-r--r-- | deps/v8/src/interface.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/deps/v8/src/interface.cc b/deps/v8/src/interface.cc index 86bb9d0bf4..336be82c60 100644 --- a/deps/v8/src/interface.cc +++ b/deps/v8/src/interface.cc @@ -124,8 +124,16 @@ void Interface::Unify(Interface* that, Zone* zone, bool* ok) { *ok = true; if (this == that) return; - if (this->IsValue()) return that->MakeValue(ok); - if (that->IsValue()) return this->MakeValue(ok); + if (this->IsValue()) { + that->MakeValue(ok); + if (*ok && this->IsConst()) that->MakeConst(ok); + return; + } + if (that->IsValue()) { + this->MakeValue(ok); + if (*ok && that->IsConst()) this->MakeConst(ok); + return; + } #ifdef DEBUG if (FLAG_print_interface_details) { @@ -214,6 +222,8 @@ void Interface::Print(int n) { if (IsUnknown()) { PrintF("unknown\n"); + } else if (IsConst()) { + PrintF("const\n"); } else if (IsValue()) { PrintF("value\n"); } else if (IsModule()) { |