Changeset 179392 in webkit for trunk/Source/JavaScriptCore/bytecode/CallVariant.h
- Timestamp:
- Jan 29, 2015, 8:28:36 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/bytecode/CallVariant.h
r179357 r179392 1 1 /* 2 * Copyright (C) 2014 , 2015Apple Inc. All rights reserved.2 * Copyright (C) 2014 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 57 57 // 58 58 // This class serves as a kind of union over these four things. It does so by just holding a 59 // JSCell*. We determine which of the modes its in by doing type checks on the cell. Note that we 60 // cannot use WriteBarrier<> here because this gets used inside the compiler. 59 // JSCell*. We determine which of the modes its in by doing type checks on the cell. Note that there 60 // is no lifecycle management for the cell because this class is always used in contexts where we 61 // either do custom weak reference logic over instances of this class (see CallEdgeProfile), or we 62 // are inside the compiler and we assume that the compiler runs in between collections and so can 63 // touch the heap without notifying anyone. 61 64 62 65 class CallVariant { … … 179 182 typedef Vector<CallVariant, 1> CallVariantList; 180 183 181 // Returns a new variant list by attempting to either append the given variant or merge it with one182 // of the variants we already have by despecifying closures.183 CallVariantList variantListWithVariant(const CallVariantList&, CallVariant);184 185 // Returns a new list where every element is despecified, and the list is deduplicated.186 CallVariantList despecifiedVariantList(const CallVariantList&);187 188 184 } // namespace JSC 189 185
Note:
See TracChangeset
for help on using the changeset viewer.