Skip to content

Instantly share code, notes, and snippets.

http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist

  1. In [[Call]], we call the PrepareForOrdinaryCall to setup the callee environment
  2. In PrepareForOrdinaryCall, we create the FunctionEnvironment by calling NewFunctionEnvironment and use it as the callee's environment
  3. After that, we enter OrdinaryCallEvaluateBody, and it calls FunctionDeclarationInstantiation.
  4. Now in FunctionDeclarationInstantiation, reaching here, the current environment is the callee's environment created at the (2).
  5. FunctionDeclarationInstantiation step 11, we check hasParameterExpressions. If there's default parameter values, it becomes true.
  6. At step 21, we create the mutable binding of the all parameters before executing any of parameter assignments. So all the variables in the upper scope that name is the same to the parameters are hidden now.
  7. After that, at step 24 and 25, we initialize (assign) parameter values to the created mutable bindings. Reach
@Constellation
Constellation / gist:4484055e889fe76ff389
Created May 29, 2015 19:07
まんがタイムきららのドキドキ☆ビジュアルコミックス
まんがタイムきららのドキドキ☆ビジュアルコミックス
川井マコトの幸腹グラフィティ
Oh yeah looks delicious 腹ペコデース
春日歩の城下町のダンデライオン
超能力で美味しいレストランに warp
Koi のご注文はうさぎですか?
素敵なカフェデス パンケーキ食ベターイ
この後の脚本はどうしましょう?
シノー 宣伝して!
は 原悠衣のきんいろモザ
/*
Copyright (C) 2015 Yusuke Suzuki <utatane.tea@gmail.com>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
/*
Copyright (C) 2015 Yusuke Suzuki <utatane.tea@gmail.com>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
unsigned start = 0;
if (value.isUInt32())
start = value.asUInt32();
else {
double valueAsNumber = value.toInteger(exec);
if (exec->hadException())
return jsUndefined();
if (valueAsNumber < 0)
start = 0;
else {

There's 3 types.

  • String (1)
  • Symbol
    • Public Symbol (2)
    • Private Symbol (3)

And 2 enumeration modes.

  • Exclude Symbols
[X / _ / X:gpgpu]$ Tools/Scripts/build-jsc --nix --cmakeargs="-DENABLE_ES6_CLASS_SYNTAX=ON -DCMAKE_C_COMPILER=/usr/lib/icecc/bin/gcc -DCMAKE_CXX_COMPILER=/usr/lib/icecc/bin/g++" --makeargs=-j350
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Ninja
-- Check for working CXX compiler using: Ninja -- works
This file has been truncated, but you can view the full file.
{ type: 'Program',
body:
[ { type: 'EmptyStatement', loc: [Object] },
{ type: 'ExpressionStatement',
expression: [Object],
loc: [Object] } ],
loc:
{ start: { line: 1, column: 0 },
end: { line: 32482, column: 1 } } }
enter line:(1)
/*
Copyright (C) 2014 Yusuke Suzuki <utatane.tea@gmail.com>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
This file has been truncated, but you can view the full file.
{ type: 'Program',
body:
[ { type: 'EmptyStatement', loc: [Object] },
{ type: 'ExpressionStatement',
expression: [Object],
loc: [Object] } ],
loc:
{ start: { line: 1, column: 0 },
end: { line: 32482, column: 1 } } }
enter line:(1)