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

Unified Diff: src/runtime/runtime.h

Issue 1306993003: Call JS functions via native context instead of js builtins object. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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
« src/ast.h ('K') | « src/runtime.js ('k') | src/runtime/runtime.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/runtime/runtime.h
diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h
index 4048cfb9bbbd02bc169bcbd143be1187972b9eb3..637106f30810e4d6632e7f2e8b839c26b4802599 100644
--- a/src/runtime/runtime.h
+++ b/src/runtime/runtime.h
@@ -6,6 +6,7 @@
#define V8_RUNTIME_RUNTIME_H_
#include "src/allocation.h"
+#include "src/contexts.h"
#include "src/objects.h"
#include "src/unicode.h"
#include "src/zone.h"
@@ -303,8 +304,7 @@ namespace internal {
#define FOR_EACH_INTRINSIC_INTERNAL(F) \
F(CheckIsBootstrapping, 0, 1) \
F(ExportPrivateSymbols, 1, 1) \
- F(ImportToRuntime, 1, 1) \
- F(ImportExperimentalToRuntime, 1, 1) \
+ F(ExportToRuntime, 1, 1) \
F(InstallJSBuiltins, 1, 1) \
F(Throw, 1, 1) \
F(ReThrow, 1, 1) \
@@ -982,13 +982,17 @@ class Runtime : public AllStatic {
enum FunctionId {
#define F(name, nargs, ressize) k##name,
#define I(name, nargs, ressize) kInline##name,
- FOR_EACH_INTRINSIC(F) FOR_EACH_INTRINSIC(I)
+#define C(index, type, name) kContext_##name,
+ FOR_EACH_INTRINSIC(F)
+ FOR_EACH_INTRINSIC(I)
+ NATIVE_CONTEXT_IMPORTED_FIELDS(C)
+#undef C
#undef I
#undef F
- kNumFunctions,
+ kNumFunctions,
};
- enum IntrinsicType { RUNTIME, INLINE };
+ enum IntrinsicType { RUNTIME, INLINE, CONTEXT };
Michael Starzinger 2015/08/25 18:12:09 High-level feedback: I am not sure whether overloa
// Intrinsic function descriptor.
struct Function {
@@ -997,14 +1001,19 @@ class Runtime : public AllStatic {
// The JS name of the function.
const char* name;
- // The C++ (native) entry point. NULL if the function is inlined.
- byte* entry;
+ // For RUNTIME functions, this is the C++ entry point.
+ // For INLINE functions this is the C++ entry point of the fall back.
+ // For CONTEXT functions this is the native context index.
+ union {
+ Address entry;
+ Context::Index index;
+ };
// The number of arguments expected. nargs is -1 if the function takes
// a variable number of arguments.
- int nargs;
+ int8_t nargs;
// Size of result. Most functions return a single pointer, size 1.
- int result_size;
+ int8_t result_size;
};
static const int kNotFound = -1;
« src/ast.h ('K') | « src/runtime.js ('k') | src/runtime/runtime.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698