diff options
| author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-14 16:29:47 +0200 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-14 16:29:47 +0200 |
| commit | d0424a769059c84ae20beb3c217812792ea6726b (patch) | |
| tree | 6f94a5c3db8c52c6694ee56498542a6c35417350 /Source/JavaScriptCore/bytecode/ArrayProfile.h | |
| parent | 88a04ac016f57c2d78e714682445dff2e7db4ade (diff) | |
Imported WebKit commit 37c5e5041d39a14ea0d429a77ebd352e4bd26516 (http://svn.webkit.org/repository/webkit/trunk@128608)
New snapshot that enables WebKit2 build on Windows (still some bugs) and allows for WebKit to be built with qmake && make
Diffstat (limited to 'Source/JavaScriptCore/bytecode/ArrayProfile.h')
| -rw-r--r-- | Source/JavaScriptCore/bytecode/ArrayProfile.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Source/JavaScriptCore/bytecode/ArrayProfile.h b/Source/JavaScriptCore/bytecode/ArrayProfile.h index 5a656e2dd..312473f3c 100644 --- a/Source/JavaScriptCore/bytecode/ArrayProfile.h +++ b/Source/JavaScriptCore/bytecode/ArrayProfile.h @@ -35,16 +35,16 @@ namespace JSC { class LLIntOffsetsExtractor; +// This is a bitfield where each bit represents an IndexingType that we have seen. +// There are 17 indexing types (0 to 16, inclusive), so 32 bits is more than enough. typedef unsigned ArrayModes; -static const unsigned IsNotArray = 1; -static const unsigned IsJSArray = 2; +#define asArrayModes(type) \ + (1 << static_cast<unsigned>(type)) inline ArrayModes arrayModeFromStructure(Structure* structure) { - if (structure->classInfo() == &JSArray::s_info) - return IsJSArray; - return IsNotArray; + return asArrayModes(structure->indexingTypeIncludingHistory()); } class ArrayProfile { |
