mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-27 12:15:33 +00:00
Bug 1066234 - Part 5: Implement JSOP_OBJWITHPROTO. (r=jorendorff)
This commit is contained in:
parent
e61516dc68
commit
bde88f8031
@ -1650,7 +1650,6 @@ CASE(EnableInterruptsPseudoOpcode)
|
||||
/* Various 1-byte no-ops. */
|
||||
CASE(JSOP_NOP)
|
||||
CASE(JSOP_UNUSED2)
|
||||
CASE(JSOP_UNUSED83)
|
||||
CASE(JSOP_UNUSED92)
|
||||
CASE(JSOP_UNUSED103)
|
||||
CASE(JSOP_UNUSED104)
|
||||
@ -3576,6 +3575,19 @@ CASE(JSOP_FUNWITHPROTO)
|
||||
}
|
||||
END_CASE(JSOP_FUNWITHPROTO)
|
||||
|
||||
CASE(JSOP_OBJWITHPROTO)
|
||||
{
|
||||
RootedObject &proto = rootObject0;
|
||||
proto = REGS.sp[-1].toObjectOrNull();
|
||||
|
||||
JSObject *obj = NewObjectWithGivenProto<PlainObject>(cx, proto, cx->global());
|
||||
if (!obj)
|
||||
goto error;
|
||||
|
||||
REGS.sp[-1].setObject(*obj);
|
||||
}
|
||||
END_CASE(JSOP_OBJWITHPROTO)
|
||||
|
||||
DEFAULT()
|
||||
{
|
||||
char numBuf[12];
|
||||
|
@ -768,8 +768,15 @@
|
||||
* nuses: (argc+2)
|
||||
*/ \
|
||||
macro(JSOP_NEW, 82, js_new_str, NULL, 3, -1, 1, JOF_UINT16|JOF_INVOKE|JOF_TYPESET) \
|
||||
\
|
||||
macro(JSOP_UNUSED83, 83, "unused83", NULL, 1, 0, 0, JOF_BYTE) \
|
||||
/*
|
||||
* Pushes newly created object onto the stack with provided [[Prototype]].
|
||||
*
|
||||
* Category: Literals
|
||||
* Type: Object
|
||||
* Operands:
|
||||
* Stack: proto => obj
|
||||
*/ \
|
||||
macro(JSOP_OBJWITHPROTO, 83, "objwithproto", NULL, 1, 1, 1, JOF_BYTE) \
|
||||
\
|
||||
/*
|
||||
* Fast get op for function arguments and local variables.
|
||||
|
@ -29,7 +29,7 @@ namespace js {
|
||||
*
|
||||
* https://developer.mozilla.org/en-US/docs/SpiderMonkey/Internals/Bytecode
|
||||
*/
|
||||
static const uint32_t XDR_BYTECODE_VERSION_SUBTRAHEND = 254;
|
||||
static const uint32_t XDR_BYTECODE_VERSION_SUBTRAHEND = 255;
|
||||
static const uint32_t XDR_BYTECODE_VERSION =
|
||||
uint32_t(0xb973c0de - XDR_BYTECODE_VERSION_SUBTRAHEND);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user