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

Unified Diff: test/cctest/compiler/function-tester.h

Issue 453833003: Add initial support for inlining. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Add initial support for inlining. Created 6 years, 4 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
Index: test/cctest/compiler/function-tester.h
diff --git a/test/cctest/compiler/function-tester.h b/test/cctest/compiler/function-tester.h
index 2ed2fe99883da65ae29d0c40ef287d40b1b41ed0..6568fc7679a35e279502a117de97200a20268c56 100644
--- a/test/cctest/compiler/function-tester.h
+++ b/test/cctest/compiler/function-tester.h
@@ -24,16 +24,25 @@ namespace v8 {
namespace internal {
namespace compiler {
+static void AssertStackDepth(const v8::FunctionCallbackInfo<v8::Value>& args) {
Michael Starzinger 2014/08/12 20:04:46 All of this machinery is pretty specific to inlini
sigurds 2014/08/14 09:54:42 Done.
+ v8::HandleScope scope(args.GetIsolate());
+ v8::Handle<v8::StackTrace> stackTrace = v8::StackTrace::CurrentStackTrace(
+ args.GetIsolate(), 10, v8::StackTrace::kDetailed);
+ CHECK_EQ(args[0]->ToInt32()->Value(), stackTrace->GetFrameCount());
+}
+
class FunctionTester : public InitializedHandleScope {
public:
explicit FunctionTester(const char* source)
- : isolate(main_isolate()),
- function((FLAG_allow_natives_syntax = true, NewFunction(source))) {
+ : isolate(main_isolate()), context(0, GetObjectTemplate()) {
+ FLAG_allow_natives_syntax = true;
+ function = NewFunction(source);
Compile(function);
}
Isolate* isolate;
Handle<JSFunction> function;
+ LocalContext context;
Handle<JSFunction> Compile(Handle<JSFunction> function) {
#if V8_TURBOFAN_TARGET
@@ -70,6 +79,13 @@ class FunctionTester : public InitializedHandleScope {
return function;
}
+ Local<ObjectTemplate> GetObjectTemplate() {
+ Local<ObjectTemplate> templ = ObjectTemplate::New(CcTest::isolate());
+ templ->Set(v8_str("AssertStackDepth"),
+ v8::FunctionTemplate::New(CcTest::isolate(), AssertStackDepth));
+ return templ;
+ }
+
static void EnsureDeoptimizationSupport(CompilationInfo* info) {
bool should_recompile = !info->shared_info()->has_deoptimization_support();
if (should_recompile) {

Powered by Google App Engine
This is Rietveld 408576698