- 15 Jan, 2016 1 commit
-
-
bmeurer authored
Unify Object::ToObject and Execution::ToObject, and unify all users to go to Object::ToObject directly. Also remove some dead code from the frame details debug API. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1589323002 Cr-Commit-Position: refs/heads/master@{#33327}
-
- 08 Jan, 2016 1 commit
-
-
bmeurer authored
Everything necessary to implement Object.keys efficiently is already available in C++ land for quite some time now, and only the thin JavaScript wrapper was left, so get rid of that as well and move the whole builtin to C++ instead. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1567963002 Cr-Commit-Position: refs/heads/master@{#33167}
-
- 05 Jan, 2016 1 commit
-
-
bmeurer authored
Almost all of the Date builtins always call into C++ at least once anyway, so parsing, compiling and executing the JavaScript wrappers is just a waste of time. The most important part here is the Date constructor itself, which is one of the blockers for new.target in TurboFan, because compiling the Date constructor takes too much time with TurboFan (for no reason since we end up in C++ anway). R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1556333002 Cr-Commit-Position: refs/heads/master@{#33109}
-
- 15 Dec, 2015 1 commit
-
-
yangguo authored
We used to flood the handler when preparing for stepping, even if we may not throw. Instead, we now flood the handler only when we actually throw. This also solves an issue with step-next when we throw and leave the function unexpectedly. In combination with microtasks, this could cause a crash. R=mstarzinger@chromium.org BUG=chromium:568477 LOG=N Review URL: https://codereview.chromium.org/1527593002 Cr-Commit-Position: refs/heads/master@{#32856}
-
- 09 Dec, 2015 3 commits
-
-
verwaest authored
Make Error.prototype.toString spec compliant; and fix various side-effect-free error printing methods R=yangguo@chromium.org LOG=n Committed: https://crrev.com/5dffa35350d0f57402806e6bd87a914e1d5933e4 Cr-Commit-Position: refs/heads/master@{#32695} Review URL: https://codereview.chromium.org/1507273002 Cr-Commit-Position: refs/heads/master@{#32720}
-
machenbach authored
Revert of Make Error.prototype.toString spec compliant; and fix various side-effect-free error printing metho… (patchset #2 id:20001 of https://codereview.chromium.org/1507273002/ ) Reason for revert: [Sheriff] Breaks layout tests. Please rebase upstream first: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3334 Original issue's description: > Make Error.prototype.toString spec compliant; and fix various side-effect-free error printing methods > > R=yangguo@chromium.org > LOG=n > > Committed: https://crrev.com/5dffa35350d0f57402806e6bd87a914e1d5933e4 > Cr-Commit-Position: refs/heads/master@{#32695} TBR=yangguo@chromium.org,bmeurer@chromium.org,verwaest@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1510173002 Cr-Commit-Position: refs/heads/master@{#32700}
-
verwaest authored
Make Error.prototype.toString spec compliant; and fix various side-effect-free error printing methods R=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1507273002 Cr-Commit-Position: refs/heads/master@{#32695}
-
- 23 Nov, 2015 1 commit
-
-
jochen authored
BUG=2487 R=ulan@chromium.org LOG=n Review URL: https://codereview.chromium.org/1457223005 Cr-Commit-Position: refs/heads/master@{#32164}
-
- 19 Nov, 2015 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1448933002 Cr-Commit-Position: refs/heads/master@{#32120}
-
- 12 Nov, 2015 1 commit
-
-
ishell authored
This CL fixes several sources of non-predictability by making Platform::MonotonicallyIncreasingTime() the only bottleneck for all time-querying functions and providing PredictablePlatform implementation. Review URL: https://codereview.chromium.org/1415383004 Cr-Commit-Position: refs/heads/master@{#31959}
-
- 02 Nov, 2015 1 commit
-
-
yangguo authored
R=jkummerow@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1406113007 Cr-Commit-Position: refs/heads/master@{#31714}
-
- 23 Oct, 2015 1 commit
-
-
jochen authored
BUG=none LOG=y R=verwaest@chromium.org,bmeurer@chromium.org,rossberg@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng Review URL: https://codereview.chromium.org/1423723002 Cr-Commit-Position: refs/heads/master@{#31519}
-
- 29 Sep, 2015 1 commit
-
-
bmeurer authored
This adds ES6 compliant Object::ToInteger, Object::ToInt32, Object::ToUint32 and Object::ToLength, and replaces the old Execution wrappers of those abstract operations (which were not using the correct ToPrimitive). This also introduces proper %ToInteger and %ToLength runtime entries, with a fast path %_ToInteger supported in fullcodegen and Crankshaft (for now). Internal JavaScript code should use TO_INTEGER and TO_LENGTH respectively. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1378533002 Cr-Commit-Position: refs/heads/master@{#30993}
-
- 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 1 commit
-
-
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}
-
- 17 Sep, 2015 3 commits
-
-
bmeurer authored
Currently Execution::Call (and friends) still duplicate a lot of the Call sequence logic that should be encapsulated in the Call and CallFunction builtins. So the plan now is to switch Execution::Call to accept any Callable and just pass that through to the Call builtin. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg R=jarin@chromium.org BUG=v8:4413 LOG=n Committed: https://crrev.com/359645f48156e15f235e9a9ede7910e0bcd9ae45 Cr-Commit-Position: refs/heads/master@{#30791} Review URL: https://codereview.chromium.org/1353723002 Cr-Commit-Position: refs/heads/master@{#30808}
-
machenbach authored
Revert of [runtime] Initial step towards switching Execution::Call to callable. (patchset #1 id:1 of https://codereview.chromium.org/1353723002/ ) Reason for revert: [Sheriff] Causes a dcheck failure in layout tests (and some test changes in release): https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Linux_64__dbg_/1442/layout-test-results/virtual/android/fullscreen/api/element-request-fullscreen-top-stderr.txt from http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/1442 Original issue's description: > [runtime] Initial step towards switching Execution::Call to callable. > > Currently Execution::Call (and friends) still duplicate a lot of the > Call sequence logic that should be encapsulated in the Call and > CallFunction builtins. So the plan now is to switch Execution::Call > to accept any Callable and just pass that through to the Call builtin. > > CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg > R=jarin@chromium.org > BUG=v8:4413 > LOG=n > > Committed: https://crrev.com/359645f48156e15f235e9a9ede7910e0bcd9ae45 > Cr-Commit-Position: refs/heads/master@{#30791} TBR=jarin@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4413 Review URL: https://codereview.chromium.org/1346763005 Cr-Commit-Position: refs/heads/master@{#30793}
-
bmeurer authored
Currently Execution::Call (and friends) still duplicate a lot of the Call sequence logic that should be encapsulated in the Call and CallFunction builtins. So the plan now is to switch Execution::Call to accept any Callable and just pass that through to the Call builtin. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg R=jarin@chromium.org BUG=v8:4413 LOG=n Review URL: https://codereview.chromium.org/1353723002 Cr-Commit-Position: refs/heads/master@{#30791}
-
- 10 Sep, 2015 1 commit
-
-
bmeurer authored
Replace the ADD, SUB, etc. builtins with proper runtime implementations, and expose them as runtime calls that can be used by the code stubs and the interpreter (for now). Also remove all the support runtime functions for ADD, SUB and friends, namely %NumberAdd, %NumberSub, and so on. R=mstarzinger@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg Review URL: https://codereview.chromium.org/1333843002 Cr-Commit-Position: refs/heads/master@{#30680}
-
- 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}
-
- 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}
-
- 28 Aug, 2015 1 commit
-
-
bmeurer authored
This is the first step towards a spec compliant ToPrimitive implementation (and therefore spec compliant ToNumber, ToString, ToName, and friends). It adds support for the @@toPrimitive symbol that was introduced with ES2015, and also adds the new Symbol.prototype[@@toPrimitive] and Date.prototype[@@toPrimitive] initial properties. There are now runtime functions for %ToPrimitive, %ToNumber and %ToString, which do the right thing and should be used as fallbacks instead of the hairy runtime.js implementations. I will do the same for the other conversion operations mentioned by the spec in follow up CLs. Once everything is in place we can look into optimizing things further, so that we don't always call into the runtime. Also fixed Date.prototype.toJSON to be spec compliant. R=mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:4307 LOG=y Review URL: https://codereview.chromium.org/1306303003 Cr-Commit-Position: refs/heads/master@{#30434}
-
- 24 Aug, 2015 2 commits
-
-
mstarzinger authored
The simulator uses a separate JS stack, exhaustion of the C stack however is not caught by JS limit checks. This change now lowers the limit of the JS stack accordingly on function calls. R=mvstanton@chromium.org BUG=chromium:522380 TEST=mjsunit/regress/regress-crbug-522380 LOG=n Review URL: https://codereview.chromium.org/1314623002 Cr-Commit-Position: refs/heads/master@{#30334}
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1310253002 Cr-Commit-Position: refs/heads/master@{#30333}
-
- 21 Aug, 2015 1 commit
-
-
binji authored
FutexEmulation::Wait can potentially block forever on a condition variable. We want to allow this to be interrupted (for a debugger, or to terminate the thread, for example). The previous implementation would periodically wake up the waiter to check for interrupts. This CL modifies the StackGuard so it wakes the blocked futex if the thread should be interrupted. BUG=chromium:497295 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1230303005 Cr-Commit-Position: refs/heads/master@{#30311}
-
- 14 Aug, 2015 1 commit
-
-
yangguo authored
This is no longer necessary. Everything the callee needs should be in its context chain. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1289203003 Cr-Commit-Position: refs/heads/master@{#30173}
-
- 10 Aug, 2015 1 commit
-
-
bmeurer authored
No need to provide TO_INT32/TO_UINT32 functions for every native context, as they can be implemented in terms of TO_NUMBER more easily and efficiently. Also remove the obsolete TO_BOOLEAN_FUN_INDEX from the native contexts. Review URL: https://codereview.chromium.org/1275013004 Cr-Commit-Position: refs/heads/master@{#30080}
-
- 31 Jul, 2015 1 commit
-
-
bmeurer authored
This is the initial (big) step towards a more uniform implementation of the ToObject abstract operation (ES6 7.1.13), where we have a fallback implementation in JSReceiver::ToObject() and a fast (hydrogen) CodeStub to deal with the fast case (we should be able to do more cleanup on this in a followup CL). For natives we expose the abstract operation via a %_ToObject intrinsic, also exposed via a macro TO_OBJECT, that unifies the previous confusion with TO_OBJECT_INLINE, ToObject, TO_OBJECT, $toObject and %$toObject. Now the whole implementation of the abstract operation is context independent, meaning we don't need any magic in the builtins object nor the native context. R=mvstanton@chromium.org,yangguo@chromium.org Review URL: https://codereview.chromium.org/1266013006 Cr-Commit-Position: refs/heads/master@{#29953}
-
- 10 Jul, 2015 1 commit
-
-
verwaest authored
For now it uses a pretty slow path for accessing strings by wrapping it into a new temporary wrapper. BUG=v8:4042, v8:3088 LOG=y Review URL: https://codereview.chromium.org/1221303019 Cr-Commit-Position: refs/heads/master@{#29576}
-
- 02 Jun, 2015 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1143153004 Cr-Commit-Position: refs/heads/master@{#28758}
-
- 01 Jun, 2015 1 commit
-
-
erikcorry authored
When compiling on a laptop I like to concatenate the small test files. This makes a big difference to compile times. These changes make that easier. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1163803002 Cr-Commit-Position: refs/heads/master@{#28742}
-
- 28 May, 2015 1 commit
-
-
jochen authored
BUG=4134 R=vogelheim@chromium.org LOG=n Review URL: https://codereview.chromium.org/1154423004 Cr-Commit-Position: refs/heads/master@{#28678}
-
- 21 Apr, 2015 1 commit
-
-
svenpanne authored
Baby steps towards saner #includes... Review URL: https://codereview.chromium.org/1051393003 Cr-Commit-Position: refs/heads/master@{#27958}
-
- 17 Apr, 2015 1 commit
-
-
yangguo authored
Review URL: https://codereview.chromium.org/1083083004 Cr-Commit-Position: refs/heads/master@{#27907}
-
- 16 Apr, 2015 2 commits
-
-
machenbach authored
Revert of Migrate error messages, part 2. (patchset #1 id:1 of https://codereview.chromium.org/1086313003/) Reason for revert: [Sheriff]: This changes layout test expectations e.g. http://build.chromium.org/p/client.v8/builders/V8-Blink%20Win/builds/2964 Original issue's description: > Migrate error messages, part 2. > > Motivation for this is reducing the size of the native context. > > Committed: https://crrev.com/d3b788df0a4ccfedbe6e1df5e214cb6ba2792a65 > Cr-Commit-Position: refs/heads/master@{#27878} TBR=mvstanton@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1095573002 Cr-Commit-Position: refs/heads/master@{#27889}
-
yangguo authored
Motivation for this is reducing the size of the native context. Review URL: https://codereview.chromium.org/1086313003 Cr-Commit-Position: refs/heads/master@{#27878}
-
- 15 Apr, 2015 1 commit
-
-
ulan authored
This fixes TSAN failure caused by race between: - optimizing compiler thread setting climit - and json parser reading climit in the main thread. BUG= Review URL: https://codereview.chromium.org/1031223004 Cr-Commit-Position: refs/heads/master@{#27840}
-
- 14 Apr, 2015 3 commits
-
-
jochen authored
Original issue's description: > Remove support for thread-based recompilation > > BUG=v8:3608 > R=yangguo@chromium.org > LOG=y > > Committed: https://crrev.com/ed5db223a19dfe126af01 > Cr-Commit-Position: refs/heads/master@{#27619} BUG=v8:3608 R=yangguo@chromium.org LOG=y Review URL: https://codereview.chromium.org/1087763003 Cr-Commit-Position: refs/heads/master@{#27821}
-
jochen authored
Revert of Reland "Remove support for thread-based recompilation" (patchset #1 id:1 of https://codereview.chromium.org/1059853004/) Reason for revert: still times out Original issue's description: > Reland "Remove support for thread-based recompilation" > > Original issue's description: > > Remove support for thread-based recompilation > > > > BUG=v8:3608 > > R=yangguo@chromium.org > > LOG=y > > > > Committed: https://crrev.com/ed5db223a19dfe126af012e894582251aa3635d7 > > Cr-Commit-Position: refs/heads/master@{#27619} > > BUG=v8:3608 > R=yangguo@chromium.org > LOG=y > > Committed: https://crrev.com/f1ceccb8b8b352a91e6366e3e3103f1db0df6afb > Cr-Commit-Position: refs/heads/master@{#27813} TBR=yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3608 Review URL: https://codereview.chromium.org/1082183003 Cr-Commit-Position: refs/heads/master@{#27816}
-
jochen authored
Original issue's description: > Remove support for thread-based recompilation > > BUG=v8:3608 > R=yangguo@chromium.org > LOG=y > > Committed: https://crrev.com/ed5db223a19dfe126af012e894582251aa3635d7 > Cr-Commit-Position: refs/heads/master@{#27619} BUG=v8:3608 R=yangguo@chromium.org LOG=y Review URL: https://codereview.chromium.org/1059853004 Cr-Commit-Position: refs/heads/master@{#27813}
-