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

Side by Side Diff: src/objects.h

Issue 1304633002: Correctify instanceof and make it optimizable. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: REBASE. Add MIPS/MIPS64 ports. Created 5 years, 3 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 | « src/mips64/macro-assembler-mips64.cc ('k') | src/runtime.js » ('j') | 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 #ifndef V8_OBJECTS_H_ 5 #ifndef V8_OBJECTS_H_
6 #define V8_OBJECTS_H_ 6 #define V8_OBJECTS_H_
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 9
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 6682 matching lines...) Expand 10 before | Expand all | Expand 10 after
6693 // native tests. 6693 // native tests.
6694 // Allows to use byte-width instructions. 6694 // Allows to use byte-width instructions.
6695 static const int kStrictModeBitWithinByte = 6695 static const int kStrictModeBitWithinByte =
6696 (kStrictModeFunction + kCompilerHintsSmiTagSize) % kBitsPerByte; 6696 (kStrictModeFunction + kCompilerHintsSmiTagSize) % kBitsPerByte;
6697 static const int kStrongModeBitWithinByte = 6697 static const int kStrongModeBitWithinByte =
6698 (kStrongModeFunction + kCompilerHintsSmiTagSize) % kBitsPerByte; 6698 (kStrongModeFunction + kCompilerHintsSmiTagSize) % kBitsPerByte;
6699 6699
6700 static const int kNativeBitWithinByte = 6700 static const int kNativeBitWithinByte =
6701 (kNative + kCompilerHintsSmiTagSize) % kBitsPerByte; 6701 (kNative + kCompilerHintsSmiTagSize) % kBitsPerByte;
6702 6702
6703 static const int kBoundBitWithinByte =
6704 (kBoundFunction + kCompilerHintsSmiTagSize) % kBitsPerByte;
6705
6703 #if defined(V8_TARGET_LITTLE_ENDIAN) 6706 #if defined(V8_TARGET_LITTLE_ENDIAN)
6704 static const int kStrictModeByteOffset = kCompilerHintsOffset + 6707 static const int kStrictModeByteOffset = kCompilerHintsOffset +
6705 (kStrictModeFunction + kCompilerHintsSmiTagSize) / kBitsPerByte; 6708 (kStrictModeFunction + kCompilerHintsSmiTagSize) / kBitsPerByte;
6706 static const int kStrongModeByteOffset = 6709 static const int kStrongModeByteOffset =
6707 kCompilerHintsOffset + 6710 kCompilerHintsOffset +
6708 (kStrongModeFunction + kCompilerHintsSmiTagSize) / kBitsPerByte; 6711 (kStrongModeFunction + kCompilerHintsSmiTagSize) / kBitsPerByte;
6709 static const int kNativeByteOffset = kCompilerHintsOffset + 6712 static const int kNativeByteOffset = kCompilerHintsOffset +
6710 (kNative + kCompilerHintsSmiTagSize) / kBitsPerByte; 6713 (kNative + kCompilerHintsSmiTagSize) / kBitsPerByte;
6714 static const int kBoundByteOffset =
6715 kCompilerHintsOffset +
6716 (kBoundFunction + kCompilerHintsSmiTagSize) / kBitsPerByte;
6711 #elif defined(V8_TARGET_BIG_ENDIAN) 6717 #elif defined(V8_TARGET_BIG_ENDIAN)
6712 static const int kStrictModeByteOffset = kCompilerHintsOffset + 6718 static const int kStrictModeByteOffset = kCompilerHintsOffset +
6713 (kCompilerHintsSize - 1) - 6719 (kCompilerHintsSize - 1) -
6714 ((kStrictModeFunction + kCompilerHintsSmiTagSize) / kBitsPerByte); 6720 ((kStrictModeFunction + kCompilerHintsSmiTagSize) / kBitsPerByte);
6715 static const int kStrongModeByteOffset = 6721 static const int kStrongModeByteOffset =
6716 kCompilerHintsOffset + (kCompilerHintsSize - 1) - 6722 kCompilerHintsOffset + (kCompilerHintsSize - 1) -
6717 ((kStrongModeFunction + kCompilerHintsSmiTagSize) / kBitsPerByte); 6723 ((kStrongModeFunction + kCompilerHintsSmiTagSize) / kBitsPerByte);
6718 static const int kNativeByteOffset = kCompilerHintsOffset + 6724 static const int kNativeByteOffset = kCompilerHintsOffset +
6719 (kCompilerHintsSize - 1) - 6725 (kCompilerHintsSize - 1) -
6720 ((kNative + kCompilerHintsSmiTagSize) / kBitsPerByte); 6726 ((kNative + kCompilerHintsSmiTagSize) / kBitsPerByte);
6727 static const int kBoundByteOffset =
6728 kCompilerHintsOffset + (kCompilerHintsSize - 1) -
6729 ((kBoundFunction + kCompilerHintsSmiTagSize) / kBitsPerByte);
6721 #else 6730 #else
6722 #error Unknown byte ordering 6731 #error Unknown byte ordering
6723 #endif 6732 #endif
6724 6733
6725 private: 6734 private:
6726 DISALLOW_IMPLICIT_CONSTRUCTORS(SharedFunctionInfo); 6735 DISALLOW_IMPLICIT_CONSTRUCTORS(SharedFunctionInfo);
6727 }; 6736 };
6728 6737
6729 6738
6730 // Printing support. 6739 // Printing support.
(...skipping 3564 matching lines...) Expand 10 before | Expand all | Expand 10 after
10295 } else { 10304 } else {
10296 value &= ~(1 << bit_position); 10305 value &= ~(1 << bit_position);
10297 } 10306 }
10298 return value; 10307 return value;
10299 } 10308 }
10300 }; 10309 };
10301 10310
10302 } } // namespace v8::internal 10311 } } // namespace v8::internal
10303 10312
10304 #endif // V8_OBJECTS_H_ 10313 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/mips64/macro-assembler-mips64.cc ('k') | src/runtime.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698