- 05 Dec, 2014 1 commit
-
-
ulan authored
This combines Map::DoneInobjectSlackTracking and Map::ConstructionCount into one more generic 4-bit counter. Counter values from 15 down to 8 are used for in-object slack tracking, values from 7 down to 0 are free to be used for a new counter when in-object slack tracking is inactive. Review URL: https://codereview.chromium.org/767253002 Cr-Commit-Position: refs/heads/master@{#25689}
-
- 25 Sep, 2014 1 commit
-
-
yangguo@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/597943003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Sep, 2014 1 commit
-
-
titzer@chromium.org authored
Rename Runtime_CompileUnoptimized to Runtime_CompileLazy, because that is what it does. Split Compiler::GetUnoptimizedCode into two variants, one for lazy compilation (which can return optimized code!) and the other that actually returns unoptimized code. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/547293004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/483683005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Aug, 2014 1 commit
-
-
rmcilroy@chromium.org authored
Use LeaveFrame so that the constant pool pointer register is correctly restored when using the out-of-line constant pool. Also clean up duplicate code in builtins-arm.cc. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/469283002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
This way we don't clash with the ASSERT* macros defined by GoogleTest, and we are one step closer to being able to replace our homegrown base/ with base/ from Chrome. R=jochen@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/430503007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Jul, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/352173006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jun, 2014 1 commit
-
-
danno@chromium.org authored
R=jkummerow@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/346413004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 May, 2014 1 commit
-
-
ishell@chromium.org authored
Reland r21442 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis." This fixes inobject slack tracking for prototype inheritance pattern that uses closures. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/292183008 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 May, 2014 4 commits
-
-
ishell@chromium.org authored
Revert "Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."" This reverts r21442. TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/292433016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis." This fixes inobject slack tracking for prototype inheritance pattern that uses closures. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/290993009 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
This reverts r21436. TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/295933012 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
This fixes inobject slack tracking for prototype inheritance pattern that uses closures. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/283383006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 May, 2014 1 commit
-
-
mvstanton@chromium.org authored
The fix is to make the code aging sequence hang off the isolate. BUG=v8:3303 R=svenpanne@chromium.org LOG=N Review URL: https://codereview.chromium.org/261953002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Apr, 2014 1 commit
-
-
mvstanton@chromium.org authored
occur only when custom feedback needs to be gathered (future CLs). Now rebased on https://codereview.chromium.org/254623002/, which moves the type feedback vector to the SharedFunctionInfo. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/247373002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Apr, 2014 1 commit
-
-
yangguo@chromium.org authored
Motivation: we do not have test coverage for debuggersupport=off. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/256653004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2014 1 commit
-
-
svenpanne@chromium.org authored
This is a purely mechanical change, adding an Isolate* to the CodeStub constructor and a corresponding field plus a getter. A few methods in CodeStub and its subclasses can be simplified now, but this is done in a separate CL. The underlying reason apart from simplicity is that deep down in the call chain we need to detect if the serializer is active or not. This information will be part of the Isolate, not a global variable with funky synchronization primitives around it (which is fundamentally wrong and the underlying cause for race conditions and a catch-22 during initialization). BUG=359977 LOG=y R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/246643014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Apr, 2014 1 commit
-
-
ulan@chromium.org authored
BUG=353058 LOG=N TEST=mjsunit/regress/regress-353058 R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/236633006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Apr, 2014 2 commits
-
-
ulan@chromium.org authored
Reason: mjsunit/regress/regress-353058 failure on GC-stress. TBR=mvstanton@chromium.org Review URL: https://codereview.chromium.org/234813004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
BUG=353058 LOG=N TEST=mjsunit/regress/regress-353058 R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/215853005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Apr, 2014 2 commits
-
-
https://codereview.chromium.org/172523002/mvstanton@chromium.org authored
This reverts commit r20516 due to a Sunspider performance issue. R=ishell@chromium.org Review URL: https://codereview.chromium.org/226233002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
https://codereview.chromium.org/172523002/mvstanton@chromium.org authored
Fixed 1) Missing line in x64 port. 2) GcStress found a logic error in the IC miss handler. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/224903005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Apr, 2014 2 commits
-
-
mvstanton@chromium.org authored
This reverts commit r20474 due to an x64 release issue. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/223823002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
Function calls are handled with a LoadIC and a FunctionCallStub. This works well, but we can create a platform to gather custom feedback by inventing a CallIC. CallIC takes a JSFunction as input, maintains UNINIT/MONO/MEGA state in a feedback slot, and engages in limited patching for the most efficient code. The change creates a degrade in NBody tests, but a follow-on CL addresses it by using this custom feedback platform to give a 45% improvement. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/172523002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Mar, 2014 1 commit
-
-
yangguo@chromium.org authored
R=dslomov@chromium.org Review URL: https://codereview.chromium.org/212163004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Mar, 2014 5 commits
-
-
mvstanton@chromium.org authored
When FLAG_pretenure_call_new is on, we emit mementos on new object creation in full code, and consume the feedback in crankshaft. A key difference in the generated code for stubs is the allocation of an additional type vector slot for the CallNew AST node, which simplifies the CallConstructStub and CallFunctionStub considerably. Some performance tuning still needs to be addressed, therefore the flag is off at this moment, though fully functional. The goal is to remove the flag as soon as possible, which allows much code deletion (yay). R=hpayer@chromium.org Review URL: https://codereview.chromium.org/132963012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
Redefine Array constructor to expect an AllocationSite in the feedback register or undefined. This will make code simpler as we support pretenuring feedback for all constructed objects. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/203173003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
This CL adds out-of-line constant pool support to Arm. A ConstantPoolBuilder object is introduced to manage building of the ConstantPoolArray for a given code object. This CL depends on the following CLs landing first: https://codereview.chromium.org/138503002/ https://codereview.chromium.org/179813005/ https://codereview.chromium.org/183553003/ https://codereview.chromium.org/183803022/ https://codereview.chromium.org/183883011/ https://codereview.chromium.org/186733006/ https://codereview.chromium.org/188063002/ https://codereview.chromium.org/190793002/ https://codereview.chromium.org/190823002/ https://codereview.chromium.org/190833002/ https://codereview.chromium.org/190883002/ R=ulan@chromium.org Review URL: https://codereview.chromium.org/204323004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
This reverts commit r20051. TBR=rmcilroy@chromium.org Review URL: https://codereview.chromium.org/204403002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
This CL adds out-of-line constant pool support to Arm. A ConstantPoolBuilder object is introduced to manage building of the ConstantPoolArray for a given code object. This CL depends on the following CLs landing first: https://codereview.chromium.org/138503002/ https://codereview.chromium.org/179813005/ https://codereview.chromium.org/183553003/ https://codereview.chromium.org/183803022/ https://codereview.chromium.org/183883011/ https://codereview.chromium.org/186733006/ https://codereview.chromium.org/188063002/ https://codereview.chromium.org/190793002/ https://codereview.chromium.org/190823002/ https://codereview.chromium.org/190833002/ https://codereview.chromium.org/190883002/ R=ulan@chromium.org Review URL: https://codereview.chromium.org/191233003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Mar, 2014 1 commit
-
-
rmcilroy@chromium.org authored
Ensure that the stack contains the correct constant pool pointer when a function deopts. This CL depends on https://codereview.chromium.org/183803022/ landing first. R=ulan@chromium.org Review URL: https://codereview.chromium.org/188063002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2014 1 commit
-
-
rmcilroy@chromium.org authored
Adds FrameAndConstantPoolScope and ConstantPoolUnavailableScope to enable scoped management of constant pool availability. Also load constant pool pointer when entering an internal frame scope. R=rodolph.perfetta@arm.com, ulan@chromium.org Review URL: https://codereview.chromium.org/190793002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2014 1 commit
-
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/177683002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Mar, 2014 1 commit
-
-
mvstanton@chromium.org authored
Symbols for type cells. We can make more efficient code to check against type cells in the future if we use symbols, guaranteed not to conflict with user code. Currently, the "symbols" are the hole and undefined. Undefined may come in from the outside. BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/181283003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jan, 2014 1 commit
-
-
jarin@chromium.org authored
call machinery. The change replaces CallNamed, CallKeyed, CallConstantFunction and CallKnownGlobal hydrogen instructions with two new instructions with a more lower level semantics: 1. CallJSFunction for direct calls of JSFunction objects (no argument adaptation) 2. CallWithDescriptor for calls of a given Code object according to the supplied calling convention. Details: CallJSFunction should be straightforward, the main difference from the existing InvokeFunction instruction is the absence of argument adaptor handling. (As a next step, we will replace InvokeFunction with an equivalent hydrogen code.) For CallWithDescriptor, the calling conventions are represented by a tweaked version of CallStubInterfaceDescriptor. In addition to the parameter-register mapping, we also define parameter-representation mapping there. The CallWithDescriptor instruction has variable number of parameters now - this required some simple tweaks in Lithium, which assumed fixed number of arguments in some places. The calling conventions used in the calls are initialized in the CallDescriptors class (code-stubs.h, <arch>/code-stubs-<arch>.cc), and they live in a new table in the Isolate class. I should say I am not quite sure about Representation::Integer32() representation for some of the params of ArgumentAdaptorCall - it is not clear to me wether the params could not end up on the stack and thus confuse the GC. The change also includes an earlier small change to argument adaptor (https://codereview.chromium.org/98463007) that avoids passing a naked pointer to the code entry as a parameter. I am sorry for packaging that with an already biggish change. Performance implications: Locally, I see a small regression (.2% or so). It is hard to say where exactly it comes from, but I do see inefficient call sequences to the adaptor trampoline. For example: ;;; <@78,#24> constant-t bf85aa515a mov edi,0x5a51aa85 ;; debug: position 29 ;;; <@72,#53> load-named-field 8b7717 mov esi,[edi+0x17] ;; debug: position 195 ;;; <@80,#51> constant-s b902000000 mov ecx,0x2 ;; debug: position 195 ;;; <@81,#51> gap 894df0 mov [ebp+0xf0],ecx ;;; <@82,#103> constant-i bb01000000 mov ebx,0x1 ;;; <@84,#102> constant-i b902000000 mov ecx,0x2 ;;; <@85,#102> gap 89d8 mov eax,ebx 89cb mov ebx,ecx 8b4df0 mov ecx,[ebp+0xf0] ;;; <@86,#58> call-with-descriptor e8ef57fcff call ArgumentsAdaptorTrampoline (0x2d80e6e0) ;; code: BUILTIN Note the silly handling of ecx; the hydrogen for this code is: 0 4 s27 Constant 1 range:1_1 <|@ 0 3 t30 Constant 0x5bc1aa85 <JS Function xyz (SharedFunctionInfo 0x5bc1a919)> type:object <|@ 0 1 t36 LoadNamedField t30.[in-object]@24 <|@ 0 1 t38 Constant 0x2300e6a1 <Code> <|@ 0 1 i102 Constant 2 range:2_2 <|@ 0 1 i103 Constant 1 range:1_1 <|@ 0 2 t41 CallWithDescriptor t38 t30 t36 s27 i103 i102 #2 changes[*] <|@ BUG= R=verwaest@chromium.org, danno@chromium.org Review URL: https://codereview.chromium.org/104663004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jan, 2014 2 commits
-
-
verwaest@chromium.org authored
BUG= R=dcarney@chromium.org Review URL: https://codereview.chromium.org/136403005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=dcarney@chromium.org Review URL: https://codereview.chromium.org/131663003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jan, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/104013008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-