V8 Project
|
#include <liveedit.h>
Static Public Member Functions | |
static void | InitializeThreadLocal (Debug *debug) |
static bool | SetAfterBreakTarget (Debug *debug) |
static MUST_USE_RESULT MaybeHandle< JSArray > | GatherCompileInfo (Handle< Script > script, Handle< String > source) |
static void | WrapSharedFunctionInfos (Handle< JSArray > array) |
static void | ReplaceFunctionCode (Handle< JSArray > new_compile_info_array, Handle< JSArray > shared_info_array) |
static void | FunctionSourceUpdated (Handle< JSArray > shared_info_array) |
static void | SetFunctionScript (Handle< JSValue > function_wrapper, Handle< Object > script_handle) |
static void | PatchFunctionPositions (Handle< JSArray > shared_info_array, Handle< JSArray > position_change_array) |
static Handle< Object > | ChangeScriptSource (Handle< Script > original_script, Handle< String > new_source, Handle< Object > old_script_name) |
static void | ReplaceRefToNestedFunction (Handle< JSValue > parent_function_shared, Handle< JSValue > orig_function_shared, Handle< JSValue > subst_function_shared) |
static bool | FindActiveGenerators (Handle< FixedArray > shared_info_array, Handle< FixedArray > result, int len) |
static Handle< JSArray > | CheckAndDropActivations (Handle< JSArray > shared_info_array, bool do_drop) |
static const char * | RestartFrame (JavaScriptFrame *frame) |
static Handle< JSArray > | CompareStrings (Handle< String > s1, Handle< String > s2) |
Static Public Attributes | |
static const bool | kFrameDropperSupported |
static const int | kFrameDropperFrameSize = 4 |
Defines layout of a stack frame that supports padding. More... | |
static const int | kFramePaddingInitialSize = 1 |
static const int | kFramePaddingValue = kFramePaddingInitialSize + 1 |
Definition at line 59 of file liveedit.h.
Enumerator | |
---|---|
FRAMES_UNTOUCHED | |
FRAME_DROPPED_IN_IC_CALL | |
FRAME_DROPPED_IN_DEBUG_SLOT_CALL | |
FRAME_DROPPED_IN_DIRECT_CALL | |
FRAME_DROPPED_IN_RETURN_CALL | |
CURRENTLY_SET_MODE |
Definition at line 62 of file liveedit.h.
Definition at line 130 of file liveedit.h.
|
static |
Definition at line 1471 of file liveedit.cc.
References v8::internal::CreateScriptCopy(), v8::internal::Isolate::debug(), v8::internal::Isolate::factory(), v8::internal::Isolate::heap(), and v8::internal::Debug::OnAfterCompile().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 1955 of file liveedit.cc.
References DCHECK, v8::internal::DropActivationsInActiveThread(), v8::internal::JSObject::EnsureWritableFastElements(), v8::internal::Isolate::factory(), FindActiveGenerators(), v8::internal::Smi::FromInt(), FUNCTION_AVAILABLE_FOR_PATCH, v8::internal::GetArrayLength(), v8::internal::InactiveThreadActivationsChecker::HasBlockedFunctions(), v8::internal::ThreadManager::IterateArchivedThreads(), NULL, v8::internal::SetElementSloppy(), and v8::internal::Isolate::thread_manager().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 556 of file liveedit.cc.
References v8::internal::Comparator::CalculateDifference(), v8::internal::String::Flatten(), v8::internal::TokenizingLineArrayCompareOutput::GetResult(), v8::internal::NarrowDownInput(), v8::internal::s1, and v8::internal::s2.
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 1892 of file liveedit.cc.
References v8::internal::Handle< T >::cast(), DCHECK_LE, v8::internal::Smi::FromInt(), FUNCTION_BLOCKED_ACTIVE_GENERATOR, v8::internal::FixedArray::get(), v8::internal::Isolate::heap(), v8::internal::JSGeneratorObject::is_closed(), NULL, and v8::internal::UnwrapSharedFunctionInfoFromJSValue().
Referenced by CheckAndDropActivations().
Definition at line 1233 of file liveedit.cc.
References v8::internal::DeoptimizeDependentFunctions(), and v8::internal::SharedInfoWrapper::GetInfo().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 843 of file liveedit.cc.
References v8::internal::Handle< T >::cast(), v8::internal::Isolate::clear_pending_exception(), v8::internal::Isolate::clear_pending_message(), v8::internal::Compiler::CompileForLiveEdit(), v8::internal::MessageLocation::end_pos(), v8::internal::Isolate::factory(), v8::internal::Smi::FromInt(), v8::internal::Isolate::GetMessageLocation(), v8::internal::FunctionInfoListener::GetResult(), v8::internal::Script::GetWrapper(), v8::internal::Isolate::has_pending_exception(), v8::internal::Handle< T >::is_null(), NULL, v8::internal::Isolate::pending_exception(), v8::internal::MessageLocation::script(), v8::internal::Object::SetProperty(), v8::TryCatch::SetVerbose(), v8::internal::SLOPPY, v8::internal::MessageLocation::start_pos(), STATIC_CHAR_VECTOR, and v8::internal::Isolate::Throw().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 808 of file liveedit.cc.
References v8::internal::Debug::ThreadLocal::frame_drop_mode_, FRAMES_UNTOUCHED, and v8::internal::Debug::thread_local_.
Referenced by v8::internal::Debug::Break().
|
static |
Definition at line 1415 of file liveedit.cc.
References v8::internal::SharedInfoWrapper::GetInfo(), v8::internal::IsJSFunctionCode(), v8::internal::PatchPositionsInCode(), v8::internal::ReplaceCodeObject(), and v8::internal::TranslatePosition().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 1187 of file liveedit.cc.
References v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), v8::internal::Isolate::compilation_cache(), v8::internal::DeoptimizeDependentFunctions(), v8::internal::Isolate::factory(), v8::internal::feedback_vector, v8::internal::FunctionInfoWrapper::GetCodeScopeInfo(), v8::internal::FunctionInfoWrapper::GetEndPosition(), v8::internal::FunctionInfoWrapper::GetFeedbackVector(), v8::internal::FunctionInfoWrapper::GetFunctionCode(), v8::internal::SharedInfoWrapper::GetInfo(), v8::internal::FunctionInfoWrapper::GetStartPosition(), v8::internal::IsJSFunctionCode(), v8::internal::LiteralFixer::PatchLiterals(), v8::internal::CompilationCache::Remove(), and v8::internal::ReplaceCodeObject().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 1495 of file liveedit.cc.
References v8::internal::RelocIterator::done(), v8::internal::RelocInfo::EMBEDDED_OBJECT, and v8::internal::UnwrapSharedFunctionInfoFromJSValue().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 2034 of file liveedit.cc.
References v8::internal::DropActivationsInActiveThreadImpl(), FUNCTION_BLOCKED_UNDER_GENERATOR, FUNCTION_BLOCKED_UNDER_NATIVE_CODE, NULL, and v8::internal::SingleFrameTarget::saved_status().
Referenced by v8::internal::RUNTIME_FUNCTION().
Definition at line 813 of file liveedit.cc.
References v8::internal::Debug::after_break_target_, v8::internal::Builtins::builtin(), v8::internal::Isolate::builtins(), CURRENTLY_SET_MODE, v8::internal::Code::entry(), v8::internal::Debug::ThreadLocal::frame_drop_mode_, FRAME_DROPPED_IN_DEBUG_SLOT_CALL, FRAME_DROPPED_IN_DIRECT_CALL, FRAME_DROPPED_IN_IC_CALL, FRAME_DROPPED_IN_RETURN_CALL, FRAMES_UNTOUCHED, v8::internal::Debug::isolate_, NULL, v8::internal::Debug::thread_local_, and UNREACHABLE.
Referenced by v8::internal::Debug::SetAfterBreakTarget().
|
static |
Definition at line 1242 of file liveedit.cc.
References CHECK, and v8::internal::UnwrapSharedFunctionInfoFromJSValue().
Referenced by v8::internal::RUNTIME_FUNCTION().
Definition at line 909 of file liveedit.cc.
References v8::internal::JSArrayBasedStruct< SharedInfoWrapper >::Create(), v8::internal::GetArrayLength(), v8::internal::Object::GetElement(), v8::internal::JSArrayBasedStruct< S >::GetJSArray(), v8::internal::SetElementSloppy(), and v8::internal::SharedInfoWrapper::SetProperties().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Defines layout of a stack frame that supports padding.
This is a regular internal frame that has a flexible stack structure. LiveEdit can shift its lower part up the stack, taking up the 'padding' space when additional stack memory is required. Such frame is expected immediately above the topmost JavaScript frame.
Stack Layout: — Top
An internal frame that has n padding words:
... — Bottom
Definition at line 178 of file liveedit.h.
Referenced by v8::internal::DropFrames().
|
static |
Definition at line 147 of file liveedit.h.
Referenced by v8::internal::DropFrames().
|
static |
Definition at line 181 of file liveedit.h.
|
static |
Definition at line 184 of file liveedit.h.
Referenced by v8::internal::DropFrames().