X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/93a3786624b2768d89bfa27e46598dc64e2fb70a..2656c66b5b30d5597e842a751c7f19ad6c2fe31a:/bytecode/Instruction.h diff --git a/bytecode/Instruction.h b/bytecode/Instruction.h index 988b1dd..ca45775 100644 --- a/bytecode/Instruction.h +++ b/bytecode/Instruction.h @@ -10,7 +10,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * 3. Neither the name of Apple Inc. ("Apple") nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * @@ -32,10 +32,10 @@ #include "MacroAssembler.h" #include "Opcode.h" #include "PropertySlot.h" -#include "ResolveOperation.h" #include "SpecialPointer.h" #include "Structure.h" #include "StructureChain.h" +#include "VirtualRegister.h" #include namespace JSC { @@ -43,6 +43,7 @@ namespace JSC { class ArrayAllocationProfile; class ArrayProfile; class ObjectAllocationProfile; +class VariableWatchpointSet; struct LLIntCallLinkInfo; struct ValueProfile; @@ -89,16 +90,13 @@ struct Instruction { Instruction(PropertySlot::GetValueFunc getterFunc) { u.getterFunc = getterFunc; } Instruction(LLIntCallLinkInfo* callLinkInfo) { u.callLinkInfo = callLinkInfo; } - Instruction(ValueProfile* profile) { u.profile = profile; } Instruction(ArrayProfile* profile) { u.arrayProfile = profile; } Instruction(ArrayAllocationProfile* profile) { u.arrayAllocationProfile = profile; } Instruction(ObjectAllocationProfile* profile) { u.objectAllocationProfile = profile; } - Instruction(WriteBarrier* registerPointer) { u.registerPointer = registerPointer; } - Instruction(Special::Pointer pointer) { u.specialPointer = pointer; } - + Instruction(StringImpl* uid) { u.uid = uid; } Instruction(bool* predicatePointer) { u.predicatePointer = predicatePointer; } union { @@ -111,14 +109,15 @@ struct Instruction { Special::Pointer specialPointer; PropertySlot::GetValueFunc getterFunc; LLIntCallLinkInfo* callLinkInfo; + StringImpl* uid; ValueProfile* profile; ArrayProfile* arrayProfile; ArrayAllocationProfile* arrayAllocationProfile; ObjectAllocationProfile* objectAllocationProfile; + VariableWatchpointSet* watchpointSet; + WriteBarrierBase activation; void* pointer; bool* predicatePointer; - ResolveOperations* resolveOperations; - PutToBaseOperation* putToBaseOperation; } u; private: