// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// TODO(mythria): Remove this after this flag is turned on globally
+#define V8_IMMINENT_DEPRECATION_WARNINGS
+
#include <stdlib.h>
#include "src/v8.h"
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+// TODO(mythria): Remove this after this flag is turned on globally
+#define V8_IMMINENT_DEPRECATION_WARNINGS
+
#include <stdlib.h>
#include "src/v8.h"
LocalContext context;
v8::Isolate* isolate = context->GetIsolate();
v8::HandleScope handle_scope(isolate);
+ v8::Local<v8::Context> current_context = isolate->GetCurrentContext();
v8::Local<v8::FunctionTemplate> t0 = v8::FunctionTemplate::New(isolate);
v8::Local<v8::FunctionTemplate> t1 = v8::FunctionTemplate::New(isolate);
t1->SetHiddenPrototype(true);
- v8::Local<v8::Object> object = t0->GetFunction()->NewInstance();
- v8::Local<v8::Object> hidden_prototype = t1->GetFunction()->NewInstance();
-
- object->SetPrototype(hidden_prototype);
-
- context->Global()->Set(v8_str("object"), object);
- context->Global()->Set(v8_str("hidden_prototype"), hidden_prototype);
-
- CHECK_EQ(1, CompileRun(
- "var result;"
- "var x = 0;"
- "object.x = 1;"
- "with (object) {"
- " result = x;"
- "}"
- "result")->Int32Value());
+ v8::Local<v8::Object> object = t0->GetFunction(current_context)
+ .ToLocalChecked()
+ ->NewInstance(current_context)
+ .ToLocalChecked();
+ v8::Local<v8::Object> hidden_prototype = t1->GetFunction(current_context)
+ .ToLocalChecked()
+ ->NewInstance(current_context)
+ .ToLocalChecked();
+
+ CHECK(object->SetPrototype(current_context, hidden_prototype).FromJust());
+
+ context->Global()
+ ->Set(current_context, v8_str("object"), object)
+ .FromMaybe(false);
+ context->Global()
+ ->Set(current_context, v8_str("hidden_prototype"), hidden_prototype)
+ .FromMaybe(false);
+
+ CHECK_EQ(1, CompileRun("var result;"
+ "var x = 0;"
+ "object.x = 1;"
+ "with (object) {"
+ " result = x;"
+ "}"
+ "result")
+ ->Int32Value(current_context)
+ .FromJust());
Cleanup();
- CHECK_EQ(2, CompileRun(
- "var result;"
- "var x = 0;"
- "hidden_prototype.x = 2;"
- "with (object) {"
- " result = x;"
- "}"
- "result")->Int32Value());
+ CHECK_EQ(2, CompileRun("var result;"
+ "var x = 0;"
+ "hidden_prototype.x = 2;"
+ "with (object) {"
+ " result = x;"
+ "}"
+ "result")
+ ->Int32Value(current_context)
+ .FromJust());
Cleanup();
- CHECK_EQ(0, CompileRun(
- "var result;"
- "var x = 0;"
- "object.x = 3;"
- "object[Symbol.unscopables] = {x: true};"
- "with (object) {"
- " result = x;"
- "}"
- "result")->Int32Value());
+ CHECK_EQ(0, CompileRun("var result;"
+ "var x = 0;"
+ "object.x = 3;"
+ "object[Symbol.unscopables] = {x: true};"
+ "with (object) {"
+ " result = x;"
+ "}"
+ "result")
+ ->Int32Value(current_context)
+ .FromJust());
Cleanup();
- CHECK_EQ(0, CompileRun(
- "var result;"
- "var x = 0;"
- "hidden_prototype.x = 4;"
- "hidden_prototype[Symbol.unscopables] = {x: true};"
- "with (object) {"
- " result = x;"
- "}"
- "result")->Int32Value());
+ CHECK_EQ(0, CompileRun("var result;"
+ "var x = 0;"
+ "hidden_prototype.x = 4;"
+ "hidden_prototype[Symbol.unscopables] = {x: true};"
+ "with (object) {"
+ " result = x;"
+ "}"
+ "result")
+ ->Int32Value(current_context)
+ .FromJust());
Cleanup();
- CHECK_EQ(0, CompileRun(
- "var result;"
- "var x = 0;"
- "object.x = 5;"
- "hidden_prototype[Symbol.unscopables] = {x: true};"
- "with (object) {"
- " result = x;"
- "}"
- "result;")->Int32Value());
+ CHECK_EQ(0, CompileRun("var result;"
+ "var x = 0;"
+ "object.x = 5;"
+ "hidden_prototype[Symbol.unscopables] = {x: true};"
+ "with (object) {"
+ " result = x;"
+ "}"
+ "result;")
+ ->Int32Value(current_context)
+ .FromJust());
Cleanup();
- CHECK_EQ(0, CompileRun(
- "var result;"
- "var x = 0;"
- "hidden_prototype.x = 6;"
- "object[Symbol.unscopables] = {x: true};"
- "with (object) {"
- " result = x;"
- "}"
- "result")->Int32Value());
+ CHECK_EQ(0, CompileRun("var result;"
+ "var x = 0;"
+ "hidden_prototype.x = 6;"
+ "object[Symbol.unscopables] = {x: true};"
+ "with (object) {"
+ " result = x;"
+ "}"
+ "result")
+ ->Int32Value(current_context)
+ .FromJust());
}
}
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// TODO(mythria): Remove this after this flag is turned on globally
+#define V8_IMMINENT_DEPRECATION_WARNINGS
+
#include "src/v8.h"
#include "src/arm64/utils-arm64.h"
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// TODO(mythria): Remove this after it is turned on globally
+#define V8_IMMINENT_DEPRECATION_WARNINGS
+
#include <stdlib.h>
#include <vector>
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// TODO(mythria): Remove this after this flag is turned on globally
+#define V8_IMMINENT_DEPRECATION_WARNINGS
+
#include "src/v8.h"
#include "src/version.h"
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// TODO(mythria): Remove this after this flag is turned on globally
+#define V8_IMMINENT_DEPRECATION_WARNINGS
+
#include <utility>
#include "src/v8.h"
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// TODO(mythria): Remove this after this flag is turned on globally
+#define V8_IMMINENT_DEPRECATION_WARNINGS
+
#include <utility>
#include "src/v8.h"
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// TODO(mythria): Remove this after this flag is turned on globally
+#define V8_IMMINENT_DEPRECATION_WARNINGS
+
#include "test/cctest/trace-extension.h"
#include "src/sampler.h"
"native function js_entry_sp_level2();";
-v8::Handle<v8::FunctionTemplate> TraceExtension::GetNativeFunctionTemplate(
- v8::Isolate* isolate, v8::Handle<v8::String> name) {
- if (name->Equals(v8::String::NewFromUtf8(isolate, "trace"))) {
+v8::Local<v8::FunctionTemplate> TraceExtension::GetNativeFunctionTemplate(
+ v8::Isolate* isolate, v8::Local<v8::String> name) {
+ v8::Local<v8::Context> context = isolate->GetCurrentContext();
+ if (name->Equals(context, v8::String::NewFromUtf8(isolate, "trace",
+ v8::NewStringType::kNormal)
+ .ToLocalChecked())
+ .FromJust()) {
return v8::FunctionTemplate::New(isolate, TraceExtension::Trace);
- } else if (name->Equals(v8::String::NewFromUtf8(isolate, "js_trace"))) {
+ } else if (name->Equals(context,
+ v8::String::NewFromUtf8(isolate, "js_trace",
+ v8::NewStringType::kNormal)
+ .ToLocalChecked())
+ .FromJust()) {
return v8::FunctionTemplate::New(isolate, TraceExtension::JSTrace);
- } else if (name->Equals(v8::String::NewFromUtf8(isolate, "js_entry_sp"))) {
+ } else if (name->Equals(context,
+ v8::String::NewFromUtf8(isolate, "js_entry_sp",
+ v8::NewStringType::kNormal)
+ .ToLocalChecked())
+ .FromJust()) {
return v8::FunctionTemplate::New(isolate, TraceExtension::JSEntrySP);
- } else if (name->Equals(v8::String::NewFromUtf8(isolate,
- "js_entry_sp_level2"))) {
+ } else if (name->Equals(context,
+ v8::String::NewFromUtf8(isolate, "js_entry_sp_level2",
+ v8::NewStringType::kNormal)
+ .ToLocalChecked())
+ .FromJust()) {
return v8::FunctionTemplate::New(isolate, TraceExtension::JSEntrySPLevel2);
} else {
CHECK(false);
- return v8::Handle<v8::FunctionTemplate>();
+ return v8::Local<v8::FunctionTemplate>();
}
}
class TraceExtension : public v8::Extension {
public:
TraceExtension() : v8::Extension("v8/trace", kSource) { }
- virtual v8::Handle<v8::FunctionTemplate> GetNativeFunctionTemplate(
- v8::Isolate* isolate,
- v8::Handle<v8::String> name);
+ virtual v8::Local<v8::FunctionTemplate> GetNativeFunctionTemplate(
+ v8::Isolate* isolate, v8::Local<v8::String> name);
static void Trace(const v8::FunctionCallbackInfo<v8::Value>& args);
static void JSTrace(const v8::FunctionCallbackInfo<v8::Value>& args);
static void JSEntrySP(const v8::FunctionCallbackInfo<v8::Value>& args);