| Index: src/isolate.cc
|
| diff --git a/src/isolate.cc b/src/isolate.cc
|
| index d814b4dbf85d057d5f7cabeb4985a1a0b6932f70..950ed3cd0304b938b667c9c8f950cffbb3bc99e1 100644
|
| --- a/src/isolate.cc
|
| +++ b/src/isolate.cc
|
| @@ -454,10 +454,10 @@ Handle<JSArray> Isolate::CaptureSimpleStackTrace(Handle<JSObject> error_object,
|
| // If the caller parameter is a function we skip frames until we're
|
| // under it before starting to collect.
|
| bool seen_caller = !caller->IsJSFunction();
|
| - // First element is reserved to store the number of non-strict frames.
|
| + // First element is reserved to store the number of sloppy frames.
|
| int cursor = 1;
|
| int frames_seen = 0;
|
| - int non_strict_frames = 0;
|
| + int sloppy_frames = 0;
|
| bool encountered_strict_function = false;
|
| for (StackFrameIterator iter(this);
|
| !iter.done() && frames_seen < limit;
|
| @@ -488,13 +488,13 @@ Handle<JSArray> Isolate::CaptureSimpleStackTrace(Handle<JSObject> error_object,
|
| Handle<Smi> offset(Smi::FromInt(frames[i].offset()), this);
|
| // The stack trace API should not expose receivers and function
|
| // objects on frames deeper than the top-most one with a strict
|
| - // mode function. The number of non-strict frames is stored as
|
| + // mode function. The number of sloppy frames is stored as
|
| // first element in the result array.
|
| if (!encountered_strict_function) {
|
| - if (!fun->shared()->is_classic_mode()) {
|
| + if (fun->shared()->strict_mode() == STRICT) {
|
| encountered_strict_function = true;
|
| } else {
|
| - non_strict_frames++;
|
| + sloppy_frames++;
|
| }
|
| }
|
| elements->set(cursor++, *recv);
|
| @@ -504,7 +504,7 @@ Handle<JSArray> Isolate::CaptureSimpleStackTrace(Handle<JSObject> error_object,
|
| }
|
| }
|
| }
|
| - elements->set(0, Smi::FromInt(non_strict_frames));
|
| + elements->set(0, Smi::FromInt(sloppy_frames));
|
| Handle<JSArray> result = factory()->NewJSArrayWithElements(elements);
|
| result->set_length(Smi::FromInt(cursor));
|
| return result;
|
| @@ -779,7 +779,7 @@ static MayAccessDecision MayAccessPreCheck(Isolate* isolate,
|
|
|
| bool Isolate::MayNamedAccess(JSObject* receiver, Object* key,
|
| v8::AccessType type) {
|
| - ASSERT(receiver->IsAccessCheckNeeded());
|
| + ASSERT(receiver->IsJSGlobalProxy() || receiver->IsAccessCheckNeeded());
|
|
|
| // The callers of this method are not expecting a GC.
|
| DisallowHeapAllocation no_gc;
|
| @@ -830,7 +830,7 @@ bool Isolate::MayNamedAccess(JSObject* receiver, Object* key,
|
| bool Isolate::MayIndexedAccess(JSObject* receiver,
|
| uint32_t index,
|
| v8::AccessType type) {
|
| - ASSERT(receiver->IsAccessCheckNeeded());
|
| + ASSERT(receiver->IsJSGlobalProxy() || receiver->IsAccessCheckNeeded());
|
| // Check for compatibility between the security tokens in the
|
| // current lexical context and the accessed object.
|
| ASSERT(context());
|
| @@ -1551,7 +1551,6 @@ Isolate::Isolate()
|
| global_handles_(NULL),
|
| eternal_handles_(NULL),
|
| thread_manager_(NULL),
|
| - fp_stubs_generated_(false),
|
| has_installed_extensions_(false),
|
| string_tracker_(NULL),
|
| regexp_stack_(NULL),
|
| @@ -1571,7 +1570,6 @@ Isolate::Isolate()
|
| optimizing_compiler_thread_(NULL),
|
| sweeper_thread_(NULL),
|
| num_sweeper_threads_(0),
|
| - max_available_threads_(0),
|
| stress_deopt_count_(0),
|
| lexer_gc_handler_(0),
|
| next_optimization_id_(0) {
|
| @@ -1589,19 +1587,9 @@ Isolate::Isolate()
|
| thread_manager_ = new ThreadManager();
|
| thread_manager_->isolate_ = this;
|
|
|
| -#if V8_TARGET_ARCH_ARM && !defined(__arm__) || \
|
| - V8_TARGET_ARCH_A64 && !defined(__aarch64__) || \
|
| - V8_TARGET_ARCH_MIPS && !defined(__mips__)
|
| - simulator_initialized_ = false;
|
| - simulator_i_cache_ = NULL;
|
| - simulator_redirection_ = NULL;
|
| -#endif
|
| -
|
| #ifdef DEBUG
|
| // heap_histograms_ initializes itself.
|
| memset(&js_spill_information_, 0, sizeof(js_spill_information_));
|
| - memset(code_kind_statistics_, 0,
|
| - sizeof(code_kind_statistics_[0]) * Code::NUMBER_OF_KINDS);
|
| #endif
|
|
|
| #ifdef ENABLE_DEBUGGER_SUPPORT
|
| @@ -2022,6 +2010,12 @@ bool Isolate::Init(Deserializer* des) {
|
| bootstrapper_->Initialize(create_heap_objects);
|
| builtins_.SetUp(this, create_heap_objects);
|
|
|
| + if (FLAG_log_internal_timer_events) {
|
| + set_event_logger(Logger::LogInternalEvents);
|
| + } else {
|
| + set_event_logger(Logger::EmptyLogInternalEvents);
|
| + }
|
| +
|
| // Set default value if not yet set.
|
| // TODO(yangguo): move this to ResourceConstraints::ConfigureDefaults
|
| // once ResourceConstraints becomes an argument to the Isolate constructor.
|
|
|