X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..refs/heads/master:/bytecode/Instruction.h diff --git a/bytecode/Instruction.h b/bytecode/Instruction.h index ca45775..c20a4f7 100644 --- a/bytecode/Instruction.h +++ b/bytecode/Instruction.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008, 2012, 2013 Apple Inc. All rights reserved. + * Copyright (C) 2008, 2012-2015 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -29,12 +29,16 @@ #ifndef Instruction_h #define Instruction_h +#include "BasicBlockLocation.h" #include "MacroAssembler.h" #include "Opcode.h" +#include "SymbolTable.h" +#include "TypeLocation.h" #include "PropertySlot.h" #include "SpecialPointer.h" #include "Structure.h" #include "StructureChain.h" +#include "ToThisStatus.h" #include "VirtualRegister.h" #include @@ -43,7 +47,7 @@ namespace JSC { class ArrayAllocationProfile; class ArrayProfile; class ObjectAllocationProfile; -class VariableWatchpointSet; +class WatchpointSet; struct LLIntCallLinkInfo; struct ValueProfile; @@ -94,30 +98,33 @@ struct Instruction { 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(WriteBarrier* variablePointer) { u.variablePointer = variablePointer; } Instruction(Special::Pointer pointer) { u.specialPointer = pointer; } - Instruction(StringImpl* uid) { u.uid = uid; } + Instruction(UniquedStringImpl* uid) { u.uid = uid; } Instruction(bool* predicatePointer) { u.predicatePointer = predicatePointer; } union { Opcode opcode; int operand; WriteBarrierBase structure; + WriteBarrierBase symbolTable; WriteBarrierBase structureChain; WriteBarrierBase jsCell; - WriteBarrier* registerPointer; + WriteBarrier* variablePointer; Special::Pointer specialPointer; PropertySlot::GetValueFunc getterFunc; LLIntCallLinkInfo* callLinkInfo; - StringImpl* uid; + UniquedStringImpl* uid; ValueProfile* profile; ArrayProfile* arrayProfile; ArrayAllocationProfile* arrayAllocationProfile; ObjectAllocationProfile* objectAllocationProfile; - VariableWatchpointSet* watchpointSet; - WriteBarrierBase activation; + WatchpointSet* watchpointSet; void* pointer; bool* predicatePointer; + ToThisStatus toThisStatus; + TypeLocation* location; + BasicBlockLocation* basicBlockLocation; } u; private: