thread isolate for files starting with 'b' and 'c'

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/23729006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
dcarney@chromium.org 2013-09-03 06:57:16 +00:00
parent 42598f962c
commit 675ac2660d
19 changed files with 101 additions and 101 deletions

View File

@ -61,7 +61,7 @@ class CodeGenerator: public AstVisitor {
// Print the code after compiling it.
static void PrintCode(Handle<Code> code, CompilationInfo* info);
static bool ShouldGenerateLog(Expression* type);
static bool ShouldGenerateLog(Isolate* isolate, Expression* type);
static void SetFunctionInfo(Handle<JSFunction> fun,
FunctionLiteral* lit,

View File

@ -3312,7 +3312,7 @@ void FullCodeGenerator::EmitLog(CallRuntime* expr) {
// 2 (array): Arguments to the format string.
ZoneList<Expression*>* args = expr->arguments();
ASSERT_EQ(args->length(), 3);
if (CodeGenerator::ShouldGenerateLog(args->at(0))) {
if (CodeGenerator::ShouldGenerateLog(isolate(), args->at(0))) {
VisitForStackValue(args->at(1));
VisitForStackValue(args->at(2));
__ CallRuntime(Runtime::kLog, 2);

View File

@ -1717,9 +1717,8 @@ void Builtins::InitBuiltinFunctionTable() {
}
void Builtins::SetUp(bool create_heap_objects) {
void Builtins::SetUp(Isolate* isolate, bool create_heap_objects) {
ASSERT(!initialized_);
Isolate* isolate = Isolate::Current();
Heap* heap = isolate->heap();
// Create a scope for the handles in the builtins.

View File

@ -292,7 +292,7 @@ class Builtins {
// Generate all builtin code objects. Should be called once during
// isolate initialization.
void SetUp(bool create_heap_objects);
void SetUp(Isolate* isolate, bool create_heap_objects);
void TearDown();
// Garbage collection support.

View File

@ -217,8 +217,8 @@ bool CodeStubGraphBuilderBase::BuildGraph() {
template <class Stub>
class CodeStubGraphBuilder: public CodeStubGraphBuilderBase {
public:
explicit CodeStubGraphBuilder(Stub* stub)
: CodeStubGraphBuilderBase(Isolate::Current(), stub) {}
explicit CodeStubGraphBuilder(Isolate* isolate, Stub* stub)
: CodeStubGraphBuilderBase(isolate, stub) {}
protected:
virtual HValue* BuildCodeStub() {
@ -285,8 +285,7 @@ Handle<Code> HydrogenCodeStub::GenerateLightweightMissCode(Isolate* isolate) {
template <class Stub>
static Handle<Code> DoGenerateCode(Stub* stub) {
Isolate* isolate = Isolate::Current();
static Handle<Code> DoGenerateCode(Isolate* isolate, Stub* stub) {
CodeStub::Major major_key =
static_cast<HydrogenCodeStub*>(stub)->MajorKey();
CodeStubInterfaceDescriptor* descriptor =
@ -302,7 +301,7 @@ static Handle<Code> DoGenerateCode(Stub* stub) {
ASSERT(descriptor->stack_parameter_count_ == NULL);
return stub->GenerateLightweightMissCode(isolate);
}
CodeStubGraphBuilder<Stub> builder(stub);
CodeStubGraphBuilder<Stub> builder(isolate, stub);
LChunk* chunk = OptimizeGraph(builder.CreateGraph());
return chunk->Codegen();
}
@ -334,8 +333,8 @@ HValue* CodeStubGraphBuilder<ToNumberStub>::BuildCodeStub() {
}
Handle<Code> ToNumberStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> ToNumberStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -401,8 +400,8 @@ HValue* CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub() {
}
Handle<Code> FastCloneShallowArrayStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> FastCloneShallowArrayStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -448,8 +447,8 @@ HValue* CodeStubGraphBuilder<FastCloneShallowObjectStub>::BuildCodeStub() {
}
Handle<Code> FastCloneShallowObjectStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> FastCloneShallowObjectStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -494,8 +493,8 @@ HValue* CodeStubGraphBuilder<CreateAllocationSiteStub>::BuildCodeStub() {
}
Handle<Code> CreateAllocationSiteStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> CreateAllocationSiteStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -509,8 +508,8 @@ HValue* CodeStubGraphBuilder<KeyedLoadFastElementStub>::BuildCodeStub() {
}
Handle<Code> KeyedLoadFastElementStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> KeyedLoadFastElementStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -524,8 +523,8 @@ HValue* CodeStubGraphBuilder<LoadFieldStub>::BuildCodeStub() {
}
Handle<Code> LoadFieldStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> LoadFieldStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -539,8 +538,8 @@ HValue* CodeStubGraphBuilder<KeyedLoadFieldStub>::BuildCodeStub() {
}
Handle<Code> KeyedLoadFieldStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> KeyedLoadFieldStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -555,8 +554,8 @@ HValue* CodeStubGraphBuilder<KeyedStoreFastElementStub>::BuildCodeStub() {
}
Handle<Code> KeyedStoreFastElementStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> KeyedStoreFastElementStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -574,8 +573,8 @@ HValue* CodeStubGraphBuilder<TransitionElementsKindStub>::BuildCodeStub() {
}
Handle<Code> TransitionElementsKindStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> TransitionElementsKindStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
HValue* CodeStubGraphBuilderBase::BuildArrayConstructor(
@ -709,8 +708,8 @@ HValue* CodeStubGraphBuilder<ArrayNoArgumentConstructorStub>::BuildCodeStub() {
}
Handle<Code> ArrayNoArgumentConstructorStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> ArrayNoArgumentConstructorStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -724,8 +723,9 @@ HValue* CodeStubGraphBuilder<ArraySingleArgumentConstructorStub>::
}
Handle<Code> ArraySingleArgumentConstructorStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> ArraySingleArgumentConstructorStub::GenerateCode(
Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -738,8 +738,8 @@ HValue* CodeStubGraphBuilder<ArrayNArgumentsConstructorStub>::BuildCodeStub() {
}
Handle<Code> ArrayNArgumentsConstructorStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> ArrayNArgumentsConstructorStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -751,8 +751,9 @@ HValue* CodeStubGraphBuilder<InternalArrayNoArgumentConstructorStub>::
}
Handle<Code> InternalArrayNoArgumentConstructorStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> InternalArrayNoArgumentConstructorStub::GenerateCode(
Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -764,8 +765,9 @@ HValue* CodeStubGraphBuilder<InternalArraySingleArgumentConstructorStub>::
}
Handle<Code> InternalArraySingleArgumentConstructorStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> InternalArraySingleArgumentConstructorStub::GenerateCode(
Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -777,8 +779,9 @@ HValue* CodeStubGraphBuilder<InternalArrayNArgumentsConstructorStub>::
}
Handle<Code> InternalArrayNArgumentsConstructorStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> InternalArrayNArgumentsConstructorStub::GenerateCode(
Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -803,8 +806,8 @@ HValue* CodeStubGraphBuilder<CompareNilICStub>::BuildCodeInitializedStub() {
}
Handle<Code> CompareNilICStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> CompareNilICStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -822,8 +825,8 @@ HValue* CodeStubGraphBuilder<ToBooleanStub>::BuildCodeInitializedStub() {
}
Handle<Code> ToBooleanStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> ToBooleanStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -871,8 +874,8 @@ HValue* CodeStubGraphBuilder<StoreGlobalStub>::BuildCodeInitializedStub() {
}
Handle<Code> StoreGlobalStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> StoreGlobalStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -906,8 +909,8 @@ HValue* CodeStubGraphBuilder<ElementsTransitionAndStoreStub>::BuildCodeStub() {
}
Handle<Code> ElementsTransitionAndStoreStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> ElementsTransitionAndStoreStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}
@ -1096,8 +1099,8 @@ HValue* CodeStubGraphBuilder<FastNewClosureStub>::BuildCodeStub() {
}
Handle<Code> FastNewClosureStub::GenerateCode() {
return DoGenerateCode(this);
Handle<Code> FastNewClosureStub::GenerateCode(Isolate* isolate) {
return DoGenerateCode(isolate, this);
}

View File

@ -46,7 +46,7 @@ CodeStubInterfaceDescriptor::CodeStubInterfaceDescriptor()
function_mode_(NOT_JS_FUNCTION_STUB_MODE),
register_params_(NULL),
deoptimization_handler_(NULL),
miss_handler_(IC_Utility(IC::kUnreachable), Isolate::Current()),
miss_handler_(),
has_miss_handler_(false) { }
@ -93,8 +93,7 @@ Handle<Code> CodeStub::GetCodeCopyFromTemplate(Isolate* isolate) {
}
Handle<Code> PlatformCodeStub::GenerateCode() {
Isolate* isolate = Isolate::Current();
Handle<Code> PlatformCodeStub::GenerateCode(Isolate* isolate) {
Factory* factory = isolate->factory();
// Generate the new code.
@ -144,7 +143,7 @@ Handle<Code> CodeStub::GetCode(Isolate* isolate) {
{
HandleScope scope(isolate);
Handle<Code> new_object = GenerateCode();
Handle<Code> new_object = GenerateCode(isolate);
new_object->set_major_key(MajorKey());
FinishCode(new_object);
RecordCodeGeneration(*new_object, isolate);

View File

@ -205,7 +205,7 @@ class CodeStub BASE_EMBEDDED {
static bool CanUseFPRegisters();
// Generates the assembler code for the stub.
virtual Handle<Code> GenerateCode() = 0;
virtual Handle<Code> GenerateCode(Isolate* isolate) = 0;
// Returns whether the code generated for this stub needs to be allocated as
@ -263,7 +263,7 @@ class CodeStub BASE_EMBEDDED {
class PlatformCodeStub : public CodeStub {
public:
// Retrieve the code for the stub. Generate the code if needed.
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual Code::Kind GetCodeKind() const { return Code::STUB; }
@ -353,7 +353,7 @@ class HydrogenCodeStub : public CodeStub {
CodeStubInterfaceDescriptor* descriptor) = 0;
// Retrieve the code for the stub. Generate the code if needed.
virtual Handle<Code> GenerateCode() = 0;
virtual Handle<Code> GenerateCode(Isolate* isolate) = 0;
virtual int NotMissMinorKey() = 0;
@ -453,7 +453,7 @@ class ToNumberStub: public HydrogenCodeStub {
public:
ToNumberStub() { }
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -471,7 +471,7 @@ class FastNewClosureStub : public HydrogenCodeStub {
: language_mode_(language_mode),
is_generator_(is_generator) { }
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -539,7 +539,7 @@ class StoreGlobalStub : public HydrogenCodeStub {
IsConstantBits::encode(is_constant);
}
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -621,7 +621,7 @@ class FastCloneShallowArrayStub : public HydrogenCodeStub {
return LAST_ELEMENTS_KIND;
}
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -661,7 +661,7 @@ class FastCloneShallowObjectStub : public HydrogenCodeStub {
int length() const { return length_; }
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -681,7 +681,7 @@ class CreateAllocationSiteStub : public HydrogenCodeStub {
public:
explicit CreateAllocationSiteStub() { }
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual bool IsPregenerated() { return true; }
@ -898,7 +898,7 @@ class LoadFieldStub: public HandlerStub {
Initialize(Code::LOAD_IC, inobject, index, representation);
}
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -967,7 +967,7 @@ class KeyedLoadFieldStub: public LoadFieldStub {
Isolate* isolate,
CodeStubInterfaceDescriptor* descriptor);
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
private:
virtual CodeStub::Major MajorKey() { return KeyedLoadField; }
@ -1238,7 +1238,7 @@ class CompareNilICStub : public HydrogenCodeStub {
virtual Code::Kind GetCodeKind() const { return Code::COMPARE_NIL_IC; }
Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual Code::ExtraICState GetExtraICState() {
return NilValueField::encode(nil_value_) |
@ -1763,7 +1763,7 @@ class KeyedLoadFastElementStub : public HydrogenCodeStub {
return ElementsKindBits::decode(bit_field_);
}
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -1803,7 +1803,7 @@ class KeyedStoreFastElementStub : public HydrogenCodeStub {
return StoreModeBits::decode(bit_field_);
}
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -1838,7 +1838,7 @@ class TransitionElementsKindStub : public HydrogenCodeStub {
return ToKindBits::decode(bit_field_);
}
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -1934,7 +1934,7 @@ class ArrayNoArgumentConstructorStub : public ArrayConstructorStubBase {
: ArrayConstructorStubBase(kind, context_mode, override_mode) {
}
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -1956,7 +1956,7 @@ class ArraySingleArgumentConstructorStub : public ArrayConstructorStubBase {
: ArrayConstructorStubBase(kind, context_mode, override_mode) {
}
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -1978,7 +1978,7 @@ class ArrayNArgumentsConstructorStub : public ArrayConstructorStubBase {
: ArrayConstructorStubBase(kind, context_mode, override_mode) {
}
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -2021,7 +2021,7 @@ class InternalArrayNoArgumentConstructorStub : public
explicit InternalArrayNoArgumentConstructorStub(ElementsKind kind)
: InternalArrayConstructorStubBase(kind) { }
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -2040,7 +2040,7 @@ class InternalArraySingleArgumentConstructorStub : public
explicit InternalArraySingleArgumentConstructorStub(ElementsKind kind)
: InternalArrayConstructorStubBase(kind) { }
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -2059,7 +2059,7 @@ class InternalArrayNArgumentsConstructorStub : public
explicit InternalArrayNArgumentsConstructorStub(ElementsKind kind)
: InternalArrayConstructorStubBase(kind) { }
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
@ -2148,7 +2148,7 @@ class ToBooleanStub: public HydrogenCodeStub {
bool UpdateStatus(Handle<Object> object);
Types GetTypes() { return types_; }
virtual Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
virtual void InitializeInterfaceDescriptor(
Isolate* isolate,
CodeStubInterfaceDescriptor* descriptor);
@ -2208,7 +2208,7 @@ class ElementsTransitionAndStoreStub : public HydrogenCodeStub {
bool is_jsarray() const { return is_jsarray_; }
KeyedAccessStoreMode store_mode() const { return store_mode_; }
Handle<Code> GenerateCode();
virtual Handle<Code> GenerateCode(Isolate* isolate);
void InitializeInterfaceDescriptor(
Isolate* isolate,

View File

@ -124,7 +124,7 @@ Handle<Code> CodeGenerator::MakeCodeEpilogue(MacroAssembler* masm,
void CodeGenerator::PrintCode(Handle<Code> code, CompilationInfo* info) {
#ifdef ENABLE_DISASSEMBLER
AllowDeferredHandleDereference allow_deference_for_print_code;
bool print_code = Isolate::Current()->bootstrapper()->IsActive()
bool print_code = info->isolate()->bootstrapper()->IsActive()
? FLAG_print_builtin_code
: (FLAG_print_code ||
(info->IsStub() && FLAG_print_code_stubs) ||
@ -171,9 +171,8 @@ void CodeGenerator::PrintCode(Handle<Code> code, CompilationInfo* info) {
}
bool CodeGenerator::ShouldGenerateLog(Expression* type) {
bool CodeGenerator::ShouldGenerateLog(Isolate* isolate, Expression* type) {
ASSERT(type != NULL);
Isolate* isolate = Isolate::Current();
if (!isolate->logger()->is_logging() &&
!isolate->cpu_profiler()->is_profiling()) {
return false;

View File

@ -845,7 +845,7 @@ static bool InstallFullCode(CompilationInfo* info) {
// version of the function right away - unless the debugger is
// active as it makes no sense to compile optimized code then.
if (FLAG_always_opt &&
!Isolate::Current()->DebuggerHasBreakPoints()) {
!info->isolate()->DebuggerHasBreakPoints()) {
CompilationInfoWithZone optimized(function);
optimized.SetOptimizing(BailoutId::None());
return Compiler::CompileLazy(&optimized);

View File

@ -74,7 +74,7 @@ Context* Context::native_context() {
// During bootstrapping, the global object might not be set and we
// have to search the context chain to find the native context.
ASSERT(Isolate::Current()->bootstrapper()->IsActive());
ASSERT(this->GetIsolate()->bootstrapper()->IsActive());
Context* current = this;
while (!current->IsNativeContext()) {
JSFunction* closure = JSFunction::cast(current->closure());
@ -352,10 +352,9 @@ bool Context::IsBootstrappingOrValidParentContext(
}
bool Context::IsBootstrappingOrGlobalObject(Object* object) {
bool Context::IsBootstrappingOrGlobalObject(Isolate* isolate, Object* object) {
// During bootstrapping we allow all objects to pass as global
// objects. This is necessary to fix circular dependencies.
Isolate* isolate = Isolate::Current();
return isolate->heap()->gc_state() != Heap::NOT_IN_GC ||
isolate->bootstrapper()->IsActive() ||
object->IsGlobalObject();

View File

@ -370,7 +370,7 @@ class Context: public FixedArray {
GlobalObject* global_object() {
Object* result = get(GLOBAL_OBJECT_INDEX);
ASSERT(IsBootstrappingOrGlobalObject(result));
ASSERT(IsBootstrappingOrGlobalObject(this->GetIsolate(), result));
return reinterpret_cast<GlobalObject*>(result);
}
void set_global_object(GlobalObject* object) {
@ -508,7 +508,7 @@ class Context: public FixedArray {
#ifdef DEBUG
// Bootstrapping-aware type checks.
static bool IsBootstrappingOrValidParentContext(Object* object, Context* kid);
static bool IsBootstrappingOrGlobalObject(Object* object);
static bool IsBootstrappingOrGlobalObject(Isolate* isolate, Object* object);
#endif
STATIC_CHECK(kHeaderSize == Internals::kContextHeaderSize);

View File

@ -41,7 +41,7 @@ StatsTable::StatsTable()
int* StatsCounter::FindLocationInStatsTable() const {
return Isolate::Current()->stats_table()->FindLocation(name_);
return isolate_->stats_table()->FindLocation(name_);
}

View File

@ -116,8 +116,8 @@ class StatsTable {
class StatsCounter {
public:
StatsCounter() { }
explicit StatsCounter(const char* name)
: name_(name), ptr_(NULL), lookup_done_(false) { }
explicit StatsCounter(Isolate* isolate, const char* name)
: isolate_(isolate), name_(name), ptr_(NULL), lookup_done_(false) { }
// Sets the counter to a specific value.
void Set(int value) {
@ -175,6 +175,7 @@ class StatsCounter {
private:
int* FindLocationInStatsTable() const;
Isolate* isolate_;
const char* name_;
int* ptr_;
bool lookup_done_;

View File

@ -53,7 +53,7 @@ class CodeGenerator {
// Print the code after compiling it.
static void PrintCode(Handle<Code> code, CompilationInfo* info);
static bool ShouldGenerateLog(Expression* type);
static bool ShouldGenerateLog(Isolate* isolate, Expression* type);
static bool RecordPositions(MacroAssembler* masm,
int pos,

View File

@ -3266,7 +3266,7 @@ void FullCodeGenerator::EmitLog(CallRuntime* expr) {
// 2 (array): Arguments to the format string.
ZoneList<Expression*>* args = expr->arguments();
ASSERT_EQ(args->length(), 3);
if (CodeGenerator::ShouldGenerateLog(args->at(0))) {
if (CodeGenerator::ShouldGenerateLog(isolate(), args->at(0))) {
VisitForStackValue(args->at(1));
VisitForStackValue(args->at(2));
__ CallRuntime(Runtime::kLog, 2);

View File

@ -2239,7 +2239,7 @@ bool Isolate::Init(Deserializer* des) {
InitializeThreadLocal();
bootstrapper_->Initialize(create_heap_objects);
builtins_.SetUp(create_heap_objects);
builtins_.SetUp(this, create_heap_objects);
// Only preallocate on the first initialization.
if (FLAG_preallocate_message_memory && preallocated_message_space_ == NULL) {

View File

@ -49,31 +49,31 @@ Counters::Counters(Isolate* isolate) {
#undef HM
#define SC(name, caption) \
name##_ = StatsCounter("c:" #caption);
name##_ = StatsCounter(isolate, "c:" #caption);
STATS_COUNTER_LIST_1(SC)
STATS_COUNTER_LIST_2(SC)
#undef SC
#define SC(name) \
count_of_##name##_ = StatsCounter("c:" "V8.CountOf_" #name); \
size_of_##name##_ = StatsCounter("c:" "V8.SizeOf_" #name);
count_of_##name##_ = StatsCounter(isolate, "c:" "V8.CountOf_" #name); \
size_of_##name##_ = StatsCounter(isolate, "c:" "V8.SizeOf_" #name);
INSTANCE_TYPE_LIST(SC)
#undef SC
#define SC(name) \
count_of_CODE_TYPE_##name##_ = \
StatsCounter("c:" "V8.CountOf_CODE_TYPE-" #name); \
StatsCounter(isolate, "c:" "V8.CountOf_CODE_TYPE-" #name); \
size_of_CODE_TYPE_##name##_ = \
StatsCounter("c:" "V8.SizeOf_CODE_TYPE-" #name);
StatsCounter(isolate, "c:" "V8.SizeOf_CODE_TYPE-" #name);
CODE_KIND_LIST(SC)
#undef SC
#define SC(name) \
count_of_FIXED_ARRAY_##name##_ = \
StatsCounter("c:" "V8.CountOf_FIXED_ARRAY-" #name); \
StatsCounter(isolate, "c:" "V8.CountOf_FIXED_ARRAY-" #name); \
size_of_FIXED_ARRAY_##name##_ = \
StatsCounter("c:" "V8.SizeOf_FIXED_ARRAY-" #name);
StatsCounter(isolate, "c:" "V8.SizeOf_FIXED_ARRAY-" #name);
FIXED_ARRAY_SUB_INSTANCE_TYPE_LIST(SC)
#undef SC
}

View File

@ -61,7 +61,7 @@ class CodeGenerator: public AstVisitor {
// Print the code after compiling it.
static void PrintCode(Handle<Code> code, CompilationInfo* info);
static bool ShouldGenerateLog(Expression* type);
static bool ShouldGenerateLog(Isolate* isolate, Expression* type);
static bool RecordPositions(MacroAssembler* masm,
int pos,

View File

@ -3243,7 +3243,7 @@ void FullCodeGenerator::EmitLog(CallRuntime* expr) {
// 2 (array): Arguments to the format string.
ZoneList<Expression*>* args = expr->arguments();
ASSERT_EQ(args->length(), 3);
if (CodeGenerator::ShouldGenerateLog(args->at(0))) {
if (CodeGenerator::ShouldGenerateLog(isolate(), args->at(0))) {
VisitForStackValue(args->at(1));
VisitForStackValue(args->at(2));
__ CallRuntime(Runtime::kLog, 2);