Tuesday 15 January 2013

javascript - Typeof and Expression* in V8 -


I'm experimenting with a V8 engine.

This function exists to compare types in V8 (full-code-x64.cc):

  Zero FullCodeGenerator :: EmitLiteralCompareTypeof (expression * expr, expression  

If for example:

  Obj == "object" type of the sub_expr, handle of  Type  

then sub_expr one expression object "typeob Obj" and check Is an "item" .

How do - not possible (you can not. An expression syntax is a piece of Andreas Rossberg)

By zero, we can get a JSObject that it can check:

  is the OBZ function __CMPObject type (RAX, JS_FONTETIIPEPERDX); The Obj proxy function is __CmpInstanceType (rdx, JS_FUNCTION_PROXY_TYPE); Obj Proxy is __CmpObjectType (rack, FIRST_NONCALLABLE_SPEC_OBJECT_TYPE, RDX); And etc ... Just for example if we will use this code:  
  __CmpObjectType (racks, FIRST_NONCALLABLE_SPEC_OBJECT_TYPE, rdx); __j (equal to, if_true); Type type Proxy_Obj == 'string' --- & gt; True  

How does V8 know about this? This means - V8 run code

You can not do An expression is a piece of syntax, a JSObject is a runtime object. They have nothing to do with each other.


No comments:

Post a Comment