Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(492)

Unified Diff: src/isolate.cc

Issue 2181323002: Make some crucial Isolate functions inlineable (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: revert overzealous inlining Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/isolate.h ('k') | src/isolate-inl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/isolate.cc
diff --git a/src/isolate.cc b/src/isolate.cc
index e8dbe221b603e6185845fc9dd6299ca5e0ec37cb..185ff26bf047e0205dcc1886bccb047450f9b144 100644
--- a/src/isolate.cc
+++ b/src/isolate.cc
@@ -515,7 +515,7 @@ Handle<Object> Isolate::CaptureSimpleStackTrace(Handle<JSReceiver> error_object,
// we reuse the receiver field to pass along a special symbol.
Handle<Object> recv;
if (exit_frame->IsConstructor()) {
- recv = handle(heap()->call_site_constructor_symbol(), this);
+ recv = factory()->call_site_constructor_symbol();
} else {
recv = handle(exit_frame->receiver(), this);
}
@@ -532,7 +532,7 @@ Handle<Object> Isolate::CaptureSimpleStackTrace(Handle<JSReceiver> error_object,
WasmFrame* wasm_frame = WasmFrame::cast(frame);
Code* code = wasm_frame->unchecked_code();
Handle<AbstractCode> abstract_code =
- Handle<AbstractCode>(AbstractCode::cast(code));
+ Handle<AbstractCode>(AbstractCode::cast(code), this);
int offset =
static_cast<int>(wasm_frame->pc() - code->instruction_start());
elements = MaybeGrow(this, elements, cursor, cursor + 4);
@@ -642,7 +642,7 @@ class CaptureStackTraceHelper {
bool is_constructor) {
Handle<JSObject> stack_frame =
factory()->NewJSObject(isolate_->object_function());
- Handle<Script> script(Script::cast(fun->shared()->script()));
+ Handle<Script> script(Script::cast(fun->shared()->script()), isolate_);
if (!line_key_.is_null()) {
Script::PositionInfo info;
@@ -1404,7 +1404,7 @@ void Isolate::PrintCurrentStackTrace(FILE* out) {
JavaScriptFrame* js_frame = JavaScriptFrame::cast(frame);
Handle<Object> pos_obj(Smi::FromInt(pos), this);
// Fetch function and receiver.
- Handle<JSFunction> fun(js_frame->function());
+ Handle<JSFunction> fun(js_frame->function(), this);
Handle<Object> recv(js_frame->receiver(), this);
// Advance to the next JavaScript frame and determine if the
// current frame is the top-level frame.
@@ -1432,7 +1432,7 @@ bool Isolate::ComputeLocation(MessageLocation* target) {
(Script::cast(script)->source()->IsUndefined(this))) {
return false;
}
- Handle<Script> casted_script(Script::cast(script));
+ Handle<Script> casted_script(Script::cast(script), this);
// Compute the location from the function and the relocation info of the
// baseline code. For optimized code this will use the deoptimization
// information to get canonical location information.
@@ -1440,7 +1440,7 @@ bool Isolate::ComputeLocation(MessageLocation* target) {
JavaScriptFrame::cast(frame)->Summarize(&frames);
FrameSummary& summary = frames.last();
int pos = summary.abstract_code()->SourcePosition(summary.code_offset());
- *target = MessageLocation(casted_script, pos, pos + 1, handle(fun));
+ *target = MessageLocation(casted_script, pos, pos + 1, handle(fun, this));
return true;
}
@@ -1620,9 +1620,9 @@ void Isolate::ReportPendingMessages() {
// Actually report the pending message to all message handlers.
if (!message_obj->IsTheHole(this) && should_report_exception) {
HandleScope scope(this);
- Handle<JSMessageObject> message(JSMessageObject::cast(message_obj));
- Handle<JSValue> script_wrapper(JSValue::cast(message->script()));
- Handle<Script> script(Script::cast(script_wrapper->value()));
+ Handle<JSMessageObject> message(JSMessageObject::cast(message_obj), this);
+ Handle<JSValue> script_wrapper(JSValue::cast(message->script()), this);
+ Handle<Script> script(Script::cast(script_wrapper->value()), this);
int start_pos = message->start_position();
int end_pos = message->end_position();
MessageLocation location(script, start_pos, end_pos);
@@ -1637,9 +1637,9 @@ MessageLocation Isolate::GetMessageLocation() {
if (thread_local_top_.pending_exception_ != heap()->termination_exception() &&
!thread_local_top_.pending_message_obj_->IsTheHole(this)) {
Handle<JSMessageObject> message_obj(
- JSMessageObject::cast(thread_local_top_.pending_message_obj_));
- Handle<JSValue> script_wrapper(JSValue::cast(message_obj->script()));
- Handle<Script> script(Script::cast(script_wrapper->value()));
+ JSMessageObject::cast(thread_local_top_.pending_message_obj_), this);
+ Handle<JSValue> script_wrapper(JSValue::cast(message_obj->script()), this);
+ Handle<Script> script(Script::cast(script_wrapper->value()), this);
int start_pos = message_obj->start_position();
int end_pos = message_obj->end_position();
return MessageLocation(script, start_pos, end_pos);
@@ -1749,11 +1749,6 @@ void Isolate::SetAbortOnUncaughtExceptionCallback(
}
-Handle<Context> Isolate::native_context() {
- return handle(context()->native_context());
-}
-
-
Handle<Context> Isolate::GetCallingNativeContext() {
JavaScriptFrameIterator it(this);
if (debug_->in_debug_scope()) {
@@ -1770,7 +1765,7 @@ Handle<Context> Isolate::GetCallingNativeContext() {
if (it.done()) return Handle<Context>::null();
JavaScriptFrame* frame = it.frame();
Context* context = Context::cast(frame->context());
- return Handle<Context>(context->native_context());
+ return Handle<Context>(context->native_context(), this);
}
@@ -2808,13 +2803,6 @@ void Isolate::RemoveBeforeCallEnteredCallback(
}
-void Isolate::FireBeforeCallEnteredCallback() {
- for (int i = 0; i < before_call_entered_callbacks_.length(); i++) {
- before_call_entered_callbacks_.at(i)(reinterpret_cast<v8::Isolate*>(this));
- }
-}
-
-
void Isolate::AddCallCompletedCallback(CallCompletedCallback callback) {
for (int i = 0; i < call_completed_callbacks_.length(); i++) {
if (callback == call_completed_callbacks_.at(i)) return;
@@ -3026,7 +3014,7 @@ void Isolate::SetTailCallEliminationEnabled(bool enabled) {
void Isolate::AddDetachedContext(Handle<Context> context) {
HandleScope scope(this);
Handle<WeakCell> cell = factory()->NewWeakCell(context);
- Handle<FixedArray> detached_contexts(heap()->detached_contexts());
+ Handle<FixedArray> detached_contexts = factory()->detached_contexts();
int length = detached_contexts->length();
detached_contexts = factory()->CopyFixedArrayAndGrow(detached_contexts, 2);
detached_contexts->set(length, Smi::FromInt(0));
@@ -3037,7 +3025,7 @@ void Isolate::AddDetachedContext(Handle<Context> context) {
void Isolate::CheckDetachedContextsAfterGC() {
HandleScope scope(this);
- Handle<FixedArray> detached_contexts(heap()->detached_contexts());
+ Handle<FixedArray> detached_contexts = factory()->detached_contexts();
int length = detached_contexts->length();
if (length == 0) return;
int new_length = 0;
« no previous file with comments | « src/isolate.h ('k') | src/isolate-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698