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

Unified Diff: src/debug/mirrors.js

Issue 1419813010: [runtime] Remove the very dangerous %_CallFunction intrinsic. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 1 month 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
« no previous file with comments | « src/debug/debug.js ('k') | src/full-codegen/arm/full-codegen-arm.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/debug/mirrors.js
diff --git a/src/debug/mirrors.js b/src/debug/mirrors.js
index 9725aa0eb54b2641bd572796ced4b8d2b1888679..5ff3e34955942e40692ccae94860d0f1cf951b54 100644
--- a/src/debug/mirrors.js
+++ b/src/debug/mirrors.js
@@ -544,7 +544,7 @@ Mirror.prototype.toText = function() {
* @extends Mirror
*/
function ValueMirror(type, value, transient) {
- %_CallFunction(this, type, Mirror);
+ %_Call(Mirror, this, type);
this.value_ = value;
if (!transient) {
this.allocateHandle_();
@@ -590,7 +590,7 @@ ValueMirror.prototype.value = function() {
* @extends ValueMirror
*/
function UndefinedMirror() {
- %_CallFunction(this, MirrorType.UNDEFINED_TYPE, UNDEFINED, ValueMirror);
+ %_Call(ValueMirror, this, MirrorType.UNDEFINED_TYPE, UNDEFINED);
}
inherits(UndefinedMirror, ValueMirror);
@@ -606,7 +606,7 @@ UndefinedMirror.prototype.toText = function() {
* @extends ValueMirror
*/
function NullMirror() {
- %_CallFunction(this, MirrorType.NULL_TYPE, null, ValueMirror);
+ %_Call(ValueMirror, this, MirrorType.NULL_TYPE, null);
}
inherits(NullMirror, ValueMirror);
@@ -623,7 +623,7 @@ NullMirror.prototype.toText = function() {
* @extends ValueMirror
*/
function BooleanMirror(value) {
- %_CallFunction(this, MirrorType.BOOLEAN_TYPE, value, ValueMirror);
+ %_Call(ValueMirror, this, MirrorType.BOOLEAN_TYPE, value);
}
inherits(BooleanMirror, ValueMirror);
@@ -640,7 +640,7 @@ BooleanMirror.prototype.toText = function() {
* @extends ValueMirror
*/
function NumberMirror(value) {
- %_CallFunction(this, MirrorType.NUMBER_TYPE, value, ValueMirror);
+ %_Call(ValueMirror, this, MirrorType.NUMBER_TYPE, value);
}
inherits(NumberMirror, ValueMirror);
@@ -657,7 +657,7 @@ NumberMirror.prototype.toText = function() {
* @extends ValueMirror
*/
function StringMirror(value) {
- %_CallFunction(this, MirrorType.STRING_TYPE, value, ValueMirror);
+ %_Call(ValueMirror, this, MirrorType.STRING_TYPE, value);
}
inherits(StringMirror, ValueMirror);
@@ -686,7 +686,7 @@ StringMirror.prototype.toText = function() {
* @extends Mirror
*/
function SymbolMirror(value) {
- %_CallFunction(this, MirrorType.SYMBOL_TYPE, value, ValueMirror);
+ %_Call(ValueMirror, this, MirrorType.SYMBOL_TYPE, value);
}
inherits(SymbolMirror, ValueMirror);
@@ -697,7 +697,7 @@ SymbolMirror.prototype.description = function() {
SymbolMirror.prototype.toText = function() {
- return %_CallFunction(this.value_, SymbolToString);
+ return %_Call(SymbolToString, this.value_);
}
@@ -711,7 +711,7 @@ SymbolMirror.prototype.toText = function() {
*/
function ObjectMirror(value, type, transient) {
type = type || MirrorType.OBJECT_TYPE;
- %_CallFunction(this, type, value, transient, ValueMirror);
+ %_Call(ValueMirror, this, type, value, transient);
}
inherits(ObjectMirror, ValueMirror);
@@ -961,7 +961,7 @@ ObjectMirror.GetInternalProperties = function(value) {
* @extends ObjectMirror
*/
function FunctionMirror(value) {
- %_CallFunction(this, value, MirrorType.FUNCTION_TYPE, ObjectMirror);
+ %_Call(ObjectMirror, this, value, MirrorType.FUNCTION_TYPE);
this.resolved_ = true;
}
inherits(FunctionMirror, ObjectMirror);
@@ -1115,7 +1115,7 @@ FunctionMirror.prototype.toText = function() {
function UnresolvedFunctionMirror(value) {
// Construct this using the ValueMirror as an unresolved function is not a
// real object but just a string.
- %_CallFunction(this, MirrorType.FUNCTION_TYPE, value, ValueMirror);
+ %_Call(ValueMirror, this, MirrorType.FUNCTION_TYPE, value);
this.propertyCount_ = 0;
this.elementCount_ = 0;
this.resolved_ = false;
@@ -1165,7 +1165,7 @@ UnresolvedFunctionMirror.prototype.propertyNames = function(kind, limit) {
* @extends ObjectMirror
*/
function ArrayMirror(value) {
- %_CallFunction(this, value, ObjectMirror);
+ %_Call(ObjectMirror, this, value);
}
inherits(ArrayMirror, ObjectMirror);
@@ -1202,7 +1202,7 @@ ArrayMirror.prototype.indexedPropertiesFromRange = function(opt_from_index,
* @extends ObjectMirror
*/
function DateMirror(value) {
- %_CallFunction(this, value, ObjectMirror);
+ %_Call(ObjectMirror, this, value);
}
inherits(DateMirror, ObjectMirror);
@@ -1220,7 +1220,7 @@ DateMirror.prototype.toText = function() {
* @extends ObjectMirror
*/
function RegExpMirror(value) {
- %_CallFunction(this, value, MirrorType.REGEXP_TYPE, ObjectMirror);
+ %_Call(ObjectMirror, this, value, MirrorType.REGEXP_TYPE);
}
inherits(RegExpMirror, ObjectMirror);
@@ -1292,7 +1292,7 @@ RegExpMirror.prototype.toText = function() {
* @extends ObjectMirror
*/
function ErrorMirror(value) {
- %_CallFunction(this, value, MirrorType.ERROR_TYPE, ObjectMirror);
+ %_Call(ObjectMirror, this, value, MirrorType.ERROR_TYPE);
}
inherits(ErrorMirror, ObjectMirror);
@@ -1310,7 +1310,7 @@ ErrorMirror.prototype.toText = function() {
// Use the same text representation as in messages.js.
var text;
try {
- text = %_CallFunction(this.value_, ErrorToString);
+ text = %_Call(ErrorToString, this.value_);
} catch (e) {
text = '#<Error>';
}
@@ -1325,7 +1325,7 @@ ErrorMirror.prototype.toText = function() {
* @extends ObjectMirror
*/
function PromiseMirror(value) {
- %_CallFunction(this, value, MirrorType.PROMISE_TYPE, ObjectMirror);
+ %_Call(ObjectMirror, this, value, MirrorType.PROMISE_TYPE);
}
inherits(PromiseMirror, ObjectMirror);
@@ -1354,7 +1354,7 @@ PromiseMirror.prototype.promiseValue = function() {
function MapMirror(value) {
- %_CallFunction(this, value, MirrorType.MAP_TYPE, ObjectMirror);
+ %_Call(ObjectMirror, this, value, MirrorType.MAP_TYPE);
}
inherits(MapMirror, ObjectMirror);
@@ -1380,7 +1380,7 @@ MapMirror.prototype.entries = function(opt_limit) {
return result;
}
- var iter = %_CallFunction(this.value_, MapEntries);
+ var iter = %_Call(MapEntries, this.value_);
var next;
while ((!opt_limit || result.length < opt_limit) &&
!(next = iter.next()).done) {
@@ -1394,7 +1394,7 @@ MapMirror.prototype.entries = function(opt_limit) {
function SetMirror(value) {
- %_CallFunction(this, value, MirrorType.SET_TYPE, ObjectMirror);
+ %_Call(ObjectMirror, this, value, MirrorType.SET_TYPE);
}
inherits(SetMirror, ObjectMirror);
@@ -1403,7 +1403,7 @@ function IteratorGetValues_(iter, next_function, opt_limit) {
var result = [];
var next;
while ((!opt_limit || result.length < opt_limit) &&
- !(next = %_CallFunction(iter, next_function)).done) {
+ !(next = %_Call(next_function, iter)).done) {
result.push(next.value);
}
return result;
@@ -1422,13 +1422,13 @@ SetMirror.prototype.values = function(opt_limit) {
return %GetWeakSetValues(this.value_, opt_limit || 0);
}
- var iter = %_CallFunction(this.value_, SetValues);
+ var iter = %_Call(SetValues, this.value_);
return IteratorGetValues_(iter, SetIteratorNext, opt_limit);
};
function IteratorMirror(value) {
- %_CallFunction(this, value, MirrorType.ITERATOR_TYPE, ObjectMirror);
+ %_Call(ObjectMirror, this, value, MirrorType.ITERATOR_TYPE);
}
inherits(IteratorMirror, ObjectMirror);
@@ -1460,7 +1460,7 @@ IteratorMirror.prototype.preview = function(opt_limit) {
* @extends Mirror
*/
function GeneratorMirror(value) {
- %_CallFunction(this, value, MirrorType.GENERATOR_TYPE, ObjectMirror);
+ %_Call(ObjectMirror, this, value, MirrorType.GENERATOR_TYPE);
}
inherits(GeneratorMirror, ObjectMirror);
@@ -1527,7 +1527,7 @@ GeneratorMirror.prototype.receiver = function() {
* @extends Mirror
*/
function PropertyMirror(mirror, name, details) {
- %_CallFunction(this, MirrorType.PROPERTY_TYPE, Mirror);
+ %_Call(Mirror, this, MirrorType.PROPERTY_TYPE);
this.mirror_ = mirror;
this.name_ = name;
this.value_ = details[0];
@@ -1670,7 +1670,7 @@ PropertyMirror.prototype.isNative = function() {
* @extends Mirror
*/
function InternalPropertyMirror(name, value) {
- %_CallFunction(this, MirrorType.INTERNAL_PROPERTY_TYPE, Mirror);
+ %_Call(Mirror, this, MirrorType.INTERNAL_PROPERTY_TYPE);
this.name_ = name;
this.value_ = value;
}
@@ -1883,7 +1883,7 @@ FrameDetails.prototype.stepInPositionsImpl = function() {
* @extends Mirror
*/
function FrameMirror(break_id, index) {
- %_CallFunction(this, MirrorType.FRAME_TYPE, Mirror);
+ %_Call(Mirror, this, MirrorType.FRAME_TYPE);
this.break_id_ = break_id;
this.index_ = index;
this.details_ = new FrameDetails(break_id, index);
@@ -2314,7 +2314,7 @@ ScopeDetails.prototype.setVariableValueImpl = function(name, new_value) {
* @extends Mirror
*/
function ScopeMirror(frame, fun, index, opt_details) {
- %_CallFunction(this, MirrorType.SCOPE_TYPE, Mirror);
+ %_Call(Mirror, this, MirrorType.SCOPE_TYPE);
if (frame) {
this.frame_index_ = frame.index_;
} else {
@@ -2369,7 +2369,7 @@ ScopeMirror.prototype.setVariableValue = function(name, new_value) {
* @extends Mirror
*/
function ScriptMirror(script) {
- %_CallFunction(this, MirrorType.SCRIPT_TYPE, Mirror);
+ %_Call(Mirror, this, MirrorType.SCRIPT_TYPE);
this.script_ = script;
this.context_ = new ContextMirror(script.context_data);
this.allocateHandle_();
@@ -2490,7 +2490,7 @@ ScriptMirror.prototype.toText = function() {
* @extends Mirror
*/
function ContextMirror(data) {
- %_CallFunction(this, MirrorType.CONTEXT_TYPE, Mirror);
+ %_Call(Mirror, this, MirrorType.CONTEXT_TYPE);
this.data_ = data;
this.allocateHandle_();
}
« no previous file with comments | « src/debug/debug.js ('k') | src/full-codegen/arm/full-codegen-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698