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

Side by Side Diff: src/api.cc

Issue 1106633002: Wrap messages implementation in a function. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@messages_5
Patch Set: fix and rebase Created 5 years, 8 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 unified diff | Download patch
« no previous file with comments | « no previous file | src/bootstrapper.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/api.h" 5 #include "src/api.h"
6 6
7 #include <string.h> // For memcpy, strlen. 7 #include <string.h> // For memcpy, strlen.
8 #ifdef V8_USE_ADDRESS_SANITIZER 8 #ifdef V8_USE_ADDRESS_SANITIZER
9 #include <sanitizer/asan_interface.h> 9 #include <sanitizer/asan_interface.h>
10 #endif // V8_USE_ADDRESS_SANITIZER 10 #endif // V8_USE_ADDRESS_SANITIZER
(...skipping 2253 matching lines...) Expand 10 before | Expand all | Expand 10 after
2264 i::Handle<i::Object> argv[] = { data }; 2264 i::Handle<i::Object> argv[] = { data };
2265 return CallV8HeapFunction(isolate, name, isolate->js_builtins_object(), 2265 return CallV8HeapFunction(isolate, name, isolate->js_builtins_object(),
2266 arraysize(argv), argv); 2266 arraysize(argv), argv);
2267 } 2267 }
2268 2268
2269 2269
2270 Maybe<int> Message::GetLineNumber(Local<Context> context) const { 2270 Maybe<int> Message::GetLineNumber(Local<Context> context) const {
2271 PREPARE_FOR_EXECUTION_PRIMITIVE(context, "v8::Message::GetLineNumber()", int); 2271 PREPARE_FOR_EXECUTION_PRIMITIVE(context, "v8::Message::GetLineNumber()", int);
2272 i::Handle<i::Object> result; 2272 i::Handle<i::Object> result;
2273 has_pending_exception = 2273 has_pending_exception =
2274 !CallV8HeapFunction(isolate, "GetLineNumber", Utils::OpenHandle(this)) 2274 !CallV8HeapFunction(isolate, "$messageGetLineNumber",
2275 .ToHandle(&result); 2275 Utils::OpenHandle(this)).ToHandle(&result);
2276 RETURN_ON_FAILED_EXECUTION_PRIMITIVE(int); 2276 RETURN_ON_FAILED_EXECUTION_PRIMITIVE(int);
2277 return Just(static_cast<int>(result->Number())); 2277 return Just(static_cast<int>(result->Number()));
2278 } 2278 }
2279 2279
2280 2280
2281 int Message::GetLineNumber() const { 2281 int Message::GetLineNumber() const {
2282 auto context = ContextFromHeapObject(Utils::OpenHandle(this)); 2282 auto context = ContextFromHeapObject(Utils::OpenHandle(this));
2283 return GetLineNumber(context).FromMaybe(0); 2283 return GetLineNumber(context).FromMaybe(0);
2284 } 2284 }
2285 2285
2286 2286
2287 int Message::GetStartPosition() const { 2287 int Message::GetStartPosition() const {
2288 auto self = Utils::OpenHandle(this); 2288 auto self = Utils::OpenHandle(this);
2289 return self->start_position(); 2289 return self->start_position();
2290 } 2290 }
2291 2291
2292 2292
2293 int Message::GetEndPosition() const { 2293 int Message::GetEndPosition() const {
2294 auto self = Utils::OpenHandle(this); 2294 auto self = Utils::OpenHandle(this);
2295 return self->end_position(); 2295 return self->end_position();
2296 } 2296 }
2297 2297
2298 2298
2299 Maybe<int> Message::GetStartColumn(Local<Context> context) const { 2299 Maybe<int> Message::GetStartColumn(Local<Context> context) const {
2300 PREPARE_FOR_EXECUTION_PRIMITIVE(context, "v8::Message::GetStartColumn()", 2300 PREPARE_FOR_EXECUTION_PRIMITIVE(context, "v8::Message::GetStartColumn()",
2301 int); 2301 int);
2302 auto self = Utils::OpenHandle(this); 2302 auto self = Utils::OpenHandle(this);
2303 i::Handle<i::Object> start_col_obj; 2303 i::Handle<i::Object> start_col_obj;
2304 has_pending_exception = !CallV8HeapFunction(isolate, "GetPositionInLine", 2304 has_pending_exception =
2305 self).ToHandle(&start_col_obj); 2305 !CallV8HeapFunction(isolate, "$messageGetPositionInLine", self)
2306 .ToHandle(&start_col_obj);
2306 RETURN_ON_FAILED_EXECUTION_PRIMITIVE(int); 2307 RETURN_ON_FAILED_EXECUTION_PRIMITIVE(int);
2307 return Just(static_cast<int>(start_col_obj->Number())); 2308 return Just(static_cast<int>(start_col_obj->Number()));
2308 } 2309 }
2309 2310
2310 2311
2311 int Message::GetStartColumn() const { 2312 int Message::GetStartColumn() const {
2312 auto context = ContextFromHeapObject(Utils::OpenHandle(this)); 2313 auto context = ContextFromHeapObject(Utils::OpenHandle(this));
2313 const int default_value = kNoColumnInfo; 2314 const int default_value = kNoColumnInfo;
2314 return GetStartColumn(context).FromMaybe(default_value); 2315 return GetStartColumn(context).FromMaybe(default_value);
2315 } 2316 }
2316 2317
2317 2318
2318 Maybe<int> Message::GetEndColumn(Local<Context> context) const { 2319 Maybe<int> Message::GetEndColumn(Local<Context> context) const {
2319 PREPARE_FOR_EXECUTION_PRIMITIVE(context, "v8::Message::GetEndColumn()", int); 2320 PREPARE_FOR_EXECUTION_PRIMITIVE(context, "v8::Message::GetEndColumn()", int);
2320 auto self = Utils::OpenHandle(this); 2321 auto self = Utils::OpenHandle(this);
2321 i::Handle<i::Object> start_col_obj; 2322 i::Handle<i::Object> start_col_obj;
2322 has_pending_exception = !CallV8HeapFunction(isolate, "GetPositionInLine", 2323 has_pending_exception =
2323 self).ToHandle(&start_col_obj); 2324 !CallV8HeapFunction(isolate, "$messageGetPositionInLine", self)
2325 .ToHandle(&start_col_obj);
2324 RETURN_ON_FAILED_EXECUTION_PRIMITIVE(int); 2326 RETURN_ON_FAILED_EXECUTION_PRIMITIVE(int);
2325 int start = self->start_position(); 2327 int start = self->start_position();
2326 int end = self->end_position(); 2328 int end = self->end_position();
2327 return Just(static_cast<int>(start_col_obj->Number()) + (end - start)); 2329 return Just(static_cast<int>(start_col_obj->Number()) + (end - start));
2328 } 2330 }
2329 2331
2330 2332
2331 int Message::GetEndColumn() const { 2333 int Message::GetEndColumn() const {
2332 auto context = ContextFromHeapObject(Utils::OpenHandle(this)); 2334 auto context = ContextFromHeapObject(Utils::OpenHandle(this));
2333 const int default_value = kNoColumnInfo; 2335 const int default_value = kNoColumnInfo;
2334 return GetEndColumn(context).FromMaybe(default_value); 2336 return GetEndColumn(context).FromMaybe(default_value);
2335 } 2337 }
2336 2338
2337 2339
2338 bool Message::IsSharedCrossOrigin() const { 2340 bool Message::IsSharedCrossOrigin() const {
2339 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); 2341 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate();
2340 ENTER_V8(isolate); 2342 ENTER_V8(isolate);
2341 auto self = Utils::OpenHandle(this); 2343 auto self = Utils::OpenHandle(this);
2342 auto script = i::Handle<i::JSValue>::cast( 2344 auto script = i::Handle<i::JSValue>::cast(
2343 i::Handle<i::Object>(self->script(), isolate)); 2345 i::Handle<i::Object>(self->script(), isolate));
2344 return i::Script::cast(script->value())->is_shared_cross_origin(); 2346 return i::Script::cast(script->value())->is_shared_cross_origin();
2345 } 2347 }
2346 2348
2347 2349
2348 MaybeLocal<String> Message::GetSourceLine(Local<Context> context) const { 2350 MaybeLocal<String> Message::GetSourceLine(Local<Context> context) const {
2349 PREPARE_FOR_EXECUTION(context, "v8::Message::GetSourceLine()", String); 2351 PREPARE_FOR_EXECUTION(context, "v8::Message::GetSourceLine()", String);
2350 i::Handle<i::Object> result; 2352 i::Handle<i::Object> result;
2351 has_pending_exception = 2353 has_pending_exception =
2352 !CallV8HeapFunction(isolate, "GetSourceLine", Utils::OpenHandle(this)) 2354 !CallV8HeapFunction(isolate, "$messageGetSourceLine",
2353 .ToHandle(&result); 2355 Utils::OpenHandle(this)).ToHandle(&result);
2354 RETURN_ON_FAILED_EXECUTION(String); 2356 RETURN_ON_FAILED_EXECUTION(String);
2355 Local<String> str; 2357 Local<String> str;
2356 if (result->IsString()) { 2358 if (result->IsString()) {
2357 str = Utils::ToLocal(i::Handle<i::String>::cast(result)); 2359 str = Utils::ToLocal(i::Handle<i::String>::cast(result));
2358 } 2360 }
2359 RETURN_ESCAPED(str); 2361 RETURN_ESCAPED(str);
2360 } 2362 }
2361 2363
2362 2364
2363 Local<String> Message::GetSourceLine() const { 2365 Local<String> Message::GetSourceLine() const {
(...skipping 5645 matching lines...) Expand 10 before | Expand all | Expand 10 after
8009 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); 8011 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate());
8010 Address callback_address = 8012 Address callback_address =
8011 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); 8013 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback));
8012 VMState<EXTERNAL> state(isolate); 8014 VMState<EXTERNAL> state(isolate);
8013 ExternalCallbackScope call_scope(isolate, callback_address); 8015 ExternalCallbackScope call_scope(isolate, callback_address);
8014 callback(info); 8016 callback(info);
8015 } 8017 }
8016 8018
8017 8019
8018 } } // namespace v8::internal 8020 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/bootstrapper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698