Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: src/objects-debug.cc

Issue 1549793003: [proxies] Improve JSProxyVerify and test most proxy invariants. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: addressing nits Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/objects.h" 5 #include "src/objects.h"
6 6
7 #include "src/bootstrapper.h" 7 #include "src/bootstrapper.h"
8 #include "src/disasm.h" 8 #include "src/disasm.h"
9 #include "src/disassembler.h" 9 #include "src/disassembler.h"
10 #include "src/macro-assembler.h" 10 #include "src/macro-assembler.h"
(...skipping 800 matching lines...) Expand 10 before | Expand all | Expand 10 after
811 default: 811 default:
812 CHECK_EQ(JSRegExp::NOT_COMPILED, TypeTag()); 812 CHECK_EQ(JSRegExp::NOT_COMPILED, TypeTag());
813 CHECK(data()->IsUndefined()); 813 CHECK(data()->IsUndefined());
814 break; 814 break;
815 } 815 }
816 } 816 }
817 817
818 818
819 void JSProxy::JSProxyVerify() { 819 void JSProxy::JSProxyVerify() {
820 CHECK(IsJSProxy()); 820 CHECK(IsJSProxy());
821 VerifyPointer(target());
821 VerifyPointer(handler()); 822 VerifyPointer(handler());
823 CHECK_EQ(target()->IsCallable(), map()->is_callable());
824 CHECK_EQ(target()->IsConstructor(), map()->is_constructor());
822 CHECK(hash()->IsSmi() || hash()->IsUndefined()); 825 CHECK(hash()->IsSmi() || hash()->IsUndefined());
826 CHECK(map()->prototype()->IsNull());
827 // There should be no properties on a Proxy.
828 CHECK_EQ(0, map()->NumberOfOwnDescriptors());
823 } 829 }
824 830
825 831
826 void JSArrayBuffer::JSArrayBufferVerify() { 832 void JSArrayBuffer::JSArrayBufferVerify() {
827 CHECK(IsJSArrayBuffer()); 833 CHECK(IsJSArrayBuffer());
828 JSObjectVerify(); 834 JSObjectVerify();
829 VerifyPointer(byte_length()); 835 VerifyPointer(byte_length());
830 CHECK(byte_length()->IsSmi() || byte_length()->IsHeapNumber() 836 CHECK(byte_length()->IsSmi() || byte_length()->IsHeapNumber()
831 || byte_length()->IsUndefined()); 837 || byte_length()->IsUndefined());
832 } 838 }
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after
1310 1316
1311 // Both are done at the same time. 1317 // Both are done at the same time.
1312 CHECK_EQ(new_it.done(), old_it.done()); 1318 CHECK_EQ(new_it.done(), old_it.done());
1313 } 1319 }
1314 1320
1315 1321
1316 #endif // DEBUG 1322 #endif // DEBUG
1317 1323
1318 } // namespace internal 1324 } // namespace internal
1319 } // namespace v8 1325 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698