- 11 Dec, 2015 2 commits
-
-
bmeurer authored
Instead desugar the default constructor for derived classes using the same mechanism we use for normal super constructor calls. TBR=rossberg@chromium.org R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1517243002 Cr-Commit-Position: refs/heads/master@{#32810}
-
bmeurer authored
The %GetPrototype runtime function does a lot more than the GetSuperConstructor specified in ES6 12.3.5.2. So this introduces a proper %_GetSuperConstructor instead with support in TurboFan. R=jarin@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/1522503002 Cr-Commit-Position: refs/heads/master@{#32804}
-
- 07 Dec, 2015 1 commit
-
-
neis authored
- Add JSReceiver::SetIntegrityLevel, with a fast path for regular objects. - Make Object.{freeze,seal} call this via %Object{Freeze,Seal}, thus no longer using broken or deprecated functions from v8natives.js. - Add JSReceiver::OwnPropertyKeys convenience function. - Reenable harmony/proxies-hash.js test. R=rossberg BUG=v8:1543 LOG=N Review URL: https://codereview.chromium.org/1489423002 Cr-Commit-Position: refs/heads/master@{#32651}
-
- 30 Nov, 2015 1 commit
-
-
neis authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1476403004 Cr-Commit-Position: refs/heads/master@{#32398}
-
- 24 Nov, 2015 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1467473002 Cr-Commit-Position: refs/heads/master@{#32223}
-
- 19 Nov, 2015 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1448933002 Cr-Commit-Position: refs/heads/master@{#32120}
-
- 17 Nov, 2015 2 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1453113002 Cr-Commit-Position: refs/heads/master@{#32044}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1442643009 Cr-Commit-Position: refs/heads/master@{#32023}
-
- 30 Oct, 2015 1 commit
-
-
neis authored
This is in preparation of implementing Reflect.set. Besides making SetSuperProperty and others return Maybe<bool>, this CL also fixes some parts of my previous refactoring of SetProperty and others: It doesn't make sense to take both a language_mode and a should_throw argument. A strict language_mode should imply THROW_ON_ERROR. R=rossberg, verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1431443003 Cr-Commit-Position: refs/heads/master@{#31678}
-
- 26 Oct, 2015 3 commits
-
-
machenbach authored
Revert of Assume that ReportFailedAccessCheck always schedules an exception. (patchset #1 id:1 of https://codereview.chromium.org/1420413002/ ) Reason for revert: [Sheriff] Crashes in layout tests: http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/2539 # # Fatal error in , line 0 # unreachable code # Original issue's description: > Assume that ReportFailedAccessCheck always schedules an exception. > > R=verwaest@chromium.org > BUG= > > Committed: https://crrev.com/effe76ad25c23bfd8be447930bd5d5126b1c9096 > Cr-Commit-Position: refs/heads/master@{#31560} TBR=verwaest@chromium.org,neis@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1424703002 Cr-Commit-Position: refs/heads/master@{#31571}
-
neis authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1420413002 Cr-Commit-Position: refs/heads/master@{#31560}
-
verwaest authored
BUG=v8:3330 LOG=n Review URL: https://codereview.chromium.org/1419583007 Cr-Commit-Position: refs/heads/master@{#31548}
-
- 23 Oct, 2015 1 commit
-
-
neis authored
This is in preparation of implementing Reflect.set. R=rossberg BUG= Review URL: https://codereview.chromium.org/1394983005 Cr-Commit-Position: refs/heads/master@{#31501}
-
- 22 Oct, 2015 1 commit
-
-
neis authored
Proxies are not properly supported yet. R=rossberg BUG=v8:3931 LOG=n Review URL: https://codereview.chromium.org/1417243002 Cr-Commit-Position: refs/heads/master@{#31465}
-
- 09 Oct, 2015 1 commit
-
-
jochen authored
This will allow for probing access from any context to any receiver in a future CL. BUG=none R=jkummerow@chromium.org,verwaest@chromium.org LOG=n Review URL: https://codereview.chromium.org/1398093002 Cr-Commit-Position: refs/heads/master@{#31196}
-
- 25 Sep, 2015 1 commit
-
-
bmeurer authored
The actual Function.prototype.toMethod was removed some time already, but there were some stuff (esp. %ToMethod) left in the tree, including tests for %ToMethod. This code (and esp. the tests) cause trouble in the process of moving bound functions away from JSFunction; so since the code is unused anyway, we can as well remove it. The original removal of Function.prototype.toMethod was in February 2015 in 68e48975. R=jarin@chromium.org BUG=v8:3330 LOG=n Review URL: https://codereview.chromium.org/1366063002 Cr-Commit-Position: refs/heads/master@{#30925}
-
- 24 Sep, 2015 3 commits
-
-
bmeurer authored
There was already a bit on the Map named "function with prototype", which basically meant that the Map was a map for a JSFunction that could be used as a constructor. Now this CL generalizes that bit to IsConstructor, which says that whatever (Heap)Object you are looking at can be used as a constructor (i.e. the bit is also set for bound functions that can be used as constructors and proxies that have a [[Construct]] internal method). This way we have a single chokepoint for IsConstructor checking, which allows us to get rid of the various ways in which we tried to guess whether something could be used as a constructor or not. Drive-by-fix: Renamed IsConstructor on FunctionKind to IsClassConstructor to resolve the weird name clash, and the IsClassConstructor name also matches the spec. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=jarin@chromium.org, rossberg@chromium.org BUG=v8:4413, v8:4430 LOG=n Committed: https://crrev.com/8de4d9351df4cf66c8a128d561a6e331d196be54 Cr-Commit-Position: refs/heads/master@{#30900} Review URL: https://codereview.chromium.org/1358423002 Cr-Commit-Position: refs/heads/master@{#30902}
-
bmeurer authored
Revert of [es6] Introduce spec compliant IsConstructor. (patchset #2 id:20001 of https://codereview.chromium.org/1358423002/ ) Reason for revert: Failed on Fuzzer and MIPS bot. Original issue's description: > [es6] Introduce spec compliant IsConstructor. > > There was already a bit on the Map named "function with prototype", > which basically meant that the Map was a map for a JSFunction that could > be used as a constructor. Now this CL generalizes that bit to > IsConstructor, which says that whatever (Heap)Object you are looking at > can be used as a constructor (i.e. the bit is also set for bound > functions that can be used as constructors and proxies that have a > [[Construct]] internal method). > > This way we have a single chokepoint for IsConstructor checking, which > allows us to get rid of the various ways in which we tried to guess > whether something could be used as a constructor or not. > > Drive-by-fix: Renamed IsConstructor on FunctionKind to > IsClassConstructor to resolve the weird name clash, and the > IsClassConstructor name also matches the spec. > > R=jarin@chromium.org, rossberg@chromium.org > BUG=v8:4430 > LOG=n > > Committed: https://crrev.com/8de4d9351df4cf66c8a128d561a6e331d196be54 > Cr-Commit-Position: refs/heads/master@{#30900} TBR=jarin@chromium.org,rossberg@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4430 Review URL: https://codereview.chromium.org/1360403002 Cr-Commit-Position: refs/heads/master@{#30901}
-
bmeurer authored
There was already a bit on the Map named "function with prototype", which basically meant that the Map was a map for a JSFunction that could be used as a constructor. Now this CL generalizes that bit to IsConstructor, which says that whatever (Heap)Object you are looking at can be used as a constructor (i.e. the bit is also set for bound functions that can be used as constructors and proxies that have a [[Construct]] internal method). This way we have a single chokepoint for IsConstructor checking, which allows us to get rid of the various ways in which we tried to guess whether something could be used as a constructor or not. Drive-by-fix: Renamed IsConstructor on FunctionKind to IsClassConstructor to resolve the weird name clash, and the IsClassConstructor name also matches the spec. R=jarin@chromium.org, rossberg@chromium.org BUG=v8:4430 LOG=n Review URL: https://codereview.chromium.org/1358423002 Cr-Commit-Position: refs/heads/master@{#30900}
-
- 23 Sep, 2015 1 commit
-
-
bmeurer authored
Now both Execution::Call and Execution::New can deal with any kind of target and will raise a proper exception if the target is not callable (which is not yet spec compliant for New, as we would have to check IsConstructor instead, which we don't have yet). Now we no longer need to do any of these weird call/construct delegate gymnastics in C++, and we finally have a single true bottleneck for Call/Construct abstract operations in the code base, with only a few special handlings left in the compilers to optimize the JSFunction case. R=jarin@chromium.org BUG=v8:4430, v8:4413 LOG=n Review URL: https://codereview.chromium.org/1360793002 Cr-Commit-Position: refs/heads/master@{#30874}
-
- 22 Sep, 2015 2 commits
-
-
conradw authored
Weak classes can inherit from strong ones again, a strong base class makes instances strong. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1347243004 Cr-Commit-Position: refs/heads/master@{#30867}
-
bmeurer authored
Introduce new builtins Construct and ConstructFunction (in line with the Call and CallFunction builtins that we already have) as proper bottleneck for Construct and [[Construct]] on JSFunctions. Use these builtins to support passing NewTarget from C++ to JavaScript land. Long-term we want the CallConstructStub to be used for gathering feedback on entry to construction chain (i.e. the initial new Foo), and use the Construct builtins to do the actual work inside the construction chain (i.e. calling into super and stuff). MIPS and MIPS64 ports contributed by akos.palfi@imgtec.com. R=jarin@chromium.org BUG=v8:4430 LOG=n Review URL: https://codereview.chromium.org/1359583002 Cr-Commit-Position: refs/heads/master@{#30857}
-
- 09 Sep, 2015 2 commits
-
-
mstarzinger authored
This desugars the loading of the super constructor function using the %GetPrototype runtime function in the parser. The produced code remains the same while fewer parts need to be glued together. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1321343004 Cr-Commit-Position: refs/heads/master@{#30664}
-
mstarzinger authored
This makes the C++ fallback implementations for the two intrinsics, %Arguments and %ArgumentsLength composable with respect to inlining. Using deoptimization information gives us accurate data here. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-4374 BUG=v8:4374 LOG=n Review URL: https://codereview.chromium.org/1328363002 Cr-Commit-Position: refs/heads/master@{#30654}
-
- 03 Sep, 2015 1 commit
-
-
bmeurer authored
This turns the has_instance_call_handler bit on Map into an is_callable bit, that matches the spec definition of IsCallable (i.e. instances have [[Call]] internal methods). Also fix the typeof operator to properly say "function" for everything that is callable. Also remove the (unused) premature %_GetPrototype optimization from Crankshaft, which just complicated the Map bit swap. R=mstarzinger@chromium.org, rossberg@chromium.org, yangguo@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg Review URL: https://codereview.chromium.org/1316933002 Cr-Commit-Position: refs/heads/master@{#30552}
-
- 02 Sep, 2015 1 commit
-
-
conradw authored
Prerequisite for sealing strong class instances. Depends on https://codereview.chromium.org/1314203002/ BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1316333002 Cr-Commit-Position: refs/heads/master@{#30541}
-
- 01 Sep, 2015 1 commit
-
-
mstarzinger authored
This CL us a pure refactoring that makes an empty compilation unit including just "isolate.h" or "contexts.h" but not "objects-inl.h" compile without warnings or errors. This is needed to further reduce the header dependency tangle. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1322883002 Cr-Commit-Position: refs/heads/master@{#30500}
-
- 27 Aug, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1306043003 Cr-Commit-Position: refs/heads/master@{#30409}
-
- 26 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1314493006 Cr-Commit-Position: refs/heads/master@{#30389}
-
- 18 Aug, 2015 1 commit
-
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1293053004 Cr-Commit-Position: refs/heads/master@{#30232}
-
- 12 Aug, 2015 2 commits
-
-
yangguo authored
We don't need it, as we can grab it from the shared function info. Having it triggers an assertion if we define classes in native JS. R=bmeurer@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/1290703002 Cr-Commit-Position: refs/heads/master@{#30134}
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1283183002 Cr-Commit-Position: refs/heads/master@{#30127}
-
- 05 Aug, 2015 2 commits
-
-
conradw authored
BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1270393002 Cr-Commit-Position: refs/heads/master@{#30033}
-
conradw authored
BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1270423003 Cr-Commit-Position: refs/heads/master@{#30032}
-
- 31 Jul, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1265923002 Cr-Commit-Position: refs/heads/master@{#29951}
-
- 30 Jul, 2015 1 commit
-
-
conradw authored
This avoids multiple ToFastProperties runtime calls and additional stack pushes in strong mode. BUG= Review URL: https://codereview.chromium.org/1266573003 Cr-Commit-Position: refs/heads/master@{#29925}
-
- 20 Jul, 2015 1 commit
-
-
mstarzinger authored
This implements the missing %DefaultConstructorCallSuper runtime functionality, thereby allowing all compilers to fall-back to that implementation when the appropriate intrinsic is missing. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1240993002 Cr-Commit-Position: refs/heads/master@{#29753}
-
- 16 Jul, 2015 1 commit
-
-
mstarzinger authored
The aforementioned intrinsic is no longer needed and can be fully desugared now that binding assignments to 'this' are explicit. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1234383002 Cr-Commit-Position: refs/heads/master@{#29706}
-
- 13 Jul, 2015 1 commit
-
-
conradw authored
BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1235883002 Cr-Commit-Position: refs/heads/master@{#29606}
-
- 07 Jul, 2015 1 commit
-
-
yangguo authored
If we compile handlers to call accessors, Debug::HandleStepIn won't get called. Therefore we need to clear ICs each time. This has not been necessary before because we used to patch ICs for breaking, and restored them with cleared ICs. This is no longer the case. We do not use ICs for breaking anymore, so they are not implicitly cleared any longer. R=mvstanton@chromium.org BUG=v8:4269 LOG=N Review URL: https://codereview.chromium.org/1212253009 Cr-Commit-Position: refs/heads/master@{#29518}
-