OLD | NEW |
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 6106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6117 DCHECK(num_flags <= static_cast<int>(arraysize(flags_buf))); | 6117 DCHECK(num_flags <= static_cast<int>(arraysize(flags_buf))); |
6118 return isolate->factory()->InternalizeOneByteString( | 6118 return isolate->factory()->InternalizeOneByteString( |
6119 i::Vector<const uint8_t>(flags_buf, num_flags)); | 6119 i::Vector<const uint8_t>(flags_buf, num_flags)); |
6120 } | 6120 } |
6121 | 6121 |
6122 | 6122 |
6123 MaybeLocal<v8::RegExp> v8::RegExp::New(Local<Context> context, | 6123 MaybeLocal<v8::RegExp> v8::RegExp::New(Local<Context> context, |
6124 Local<String> pattern, Flags flags) { | 6124 Local<String> pattern, Flags flags) { |
6125 PREPARE_FOR_EXECUTION(context, "RegExp::New", RegExp); | 6125 PREPARE_FOR_EXECUTION(context, "RegExp::New", RegExp); |
6126 Local<v8::RegExp> result; | 6126 Local<v8::RegExp> result; |
6127 has_pending_exception = | 6127 has_pending_exception = !ToLocal<RegExp>( |
6128 !ToLocal<RegExp>(i::Execution::NewJSRegExp(Utils::OpenHandle(*pattern), | 6128 i::JSRegExp::New(Utils::OpenHandle(*pattern), RegExpFlagsToString(flags)), |
6129 RegExpFlagsToString(flags)), | 6129 &result); |
6130 &result); | |
6131 RETURN_ON_FAILED_EXECUTION(RegExp); | 6130 RETURN_ON_FAILED_EXECUTION(RegExp); |
6132 RETURN_ESCAPED(result); | 6131 RETURN_ESCAPED(result); |
6133 } | 6132 } |
6134 | 6133 |
6135 | 6134 |
6136 Local<v8::RegExp> v8::RegExp::New(Local<String> pattern, Flags flags) { | 6135 Local<v8::RegExp> v8::RegExp::New(Local<String> pattern, Flags flags) { |
6137 auto isolate = | 6136 auto isolate = |
6138 reinterpret_cast<Isolate*>(Utils::OpenHandle(*pattern)->GetIsolate()); | 6137 reinterpret_cast<Isolate*>(Utils::OpenHandle(*pattern)->GetIsolate()); |
6139 auto context = isolate->GetCurrentContext(); | 6138 auto context = isolate->GetCurrentContext(); |
6140 RETURN_TO_LOCAL_UNCHECKED(New(context, pattern, flags), RegExp); | 6139 RETURN_TO_LOCAL_UNCHECKED(New(context, pattern, flags), RegExp); |
(...skipping 2387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8528 Address callback_address = | 8527 Address callback_address = |
8529 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); | 8528 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); |
8530 VMState<EXTERNAL> state(isolate); | 8529 VMState<EXTERNAL> state(isolate); |
8531 ExternalCallbackScope call_scope(isolate, callback_address); | 8530 ExternalCallbackScope call_scope(isolate, callback_address); |
8532 callback(info); | 8531 callback(info); |
8533 } | 8532 } |
8534 | 8533 |
8535 | 8534 |
8536 } // namespace internal | 8535 } // namespace internal |
8537 } // namespace v8 | 8536 } // namespace v8 |
OLD | NEW |